1. 12 Sep, 2017 6 commits
    • [multiple changes] · b7051481
      2017-09-12  Bob Duff  <duff@adacore.com>
      
      	* sem_warn.adb: Minor comment.
      
      2017-09-12  Bob Duff  <duff@adacore.com>
      
      	* libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb,
      	libgnat/a-cbmutr.adb, libgnat/a-cborma.adb: Rename New_Item to
      	be Default_Initialized_Item, and apply pragma Unmodified to it,
      	to suppress the warning.
      
      2017-09-12  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add early return
      	for access types.
      
      2017-09-12  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Consider Refined_Global
      	together with Global when ignoring one in CodePeer mode.
      
      2017-09-12  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): In nested
      	package declarations that have a private part enable missing check
      	of the RM rule 13.1.1(11/3): usage names in aspect definitions are
      	resolved at the end of the immediately enclosing declaration list.
      
      From-SVN: r252001
      Arnaud Charlet committed
    • [multiple changes] · fb69239a
      2017-09-12  Bob Duff  <duff@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to
      	Empty.
      
      2017-09-12  Georges-Axel Jaloyan  <jaloyan@adacore.com>
      
      	* debug.adb: Reserving flag -gnatdF for safe pointer checking.
      	* gnat1drv.adb (gnat1drv): Adding the call to the analysis on
      	dF flag.
      	* sem_spark.adb, sem_spark.ads: Implementation of the analysis,
      	in preparation for the evolution of the SPARK language that
      	includes a pointer analysis for checking non-aliasing of access
      	types. The Check_Safe_Pointers function is the entry point, and
      	will traverse the AST and raise compile-time errors everytime
      	it detects non-begign aliasing.  Detailed comments are present
      	in the sem_spark.ads file.
      	* sem_util.adb, sem_util.ads (First_Global, Next_Global): New
      	functions to iterate over the list of globals of a subprogram.
      	* libgnat/system.ads: Add restriction No_Finalization.
      	* gcc-interface/Make-lang.in: Add new file sem_spark.adb and
      	dependency on g-dynhta.adb.
      
      From-SVN: r252000
      Arnaud Charlet committed
    • sem_ch6.adb (Analyze_Expression_Function): Call Check_Dynamically_Tagged_Expression. · 7f9fcce8
      2017-09-12  Bob Duff  <duff@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Call
      	Check_Dynamically_Tagged_Expression.
      	* sem_util.adb (Check_Dynamically_Tagged_Expression): Remove
      	"and then Is_Tagged_Type (Typ)" because there is an earlier
      	"Assert (Is_Tagged_Type (Typ))".
      
      From-SVN: r251999
      Bob Duff committed
    • tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC vectors heap vectors. · cff44c10
      	* tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC
      	vectors heap vectors.  Clean up comments.
      	Make visited_bbs a reference.
      	(profitable_jump_thread_path): Make GC
      	vectors heap vectors.  Clean up comments.
      	Misc cleanups.
      	(convert_and_register_jump_thread_path): Make GC vectors heap
      	vectors.
      	(check_subpath_and_update_thread_path): Same.  Clean up comments.
      	Make visited_bbs a reference.
      	(handle_phi): Abstract common code to to
      	register_jump_thread_path_if_profitable.
      	Rename VAR_BB to DEF_BB.
      	Update comments.
      	Make GC vectors heap vectors.
      	Make visited_bbs a reference.
      	(handle_assignment): Same.
      	(register_jump_thread_path_if_profitable): New.
      	(fsm_find_control_statement_thread_paths): Rename VAR_BB to
      	DEF_BB.
      	Make GC	vectors heap vectors.  Clean up comments.
      	Make visited_bbs a reference.
      	(find_jump_threads_backwards): Make visited_bbs live in the stack.
      	* tree-ssa-threadupdate.c (delete_jump_thread_path): Fix typo in
      	comment.
      
      From-SVN: r251998
      Aldy Hernandez committed
    • Daily bump. · ff3e3d99
      From-SVN: r251996
      GCC Administrator committed
  2. 11 Sep, 2017 28 commits
  3. 10 Sep, 2017 4 commits
    • re PR ada/79441 (gnat.dg/pack9.adb fails) · 2f6c18e0
      	PR ada/79441
      	* gnat.dg/pack9.adb: Robustify.
      
      From-SVN: r251951
      Eric Botcazou committed
    • re PR fortran/34640 (ICE when assigning item of a derived-component to a pointer) · ff3598bc
      2017-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/34640
      	PR fortran/40737
      	PR fortran/55763
      	PR fortran/57019
      	PR fortran/57116
      
      	* expr.c (is_subref_array): Add class pointer array dummies
      	to the list of expressions that return true.
      	* trans-array.c: Add SPAN_FIELD and update indices for
      	subsequent fields.
      	(gfc_conv_descriptor_span, gfc_conv_descriptor_span_get,
      	gfc_conv_descriptor_span_set, is_pointer_array,
      	get_array_span): New functions.
      	(gfc_get_descriptor_offsets_for_info): New function to preserve
      	API for access to descriptor fields for trans-types.c.
      	(gfc_conv_scalarized_array_ref): If the expression is a subref
      	array, make sure that info->descriptor is a descriptor type.
      	Otherwise, if info->descriptor is a pointer array, set 'decl'
      	and fix it if it is a component reference.
      	(build_array_ref): Simplify handling of class array refs by
      	passing the vptr to gfc_build_array_ref rather than generating
      	the pointer arithmetic in this function.
      	(gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set
      	'decl'.
      	(gfc_array_allocate): Set the span field if this is a pointer
      	array. Use the expr3 element size if it is available, so that
      	the dynamic type element size is used.
      	(gfc_conv_expr_descriptor): Set the span field for pointer
      	assignments.
      	* trans-array.h: Prototypes for gfc_conv_descriptor_span_get
      	gfc_conv_descriptor_span_set and
      	gfc_get_descriptor_offsets_for_info added.
      	trans-decl.c (gfc_get_symbol_decl): If a non-class pointer
      	array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove
      	the setting of GFC_DECL_SPAN.
      	(gfc_trans_deferred_vars): Set the span field to zero in thge
      	originating scope.
      	* trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/
      	copy-out to pass subref expressions to a pointer dummy.
      	(gfc_trans_pointer_assignment): Remove code for setting of
      	GFC_DECL_SPAN. Set the 'span' field for non-class pointers to
      	class function results. Likewise for rank remap. In the case
      	that the target is not a whole array, use the target array ref
      	for remap and, since the 'start' indices are missing, set the
      	lbounds to one, as required by the standard.
      	* trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the
      	'token' offset from the field decl in the descriptor.
      	(conv_isocbinding_subroutine): Set the 'span' field.
      	* trans-io.c (gfc_trans_transfer): Always scalarize pointer
      	array io.
      	* trans-stmt.c (trans_associate_var): Set the 'span' field.
      	* trans-types.c (gfc_get_array_descriptor_base): Add the 'span'
      	field to the array descriptor.
      	(gfc_get_derived_type): Pointer array components are marked as
      	GFC_DECL_PTR_ARRAY_P.
      	(gfc_get_array_descr_info): Replaced API breaking code for
      	descriptor offset calling gfc_get_descriptor_offsets_for_info.
      	* trans.c (get_array_span): New function.
      	(gfc_build_array_ref): Simplify by calling get_array_span and
      	obtain 'span' if 'decl' or 'vptr' present.
      	* trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P,
      	as GFC_DECL_PTR_ARRAY_P.
      
      
      2017-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/34640
      	* gfortran.dg/associate_24.f90: New test.
      	* gfortran.dg/assumed_type_2.f90: Adjust some of the tree dump
      	checks.
      	* gfortran.dg/no_arg_check_2.f90: Likewise.
      	* gfortran.dg/pointer_array_1.f90: New test.
      	* gfortran.dg/pointer_array_2.f90: New test.
      	* gfortran.dg/pointer_array_7.f90: New test.
      	* gfortran.dg/pointer_array_8.f90: New test.
      	* gfortran.dg/pointer_array_component_1.f90: New test.
      	* gfortran.dg/pointer_array_component_2.f90: New test.
      	* gfortran.dg/goacc/kernels-alias-4.f95: Bump up both tree scan
      	counts by 1.
      
      	PR fortran/40737
      	* gfortran.dg/pointer_array_3.f90: New test.
      
      	PR fortran/57116
      	* gfortran.dg/pointer_array_4.f90: New test.
      
      	PR fortran/55763
      	* gfortran.dg/pointer_array_5.f90: New test.
      
      	PR fortran/57019
      	* gfortran.dg/pointer_array_6.f90: New test.
      
      2017-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/34640
      	* libgfortran/libgfortran.h: Add span field to descriptor.
      	* libgfortran/libtool-version : Bump up version number to 5:0:0.
      
      From-SVN: r251949
      Paul Thomas committed
    • A partially initialized variable isn't constant. · 7368cfa4
      	* constexpr.c (reduced_constant_expression_p): If
      	CONSTRUCTOR_NO_IMPLICIT_ZERO, check that all fields are initialized.
      
      From-SVN: r251948
      Jason Merrill committed
    • Daily bump. · 84284f02
      From-SVN: r251945
      GCC Administrator committed
  4. 09 Sep, 2017 2 commits