1. 20 Nov, 2015 1 commit
  2. 19 Nov, 2015 31 commits
  3. 18 Nov, 2015 8 commits
    • re PR fortran/59910 (ICE in gfc_conv_array_initializer, at fortran/trans-array.c:5327) · 586dc38b
      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
      Steven G. Kargl committed
    • re PR fortran/43996 (ICE in gfc_conv_array_initializer due to incomplete… · 9231aa17
      re PR fortran/43996 (ICE in gfc_conv_array_initializer due to incomplete 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
      Steven G. Kargl committed
    • Add out-of-line versions of some <stdatomic.h> functions (PR c/65083). · c29c36ad
      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
      Joseph Myers committed
    • trans.c (elaborate_all_entities_for_package): New function extracted from... · 2b2a2e9e
      	* 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
      Eric Botcazou committed
    • ada-tree.h (DECL_INVARIANT_P): New macro. · 64235766
      	* 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
      Eric Botcazou committed
    • nvptx.c (nvptx_process_pars): Fix whitespace. · 5d306e55
      	* 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
      Nathan Sidwell committed
    • misc.c: Move global variables to the top of the file. · 5f29a394
      	* 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
      Eric Botcazou committed
    • Enable condegen in case of cond phis. · 21c7259c
      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
      Aditya Kumar committed