aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-11-19re PR c/68412 (ICE with -Wall -Wextra in fold_binary_loc())Marek Polacek5-1/+90
PR c/68412 * c-typeck.c (parser_build_binary_op): Properly handle C_MAYBE_CONST_EXPR before calling warn_tautological_cmp. * gcc.dg/pr68412-2.c: New test. * gcc.dg/pr68412.c: New test. From-SVN: r230627
2015-11-19fix bootstrap without ISL on old linkersAditya Kumar4-33/+40
With and without this patch passes bootstrap on x86_64-linux with and without ISL. The problem occurs on systems with older linkers that do not remove dead symbols. From-SVN: r230625
2015-11-19reduction-dbl.c: New.Nathan Sidwell8-163/+295
* libgomp.oacc-c-c++-common/reduction-dbl.c: New. * libgomp.oacc-c-c++-common/reduction-flt.c: New. * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef. * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef. * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests and fix. * libgomp.oacc-c-c++-common/reduction-3.c: Likewise. * libgomp.oacc-c-c++-common/reduction-4.c: Likewise. From-SVN: r230621
2015-11-19re PR c++/68396 (function auto-deduced return types get incorrectly ↵Ryan Burn3-0/+35
classified as parameter packs) PR c++/68396 2015-11-19 Ryan Burn <contact@rnburn.com> * pt.c (find_parameter_packs_r) [DECLTYPE_TYPE]: When traversing the DECLTYPE_TYPE_EXPR, set type_pack_expansion_p to false. From-SVN: r230620
2015-11-19revert: rs6000.c (use_toc_relative_ref): Ignore type-limits warning.David Edelsohn2-5/+9
2015-11-19 David Edelsohn <dje.gcc@gmail.com> Revert 2015-11-18 Alan Modra <amodra@gmail.com> * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore type-limits warning. From-SVN: r230619
2015-11-19[Patch, vrp] Allow VRP type conversion folding only for widenings upto word modeSenthil Kumar Selvaraj6-1/+91
* tree.h (desired_pro_or_demotion_p): New function. * tree-vrp.c (simplify_cond_using_ranges): Call it. * gcc.dg/tree-ssa/vrp98.c: New testcase. * gcc.target/avr/uint8-single-reg.c: New testcase. From-SVN: r230618
2015-11-19sem_elab.adb (Check_Internal_Call_Continue): Correction to previous change...Bob Duff2-1/+7
2015-11-19 Bob Duff <duff@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): Correction to previous change: correctly handle generic formals/actuals that look like renamings. From-SVN: r230617
2015-11-19libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New.Ilya Verbin3-138/+183
liboffloadmic/ * plugin/libgomp-plugin-intelmic.cpp (struct TargetImageDesc): New. (ImgDescMap): New typedef. (image_descriptors): New static var. (init): Allocate image_descriptors. (offload): Remove vars2 argument. Pass NULL to __offload_offload1 instead of vars2. (unregister_main_image): New static function. (register_main_image): Call unregister_main_image at exit. (GOMP_OFFLOAD_init_device): Print device number, fix offload args. (GOMP_OFFLOAD_fini_device): Likewise. (get_target_table): Remove vd1g and vd2g, don't pass them to offload. (offload_image): Remove declaration of the struct TargetImage. Free table. Insert new descriptor into image_descriptors. (GOMP_OFFLOAD_unload_image): Call __offload_unregister_image, free the corresponding descriptor, and remove it from address_table and image_descriptors. (GOMP_OFFLOAD_alloc): Print device number, remove vd1g. (GOMP_OFFLOAD_free): Likewise. (GOMP_OFFLOAD_host2dev): Print device number, remove vd1g and vd2g. (GOMP_OFFLOAD_dev2host): Likewise. (GOMP_OFFLOAD_run): Print device number, remove vd1g. * plugin/offload_target_main.cpp (__offload_target_table_p1): Remove vd2, don't pass it to __offload_target_enter. (__offload_target_table_p2): Likewise. (__offload_target_alloc): Likewise. (__offload_target_free): Likewise. (__offload_target_host2tgt_p1): Likewise. (__offload_target_host2tgt_p2): Likewise. (__offload_target_tgt2host_p1): Likewise. (__offload_target_tgt2host_p2): Likewise. (__offload_target_run): Likewise. (__offload_target_tgt2tgt): Remove vd1g, don't pass it to __offload_target_enter. From-SVN: r230614
2015-11-19re PR c++/67409 (tree-cfg.c dereferences a NULL pointer)Jakub Jelinek4-31/+79
PR c++/67409 * decl.c (identify_goto): Add LOC and DIAG_KIND arguments, call emit_diagnostic instead of permerror. (check_previous_goto_1): Adjust identify_goto callers, treat all cases but crossing initialization and entering scope of decl with non-trivial dtor as unconditional hard errors. (check_goto): Use identify_goto. Treat all cases but crossing initialization and entering scope of decl with non-trivial dtor as unconditional hard errors. * g++.dg/eh/goto3.C: New test. Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org> From-SVN: r230613
2015-11-19fwprop.c (update_uses): Use flag_checking instead of gcc_checking_assert.Michael Matz2-1/+7
* fwprop.c (update_uses): Use flag_checking instead of gcc_checking_assert. From-SVN: r230612
2015-11-19Fix typo in doc/gty.texiDavid Malcolm2-2/+7
gcc/ChangeLog: * doc/gty.texi (Support for inheritance): Fix missing parentheses in example. From-SVN: r230609
2015-11-19re PR tree-optimization/68431 (Regression in GCC-6.0.0's optimizer)Marek Polacek4-1/+27
PR tree-optimization/68431 * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition. * gcc.dg/tree-ssa/pr68431.c: New test. From-SVN: r230608
2015-11-19parser.h (struct cp_omp_declare_simd_data): Add clauses member.Cesar Philippidis3-113/+277
gcc/cp/ * parser.h (struct cp_omp_declare_simd_data): Add clauses member. (struct cp_parser): Change type the of oacc_routine to cp_omp_declare_simd_data. * parser.c (cp_ensure_no_oacc_routine): Rework to use cp_omp_declare_simd_data. (cp_parser_simple_declaration): Remove boolean first. Update call to cp_parser_init_declarator. Don't NULL out oacc_routine. (cp_parser_init_declarator): Remove boolean first parameter. Update calls to cp_finalize_oacc_routine. (cp_parser_late_return_type_opt): Handle acc routines. (cp_parser_member_declaration): Remove first variable. Handle acc routines like omp declare simd. (cp_parser_function_definition_from_specifiers_and_declarator): Update call to cp_finalize_oacc_routine. (cp_parser_single_declaration): Update call to cp_parser_init_declarator. (cp_parser_save_member_function_body): Remove first_decl parameter. Update call to cp_finalize_oacc_routine. (cp_parser_finish_oacc_routine): Delete. (cp_parser_oacc_routine): Rework to use cp_omp_declare_simd_data. (cp_parser_late_parsing_oacc_routine): New function. (cp_finalize_oacc_routine): Remove first argument. Add more error handling and set the acc routine and 'omp declare target' attributes. (cp_parser_pragma): Remove unnecessary call to cp_ensure_no_oacc_routine. From-SVN: r230607
2015-11-19nvptx.md (atomic_compare_and_swap<mode>_1, [...]): Input values can be ↵Nathan Sidwell2-3/+8
immediates. * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1, atomic_exchange<mode>): Input values can be immediates. From-SVN: r230606
2015-11-19re PR lto/61313 (configure incorrectly strips $target_alias from ↵Eric Botcazou3-2/+9
PLUGIN_LD_SUFFIX) PR lto/61313 * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified by the user. * configure: Regenerate. From-SVN: r230603
2015-11-19clang-format: Enhance list of FOR_EACH macrosMartin Liska2-1/+5
* clang-format: Enhance list of FOR_EACH macros. From-SVN: r230602
2015-11-19Add clang-format config to contrib folderMartin Liska6-0/+85
* .gitignore: Add .clang-format to ignored files. * Makefile.in: Add clang-format. * Makefile.tpl: Likewise. * clang-format: New file. From-SVN: r230601
2015-11-19re PR target/68408 (broken support for attribute init_priority)Eric Botcazou2-0/+10
PR target/68408 * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine. (DTORS_SECTION_ASM_OP): Likewise. From-SVN: r230598
2015-11-19re PR rtl-optimization/68376 (wrong code at -O1 and above on x86_64-linux-gnu)Jakub Jelinek5-4/+116
PR rtl-optimization/68376 * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if encountering x <= 0 ? ~x : x or x > 0 ? ~x : x. * gcc.c-torture/execute/pr68376-1.c: New test. * gcc.c-torture/execute/pr68376-2.c: New test. From-SVN: r230596
2015-11-19re PR middle-end/68117 (error: invalid PHI argument <<< Unknown tree: ↵Richard Biener2-0/+9
<invalid tree code> >>>) 2015-11-19 Richard Biener <rguenther@suse.de> PR middle-end/68117 * tree-ssa.c (delete_tree_ssa): Revert removal of call to redirect_edge_var_map_destroy. From-SVN: r230594
2015-11-19re PR target/67770 (i386: -fshrink-wrap can interact badly with trampolines)Jakub Jelinek4-1/+56
PR target/67770 * config/i386/i386.md (simple_return): Disable if ix86_static_chain_on_stack is true. * gcc.target/i386/pr67770.c: New test. From-SVN: r230593
2015-11-19re PR preprocessor/60736 (Crash in preprocessor including stdc-predef.h when ↵Jakub Jelinek4-7/+35
it does not exist on glibc-based systems) PR preprocessor/60736 * include/cpplib.h (cpp_errno_filename): New prototype. * errors.c (cpp_errno): Don't handle msgid "" specially, use _(msgid) instead of msgid as argument to cpp_error. (cpp_errno_filename): New function. * files.c (read_file_guts): Use cpp_errno_filename instead of cpp_errno. (open_file_failed): Likewise. Use file->name if file->path is NULL in diagnostics. From-SVN: r230591
2015-11-19PR 68393: Handle SUBREG_PROMOTED_VAR_P in expand_direct_optab_fnRichard Sandiford2-7/+29
Do the usual dance when assigning to SUBREG_PROMOTED_VAR_P destinations: first convert to the outer mode, then extend to the inner mode. Tested that it fixes the powerpc64le-linux-gnu breakage. Also tested on x86_64-linux-gnu and powerpc64-linux-gnu. gcc/ PR bootstrap/68393 * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P destinations. From-SVN: r230590
2015-11-18c-common.c (shorten_compare): Don't -Wtype-limits if the non-constant ↵Jason Merrill3-1/+19
operand comes from a macro. * c-common.c (shorten_compare): Don't -Wtype-limits if the non-constant operand comes from a macro. From-SVN: r230589
2015-11-18[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threadingJeff Law5-12/+101
PR tree-optimization/68198 * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish between threading a multi-way branch and a thread path that contains a multi-way branch. Disallow the case where a path contains a multi-way branch and does not thread a multi-way branch. (thread_through_all_blocks): Update comment. PR tree-optimization/68198 * gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1. * gcc.dg/tree-ssa/pr68198.c: New test. From-SVN: r230586
2015-11-19Daily bump.GCC Administrator1-1/+1
From-SVN: r230585
2015-11-18re PR fortran/59910 (ICE in gfc_conv_array_initializer, at ↵Steven G. Kargl4-0/+28
fortran/trans-array.c:5327) 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/59910 * primary.c (gfc_match_structure_constructor): Reduce a structure constructor in a DATA statement. 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/59910 * gfortran.dg/pr59910.f90: New test. From-SVN: r230580
2015-11-18re PR fortran/43996 (ICE in gfc_conv_array_initializer due to incomplete ↵Steven G. Kargl4-4/+34
simplification of init expressions) 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/43996 * simplify.c (gfc_simplify_spread): Issue error for too large array constructor in a PARAMETER statement. 2015-11-18 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/43996 * gfortran.dg/pr43996.f90: New test. From-SVN: r230579
2015-11-18Add out-of-line versions of some <stdatomic.h> functions (PR c/65083).Joseph Myers13-6/+223
PR c/65083 notes that some functions in <stdatomic.h> are normal functions, not generic functions, and so need to have out-of-line copies that can be called when macro expansion is suppressed (unlike the generic functions where DR#419 makes it undefined if you suppress a macro expansion). This patch adds such out-of-line definitions in libatomic for those six functions, at a new LIBATOMIC_1.2 symbol version, as trivial wrappers to the <stdatomic.h> macros, along with declarations of those functions in <stdatomic.h>. Tests are added that are based on the corresponding tests for the macros, but with parentheses around the function names to force the out-of-line functions to be used. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence) (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit) (atomic_flag_clear, atomic_flag_clear_explicit): Declare as functions before defining as macros. gcc/testsuite: * gcc.dg/atomic/stdatomic-fence-2.c, gcc.dg/atomic/stdatomic-flag-2.c: New tests. libatomic: * fence.c, flag.c: New files. * Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c. * Makefile.in: Regenerate. * configure.ac (libtool_VERSION): Change to 3:0:2. * configure: Regenerate. * libatomic.map (LIBATOMIC_1.2): New symbol version. From-SVN: r230578
2015-11-18trans.c (elaborate_all_entities_for_package): New function extracted from...Eric Botcazou2-29/+79
* gcc-interface/trans.c (elaborate_all_entities_for_package): New function extracted from... Recurse on packages. (elaborate_all_entities): ...here. Call it on packages. From-SVN: r230576
2015-11-18ada-tree.h (DECL_INVARIANT_P): New macro.Eric Botcazou12-316/+519
* gcc-interface/ada-tree.h (DECL_INVARIANT_P): New macro. * gcc-interface/gigi.h (enum standard_datatypes): Remove ADT_longjmp_decl and add ADT_not_handled_by_others_decl. (longjmp_decl): Delete. (not_handled_by_others_decl): New macro. (build_simple_component_ref): Delete. (build_component_ref): Adjust prototype. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to build_component_ref. (gnat_to_gnu_field): Set DECL_INVARIANT_P on discriminants without default value. * gcc-interface/trans.c (gigi): Reorder initialization sequence and add not_handled_by_others_decl. (Attribute_to_gnu): Adjust calls to build_component_ref. (Subprogram_Body_to_gnu): Likewise. (Call_to_gnu): Likewise. (Exception_Handler_to_gnu_sjlj): Likewise. (gnat_to_gnu): Likewise. (range_check_info_d): Add inserted_cond field. (Loop_Statement_to_gnu): Make two passes on the recorded range checks. (build_noreturn_cond): New static function. (Raise_Error_to_gnu): Record range checks in loops at -O1 and above. (make_invariant): New static function. (Loop_Statement_to_gnu): Use it to compute invariant expressions for the loop bounds if possible, but do not require it if loop unswitching is enabled. * gcc-interface/utils.c (convert_to_fat_pointer): Likewise. (convert): Likewise. (maybe_unconstrained_array): Likewise. Call it instead of build_simple_component_ref and add guard for CONSTRUCTORs. (unchecked_convert): Likewise. * gcc-interface/utils2.c (compare_fat_pointers): Likewise. (build_simple_component_ref): Remove COMPONENT parameter, unify code dealing with VIEW_CONVERT_EXPR and make it more general, remove special treatment for CONSTRUCTORs of template types. (build_component_ref): Remove COMPONENT parameter and adjust call to build_simple_component_ref. (maybe_wrap_malloc): Likewise. (build_allocator): Likewise. (gnat_invariant_expr): Look through overflow checks, deal with addition and subtraction of constants and take into account DECL_INVARIANT_P for the COMPONENT_REF case. From-SVN: r230575
2015-11-18nvptx.c (nvptx_process_pars): Fix whitespace.Nathan Sidwell2-22/+14
* config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace. (nvptx_record_offload_symbol): Remove code compensating for lack of default dimension handling. (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers. From-SVN: r230571
2015-11-18misc.c: Move global variables to the top of the file.Eric Botcazou4-30/+58
* gcc-interface/misc.c: Move global variables to the top of the file. (gnat_handle_option): Remove obsolete ATTRIBUTE_UNUSED markers. (gnat_init_options): Minor tweak. (gnat_post_options): Set -fstrict-overflow if not done by the user. (internal_error_function): Minor reformatting. From-SVN: r230569
2015-11-18Enable condegen in case of cond phis.Aditya Kumar2-62/+122
The codegen of conditional PHIs inside the scop where one predecessor dominates the other was difficult so it wasn't enabled in the previous patch. After a couple of bug-fixes this has been enabled in this patch. Not all the cases could be handled in this case because it becomes difficult to map the basic block back to original code in some cases. Bug-fixes: 1. The vec_find returns -1 when no element was found. This wasn't checked. 2. When the arguments to pending phis could not be resolved in the second pass, the codegen would fail so the new code should be cleaned up. This patch passes regtest and bootstrap on linux-x86-64 with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize' 2015-11-14 hiraditya <hiraditya@msn.com> * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return type to bool for early exit. (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return in case of error. (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. (add_phi_arg_for_new_expr): Enable codegen for if-block where one predecessor dominates the other. (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the element is not found it returns -1. (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail out early when codegen fails. (graphite_regenerate_ast_isl): Remove codegen region when pending phis could not be generated. From-SVN: r230567
2015-11-18Move codegen related functions to graphite-isl-ast-to-gimple.cAditya Kumar5-1661/+1956
No functional changes intended. This patch passes regtest and bootstrap on linux-x86-64 with BOOT_CFLAGS='-O2 -fgraphite-identity -floop-nest-optimize' gcc/ChangeLog: 2015-11-14 hiraditya <hiraditya@msn.com> * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove semicolon. (class translate_isl_ast_to_gimple): Indentation. (translate_pending_phi_nodes): Comment. (add_parameters_to_ivs_params): Moved from sese.c inside class translate_isl_ast_to_gimple. (get_max_schedule_dimensions): Same. (generate_isl_context): Same. (extend_schedule): Same. (generate_isl_schedule): Same. (set_options): Same. (scop_to_isl_ast): Same. (is_valid_rename): Same. (get_rename): Same. (get_rename_from_scev): Same. (get_def_bb_for_const): Same. (get_new_name): Same. (collect_all_ssa_names): Same. (copy_loop_phi_args): Same. (copy_loop_phi_nodes): Same. (copy_loop_close_phi_args): Same. (copy_loop_close_phi_nodes): Same. (copy_cond_phi_args): Same. (copy_cond_phi_nodes): Same. (graphite_copy_stmts_from_block): Same. (copy_bb_and_scalar_dependences): Same. (add_phi_arg_for_new_expr): Same. (rename_uses): Same. (set_rename): Same. (set_rename_for_each_def): Same. (gsi_insert_earliest): Same. (rename_all_uses): Same. (codegen_error_p): Same. (print_isl_ast_node): Same. (translate_isl_ast_for_loop): Call function codegen_error_p. (translate_isl_ast_to_gimple::translate_isl_ast): Same. (translate_isl_ast_node_user): Make nb_loops const and release iv_map before exit. (get_true_edge_from_guard_bb): Move all free-functions early. (get_false_edge_from_guard_bb): Same. (bb_contains_loop_close_phi_nodes): Same. (bb_contains_loop_phi_nodes): Same. (is_loop_closed_ssa_use): Same. (number_of_phi_nodes): Same. (phi_uses_name): Same. (later_of_the_two): Same. (substitute_ssa_name): (get_edges): Same. (get_loc): Same. (get_loop_init_value): Same. (find_init_value): Same. (find_init_value_close_phi): Same. (ast_build_before_for): Same. (graphite_regenerate_ast_isl): Formatting changes. * graphite-scop-detection.c (build_cross_bb_scalars_use): Same. * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c (set_rename): Same. (gsi_insert_earliest): Same. (collect_all_ssa_names): Same. (rename_all_uses): Same. (rename_uses): Same. (get_def_bb_for_const): Same. (copy_loop_phi_nodes): Same. (copy_loop_close_phi_args): Same. (copy_loop_close_phi_nodes): Same. (copy_cond_phi_args): Same. (copy_cond_phi_nodes): Same. (set_rename_for_each_def): Same. (graphite_copy_stmts_from_block): Same. (copy_bb_and_scalar_dependences): Same. (if_region_set_false_region): Same. (scev_analyzable_p): Same. * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c From-SVN: r230566
2015-11-18freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the commit from r125920 for ↵Andreas Tobler2-5/+20
FreeBSD. 2015-11-18 Andreas Tobler <andreast@gcc.gnu.org> * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the commit from r125920 for FreeBSD. From-SVN: r230565
2015-11-18Support GGC finalizers with PCH.Jason Merrill2-31/+70
* ggc-page.c (ggc_globals): Change finalizers and vec_finalizers to be vecs of vecs. (add_finalizer): Split out from ggc_internal_alloc. (ggc_handle_finalizers): Run finalizers for the current depth. (init_ggc, ggc_pch_read): Reserve space for finalizers. From-SVN: r230564
2015-11-18re PR target/68410 (config/nios2/nios2.c: 4123: duplicates in expression)Sandra Loosemore2-2/+8
2015-11-18 Sandra Loosemore <sandra@codesourcery.com> PR target/68410 * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests from || expression. From-SVN: r230563
2015-11-18avr-mcus.def: Add new avr4 devices atmega48pb and atmega88pb.Pitchumani Sivanupandi3-2/+16
* config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb and atmega328pb. * doc/avr-mmcu.texi: Regenerate. From-SVN: r230562
2015-11-18nvptx.c (bb_pair_t, [...]): New types.Nathan Sidwell4-5/+702
gcc/ * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types. (pseudo_node_t, struct bracket, bracket_vec_t): New types. (struct bb_sese): New struct. (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New. (BB_GET_SESE, BB_SET_SESE): Define. (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New. (nvptx_find_sese): New. (nvptx_neuter_pars): Find SESE regions when optimizing. gcc/testsuite/ * gcc.dg/goacc/nvptx-sese-1.c: New. From-SVN: r230561
2015-11-18decl.c (gnat_to_gnu_entity): Use case #1 for the renaming of an address.Eric Botcazou5-2/+30
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use case #1 for the renaming of an address. From-SVN: r230560
2015-11-18trans.c (fold_constant_decl_in_expr): If the index is not itself constant ↵Eric Botcazou2-0/+8
then bail out. * gcc-interface/trans.c (fold_constant_decl_in_expr) <ARRAY_REF>: If the index is not itself constant then bail out. From-SVN: r230558
2015-11-18Add PR marker to last changeJeff Law1-0/+1
From-SVN: r230556
2015-11-18split-path-1.c: Fix the testcase to avoid undefined behaviour.Ajit Agarwal2-7/+14
* gcc.dg/tree-ssa/split-path-1.c: Fix the testcase to avoid undefined behaviour. From-SVN: r230555
2015-11-18cp-gimplify.c (cp_fold_r): Add support for OACC_LOOP.Cesar Philippidis2-1/+6
gcc/cp/ * cp-gimplify.c (cp_fold_r): Add support for OACC_LOOP. From-SVN: r230554
2015-11-18rs6000.c (use_toc_relative_ref): Ignore type-limits warning.Alan Modra2-0/+10
2015-11-18 Alan Modra <amodra@gmail.com> * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore type-limits warning. From-SVN: r230551
2015-11-18PR 68406: Avoid problem with older host compilersRichard Sandiford2-1/+6
Older compilers require the Key typedef to be expanded for the traversal function templates. This patch uses the same approach as we did for hash_map. Tested on x86_64-linux-gnu. gcc/ PR bootstrap/68406 * hash-set.h (hash_set::traverse): Expand Key typedef. From-SVN: r230549
2015-11-18Finalize func_options in arm target inMartin Liska2-0/+7
* config/arm/arm.c (arm_valid_target_attribute_p): Finalize options struct. From-SVN: r230548
2015-11-18sem_ch4.adb (Try_Container_Indexing): When constructing the parameter list ↵Ed Schonberg3-3/+32
for the potentially overloaded calls to... 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Try_Container_Indexing): When constructing the parameter list for the potentially overloaded calls to indexing functions, do not propagate overloadings if the actual is a named association: overloadings appear directly on the expression in the association. 2015-11-18 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Interface_Present_In_Ancestor): If the type is incomplete, the list of ancestors is found either on the full view or the non-limited view of the type. From-SVN: r230547
2015-11-18[multiple changes]Arnaud Charlet19-394/+774
2015-11-18 Nicolas Roche <roche@adacore.com> * sysdep.c (__gnat_localtime_tzoff): On Windows platform GetTimeZoneInformation function is thread-safe. Thus there is no need to lock the runtime in the implementation of __gnat_localtime_tzoff on that platform. 2015-11-18 Eric Botcazou <ebotcazou@adacore.com> * s-arit64.adb (To_Neg_Int): Add a special case for 2**63 input. 2015-11-18 Hristian Kirtchev <kirtchev@adacore.com> * contracts.adb (Analyze_Contracts): New routine. (Analyze_Enclosing_Package_Body_Contract): Removed. (Analyze_Entry_Or_Subprogram_Contract): Add formal parameter Freeze_Id. Propagate the entity of the freezing body to vaious analysis routines. (Analyze_Initial_Declaration_Contract): Removed. (Analyze_Object_Contract): Add formal parameter Freeze_Id. Propagate the entity of the freezing body to vaious analysis routines. (Analyze_Previous_Contracts): New routine. * contracts.ads (Analyze_Enclosing_Package_Body_Contract): Removed. (Analyze_Contracts): New routine. (Analyze_Entry_Or_Subprogram_Contract): Add formal parameter Freeze_Id and update the comment on usage. (Analyze_Initial_Declaration_Contract): Removed. (Analyze_Object_Contract): Add formal parameter Freeze_Id and update the comment on usage. (Analyze_Previous_Contracts): New routine. * sem_ch3.adb (Analyze_Declarations): Use Analyze_Contracts to analyze all contracts of eligible constructs. * sem_ch6.adb (Analyze_Generic_Subprogram_Body): A body no longer freezes the contract of its initial declaration. This effect is achieved through different means. (Analyze_Subprogram_Body_Helper): A body now freezes the contracts of all eligible constructs that precede it. A body no longer freezes the contract of its initial declaration. This effect is achieved through different means. * sem_ch7.adb (Analyze_Package_Body_Helper): A body now freezes the contracts of all eligible constructs that precede it. A body no longer freezes the contract of its initial declaration. This effect is achieved through different means. * sem_ch9.adb (Analyze_Entry_Body): A body now freezes the contracts of all eligible constructs that precede it. A body no longer freezes the contract of its initial declaration. This effect is achieved through different means. (Analyze_Protected_Body): A body now freezes the contracts of all eligible constructs that precede it. A body no longer freezes the contract of its initial declaration. This effect is achieved through different means. (Analyze_Task_Body): A body now freezes the contracts of all eligible constructs that precede it. A body no longer freezes the contract of its initial declaration. This effect is achieved through different means. * sem_prag.adb (Add_Item_To_Name_Buffer): Single protected/task objects now output their respective current instance of xxx type messages. (Analyze_Contract_Cases_In_Decl_Part): Add formal parameter Freeze_Id. Emit a clarification message when an undefined entity may the byproduct of contract freezing. (Analyze_Part_Of_In_Decl_Part): Add formal parameter Freeze_Id. Emit a clarification message when an undefined entity may the byproduct of contract freezing. (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter Freeze_Id. Emit a clarification message when an undefined entity may the byproduct of contract freezing. (Analyze_Refined_State_In_Decl_Part): Do not report unused body states as constituents of single protected/task types may not bave been identified yet. (Collect_Subprogram_Inputs_Outputs): Reimplemented. (Contract_Freeze_Error): New routine. (Process_Overloadable): Use predicate Is_Single_Task_Object. * sem_prag.ads (Analyze_Contract_Cases_In_Decl_Part): Add formal parameter Freeze_Id and update the comment on usage. (Analyze_Part_Of_In_Decl_Part): Add formal parameter Freeze_Id and update the comment on usage. (Analyze_Pre_Post_Condition_In_Decl_Part): Add formal parameter Freeze_Id and update the comment on usage. * sem_util.adb (Check_Unused_Body_States): Remove global variable Legal_Constits. The routine now reports unused body states regardless of whether constituents are legal or not. (Collect_Body_States): A constituent of a single protected/task type is not a visible state of a package body. (Collect_Visible_States): A constituent of a single protected/task type is not a visible state of a package body. (Has_Undefined_Reference): New routine. (Is_Single_Concurrent_Object): Reimplemented. (Is_Single_Protected_Object): New routine. (Is_Single_Task_Object): New routine. (Is_Visible_Object): New routine. (Report_Unused_Body_States): Moved to Check_Unused_Body_States. * sem_util.ads (Check_Unused_Body_States): Update the comment on usage. (Has_Undefined_Reference): New routine. (Is_Single_Protected_Object): New routine. (Is_Single_Task_Object): New routine. (Report_Unused_Body_States): Moved to Check_Unused_Body_States. 2015-11-18 Pierre-Marie de Rodat <derodat@adacore.com> * Makefile.rtl, impunit.adb: Add g-strhas.ads. * g-strhas.ads: New file. * s-strhas.ads: Add a comment to redirect users to g-strhas.ads. 2015-11-18 Bob Duff <duff@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): Fix the case where the call in question is to a renaming of a subprogram that can be safely called without ABE. * checks.adb: Minor edits. From-SVN: r230546