1. 27 Apr, 2017 10 commits
    • [multiple changes] · 6cbfce7e
      2017-04-27  Claire Dross  <dross@adacore.com>
      
      	* a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to
      	modifications in functional containers.
      	* a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat
      	to improve readablity. Subprograms are separated between basic
      	operations, constructors and properties. Universally quantified
      	formulas in contracts are factorized in independant functions
      	with a name and a comment.  Names of parameters are improved.
      
      2017-04-27  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_res.adb (Resolve_Type_Conversion): Do not
      	install a predicate check here since this is already done during
      	the expansion phase. Verify whether the operand satisfies the
      	static predicate (if any) of the target type.
      	* sem_ch3.adb (Analyze_Object_Declaration): Do
      	not install a predicate check if the object is initialized by
      	means of a type conversion because the conversion is subjected
      	to the same check.
      
      2017-04-27  Tristan Gingold  <gingold@adacore.com>
      
      	* raise.c (__gnat_builtin_longjmp): Remove.
      	(__gnat_bracktrace):
      	Add a dummy definition for the compiler (__gnat_eh_personality,
      	__gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19,
      	__gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30,
      	__gnat_rcheck_31, __gnat_rcheck_32): Likewise.
      	* a-exexpr.adb: Renamed from a-exexpr-gcc.adb
      	* a-except.ads, a-except.adb: Renamed from a-except-2005.ads
      	and a-except-2005.adb.
      	* raise-gcc.c: Allow build in compiler, compiled as a C++
      	file.
      	(__gnat_Unwind_ForcedUnwind): Adjust prototype.
      	(db): Constify msg_format.
      	(get_call_site_action_for): Don't use void arithmetic.
      	* system.ads (Frontend_Exceptions): Set to False.
      	(ZCX_By_Default): Set to True.
      	(GCC_ZC_Support): Set to True.
      	* gcc-interface/Makefile.in: No more variants for a-exexpr.adb and
      	a-except.ad[sb].
      	* gcc-interface/Make-lang.in: Add support for backend zcx exceptions
      	in gnat1 and gnatbind.
      	* gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o,
      	s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o
      	* s-excmac.ads, s-excmac.adb: Copy of variants.
      	* a-except.o: Adjust preequisites.
      	Add handling of s-excmac-arm.adb and s-excmac-gcc.adb.
      
      From-SVN: r247301
      Arnaud Charlet committed
    • PR demangler/80513 check for overflows and invalid characters in thunks · de3b531c
      	PR demangler/80513
      	* cp-demangle.c (d_number): Check for overflow.
      	* cplus-dem.c (consume_count): Fix overflow check.
      	(gnu_special): Check for underscore after thunk delta.
      	* testsuite/demangle-expected: Add tests for overflows and invalid
      	characters in thunks.
      
      From-SVN: r247300
      Jonathan Wakely committed
    • [multiple changes] · e77e2429
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb,
      	cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb,
      	a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting.
      
      2017-04-27  Tristan Gingold  <gingold@adacore.com>
      
      	* s-excmac-gcc.ads, s-excmac-gcc.adb,
      	s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in
      	Ada95.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Establish_Transient_Scope): Rewrite
      	the loop which detects potential enclosing transient scopes. The
      	loop now terminates much earlier as transient scopes are bounded
      	by packages and subprograms.
      
      2017-04-27  Claire Dross  <dross@adacore.com>
      
      	* a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to
      	allow the use of regular equality over elements in contracts.
      	(Cursor): Type is now public so that it can be used in
      	model functions.
      	(Formal_Model): Ghost package containing
      	model functions that are used in subprogram contracts.
      	(Current_To_Last): Removed, model functions should be used
      	instead.
      	(First_To_Previous): Removed, model functions should
      	be used instead.
      	(Strict_Equal): Removed, model functions
      	should be used instead.
      	(Append): Default parameter value
      	replaced by new wrapper to allow more precise contracts.
      	(Insert): Default parameter value replaced by new wrapper to
      	allow more precise contracts.
      	(Delete): Default parameter
      	value replaced by new wrapper to allow more precise contracts.
      	(Prepend): Default parameter value replaced by new wrapper to
      	allow more precise contracts.
      	(Delete_First): Default parameter
      	value replaced by new wrapper to allow more precise contracts.
      	(Delete_Last): Default parameter value replaced by new wrapper
      	to allow more precise contracts.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_spark.adb (Expand_SPARK): Perform specialized expansion
      	for object declarations.
      	(Expand_SPARK_N_Object_Declaration): New routine.
      	* sem_elab.adb (Check_A_Call): Include calls to the
      	Default_Initial_Condition procedure of a type under the SPARK
      	elaboration checks umbrella.
      
      From-SVN: r247299
      Arnaud Charlet committed
    • [multiple changes] · 7a71a7c4
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem.adb (Analyze): Diagnose an illegal iterated component
      	association.
      	* sem_util.ads, sem_util.adb
      	(Diagnose_Iterated_Component_Association): New routine.
      
      2017-04-27  Bob Duff  <duff@adacore.com>
      
      	* adaint.c (__gnat_get_current_dir): Return 0 in length if
      	getcwd fails.
      	* a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise
      	exception if getcwd failed.
      
      2017-04-27  Yannick Moy  <moy@adacore.com>
      
      	* exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost
      	entities with special prefix.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* debug.adb Change the documentation of switch -gnatd.s.
      	* exp_ch7.adb (Make_Transient_Block): Transient blocks do not need
      	to manage the secondary stack when an enclosing scope already
      	performs this functionality (aka relaxed management). Switch
      	-gnatd.s may be used to force strict management in which case
      	the block will manage the secondary stack unconditionally. Add
      	a guard to stop the traversal when encountering a package or a
      	subprogram scope.
      
      2017-04-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Call): Refine further the handling of
      	limited views of return types in function calls. If the function
      	that returns a limited view appears in the current unit,
      	we do not replace its type by the non-limited view because
      	this transformation is performed int the back-end. However,
      	the type of the call itself must be the non-limited view, to
      	prevent spurious resolution errors.
      
      2017-04-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds):
      	Removed, proposed implementation using generics for class-wide
      	preconditions proved impractical.
      	(Class_Wide_Clone): New attribute of subprogram. Designates
      	subprogram created for primitive operations with class-wide
      	pre/postconditions that contain calls to other primitives. The
      	clone holds the body of the original primitive, but the
      	pre/postonditions do not apply to it. The original body is
      	rewritten as a wrapper for a call to the clone.
      	(Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If
      	the flag is set, no code for the corresponding pre/postconditions
      	is inserted into its body.
      
      2017-04-27  Bob Duff  <duff@adacore.com>
      
      	* exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore
      	Scalar_Storage_Order if -gnatI is given.
      	* sem_prag.adb (Analyze_Pragma): Ignore
      	Default_Scalar_Storage_Order if -gnatI is given.
      
      From-SVN: r247298
      Arnaud Charlet committed
    • a-cofuba.ads (Add): Take as an additional input parameter the position where the… · 394fa9f5
      a-cofuba.ads (Add): Take as an additional input parameter the position where the element should be...
      
      2017-04-27  Claire Dross  <dross@adacore.com>
      
      	* a-cofuba.ads (Add): Take as an additional input parameter
      	the position where the element should be inserted.
      	(Remove): New function that removes an element from the container.
      	* a-cofuma.ads (Add): Adapt to the new API of Base.Add.
      	* a-cofuse.ads (Add): Adapt to the new API of Base.Add.
      	(Remove): New function that removes an element from a set.
      	* a-cofuve.ads (Add): Adapt to the new API of Base.Add.
      	(Remove): New function that removes an element from a sequence.
      	(Insert): New function that adds anywhere in a sequence.
      
      From-SVN: r247297
      Claire Dross committed
    • [multiple changes] · 11775988
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb (Generate_Range_Check): Revert previous change.
      
      2017-04-27  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_util.adb: Minor reformatting/rewording.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* lib-xref.adb (Generate_Reference): The use
      	of attribute 'Result is not considered a violation of pragma
      	Unreferenced.
      
      2017-04-27  Justin Squirek  <squirek@adacore.com>
      
      	* cstand.adb (Create_Standard): Correctly set
      	Directly_Designated_Type for Any_Access.
      	* sem_type.adb (Covers): Minor grammar fixes.
      
      2017-04-27  Bob Duff  <duff@adacore.com>
      
      	* sem_attr.adb: Minor cleanup.
      
      2017-04-27  Claire Dross  <dross@adacore.com>
      
      	* a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New
      	private child of Ada.Containers used to implement all functional
      	containers.
      	* a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New
      	child of Ada.Containers. It provides functional indefinite unbounded
      	maps which can be used as high level models for specification
      	of data structures.
      	* a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New
      	child of Ada.Containers. It provides functional indefinite unbounded
      	sets which can be used as high level models for specification
      	of data structures.
      	* a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New
      	child of Ada.Containers.  It provides functional indefinite unbounded
      	vectors which can be used as high level models for specification
      	of data structures.
      	* Makefile.rtl: Add new packages.
      	* impunit.adb: Add new packages.
      
      From-SVN: r247296
      Arnaud Charlet committed
    • [multiple changes] · f32eb591
      2017-04-27  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch4.adb: Minor reformatting.
      
      2017-04-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Associations): minor reformatting.
      	(Check_Fixed_Point_Actual): Do not emit a warning on a fixed
      	point type actual that has user-defined arithmetic primitives,
      	when there is a previous actual for a formal package that defines
      	a fixed-point type with the parent user-defined operator.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb (Generate_Range_Check): Reinstate part of previous change.
      	* sem_attr.adb (Resolve_Attribute): Generate a range check when
      	the component type allows range checks.
      
      2017-04-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aux.adb (Is_Generic_Formal): Use original node to locate
      	corresponding declaration, because formal derived types are
      	rewritten as private extensions.
      
      2017-04-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check
      	dimensions of operands if node has been analyzed already, because
      	previous analysis and dimension checking will have removed the
      	dimension information from the operands.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* debug.adb: Document the use of switch -gnatd.s.
      	* einfo.ads Update the documentation on attribute
      	Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove
      	the uses of these attributes from certain entities.
      	* exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry
      	which determines whether the block should continue to manage
      	the secondary stack.
      	(Manages_Sec_Stack): New routine.
      
      2017-04-27  Bob Duff  <duff@adacore.com>
      
      	* atree.ads: Minor edit.
      
      2017-04-27  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sinfo.ads: Update the section on Ghost mode. Add
      	a section on SPARK mode. Update the placement of section on
      	expression functions.
      
      2017-04-27  Bob Duff  <duff@adacore.com>
      
      	* sinput.adb (Get_Source_File_Index): Don't
      	assert that S is in the right range in the case where this is
      	a .dg file under construction.
      
      2017-04-27  Yannick Moy  <moy@adacore.com>
      
      	* sem_util.adb (Check_Result_And_Post_State):
      	Handle more precisely each conjunct in expressions formed by
      	and'ing sub-expressions.
      
      From-SVN: r247295
      Arnaud Charlet committed
    • exp_ch4.adb, [...]: Minor typo fix and reformatting. · 0c3ef0cc
      2017-04-27  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting.
      
      From-SVN: r247294
      Gary Dismukes committed
    • re PR target/77728 (Miscompilation multiple vector iteration on ARM) · 985b8393
      	PR target/77728
      	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
      	(aarch64_function_arg_alignment): Return unsigned int again, but still
      	ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
      	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
      	Don't emit -Wpsabi note.
      	(aarch64_function_arg_boundary): Likewise.
      	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
      	caller.
      testsuite/
      	* g++.dg/abi/pr77728-2.C: Don't expect -Wpsabi notes.
      
      From-SVN: r247292
      Jakub Jelinek committed
    • Daily bump. · db125f9e
      From-SVN: r247291
      GCC Administrator committed
  2. 26 Apr, 2017 9 commits
  3. 25 Apr, 2017 21 commits
    • * g++.dg/dg.exp (find-cxx-tests): Remove TCL 8.5-ism. · 9f4df8f1
      From-SVN: r247269
      Nathan Sidwell committed
    • Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the environment. · dadf1fc7
      	* Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
      	environment.
      
      From-SVN: r247266
      Jakub Jelinek committed
    • re PR target/70799 (STV pass does not convert DImode shifts) · 1913c8f6
      	PR target/70799
      	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
      	Handle ASHIFTRT.
      	(dimode_scalar_chain::compute_convert_gain): Ditto.
      	(dimode_scalar_chain::make_vector_copies): Ditto.
      	(dimode_scalar_chain::convert_reg): Ditto.
      	(dimode_scalar_chain::convert_insn): Ditto.
      	* config/i386/sse.md (VI24_AVX512BW_1): Remove mode iterator.
      	(VI248_AVX512BW_1): New mode iterator.
      	(<mask_codefor>ashr<mode>3<mask_name>): Merge insn pattern with
      	<mask_codefor>ashrv2di3<mask_name> insn using VI248_AVX512BW_1
      	mode iterator.
      
      testsuite/ChangeLog:
      
      	PR target/70799
      	* gcc.target/i386/pr70799-5.c: New test.
      
      From-SVN: r247263
      Uros Bizjak committed
    • PR tree-optimization/80497 - ICE at -O1 and above on valid code on x86_64-linux-gnu in tree_to_uhwi · e602bbfc
      gcc/ChangeLog:
      
      	PR tree-optimization/80497
      	* gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
      	constants are representable in HOST_WIDE_INT.
      	(parse_directive): Ditto.
      
      gcc/testsuite/ChangeLog:
      
      	PR tree-optimization/80497
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-17.c: New test.
      
      From-SVN: r247262
      Martin Sebor committed
    • PR bootstrap/80486 - spurious -Walloc-size-larger-than and -Wstringop-overflow… · 8e640712
      PR bootstrap/80486 - spurious -Walloc-size-larger-than and -Wstringop-overflow in dominance.c during profiledbootstrap
      
      gcc/ChangeLog:
      
      	PR bootstrap/80486
      	* dominance.c (dom_info::m_n_basic_blocks): Change type to unsigned.
      	(new_zero_array): Adjust signature.
      	(dom_info::dom_init): Used unsigned rather that size_t.
      	(dom_info::dom_info): Same.
      
      From-SVN: r247261
      Martin Sebor committed
    • re PR target/77728 (Miscompilation multiple vector iteration on ARM) · 7629ae90
      	PR target/77728
      	* config/arm/arm.c: Include gimple.h.
      	(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
      	returns negative, increment ncrn only if it returned positive.
      	(arm_needs_doubleword_align): Return int instead of bool,
      	ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
      	members, but if there is any such non-FIELD_DECL
      	> PARM_BOUNDARY aligned decl, return -1 instead of false.
      	(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
      	returns negative, increment nregs only if it returned positive.
      	(arm_setup_incoming_varargs): Likewise.
      	(arm_function_arg_boundary): Emit -Wpsabi note if
      	arm_needs_doubleword_align returns negative, return
      	DOUBLEWORD_ALIGNMENT only if it returned positive.
      testsuite/
      	* g++.dg/abi/pr77728-1.C: New test.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r247258
      Ramana Radhakrishnan committed
    • re PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expression" message) · 2ef42cf9
      	PR sanitizer/80349
      	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
      	first argument to type.
      
      	* g++.dg/ubsan/pr80349-2.C: New test.
      
      From-SVN: r247257
      Marek Polacek committed
    • parser.c (cp_parser_elaborated_type_specifier): Add fix-it to diagnostic of… · 70caf430
      parser.c (cp_parser_elaborated_type_specifier): Add fix-it to diagnostic of invalid class/struct keyword after enum.
      
              * parser.c (cp_parser_elaborated_type_specifier): Add fix-it to
              diagnostic of invalid class/struct keyword after enum.
      
              * g++.dg/cpp0x/enum34.C: New test.
      
      From-SVN: r247254
      Volker Reichelt committed
    • gnat_rm.texi, [...]: Update documentation. · 9c533e7d
      	* gnat_rm.texi, gnat_ugn.texi,
      	doc/gnat_ugn/building_executable_programs_with_gnat.rst,
      	doc/gnat_ugn/platform_specific_information.rst,
      	doc/gnat_ugn/gnat_and_program_execution.rst,
      	doc/gnat_ugn/gnat_utility_programs.rst,
      	doc/gnat_ugn/the_gnat_compilation_model.rst,
      	doc/gnat_rm/implementation_defined_attributes.rst,
      	doc/gnat_rm/the_gnat_library.rst,
      	doc/gnat_rm/implementation_defined_pragmas.rst,
      	doc/gnat_rm/representation_clauses_and_pragmas.rst,
      	doc/gnat_rm/implementation_of_specific_ada_features.rst,
      	doc/gnat_rm/implementation_defined_aspects.rst,
      	doc/gnat_rm/implementation_defined_characteristics.rst: Update
      	documentation.
      
      From-SVN: r247253
      Arnaud Charlet committed
    • [multiple changes] · 211e7410
      2017-04-25  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression): Emit error message when
      	generating C code on complex case expressions.
      
      2017-04-25  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Generate a warning instead
      	of silently ignoring pragma Ada_xxx in Latest_Ada_Only mode.
      	* directio.ads, ioexcept.ads, sequenio.ads, text_io.ads: Use
      	Ada_2012 instead of Ada_2005 to be compatible with the above
      	change.
      	* bindgen.adb: Silence new warning on pragma Ada_95.
      
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb (Generate_Range_Check): Revert part of previous change.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Try_Container_Indexing): Handle properly a
      	container indexing operation that appears as a an actual in a
      	parameter association in a procedure call.
      
      2017-04-25  Olivier Ramonat  <ramonat@adacore.com>
      
      	* prj-proc.adb, sem_util.adb, s-stposu.adb, sem_attr.adb, prj-conf.ads:
      	Fix spelling mistakes.
      
      2017-04-25  Bob Duff  <duff@adacore.com>
      
      	* types.ads, osint.adb, sinput-c.adb, sinput-d.adb, sinput-l.adb,
      	* sinput-p.adb: Use regular fat pointers, with bounds checking,
      	for source buffers.  Fix misc obscure bugs.
      	* sinput.ads, sinput.adb: Use regular fat pointers, with bounds
      	checking, for source buffers.  Modify representation clause for
      	Source_File_Record as appropriate.  Move Source_File_Index_Table
      	from spec to body, because it is not used outside the body.
      	Move Set_Source_File_Index_Table into the private part, because
      	it is used only in the body and in children.  Use trickery to
      	modify the dope in the generic instantiation case.  It's ugly,
      	but not as ugly as the previous method.  Fix documentation.
      	Remove obsolete code.
      	* fname-sf.adb, targparm.adb: Fix misc out-of-bounds
      	indexing in source buffers.
      	* fmap.adb: Avoid conversions from one string type to another.
      	Remove a use of global name buffer.
      	* osint.ads, sfn_scan.ads, sfn_scan.adb, sinput-c.ads: Comment
      	fixes.
      
      From-SVN: r247252
      Arnaud Charlet committed
    • Add dg-line · f66c70dc
      Context: there are currently two types of line number supported in
      dg-{error,warning,message,bogus} directives: absolute and relative.  With an
      absolute line number, it's immediately clear what line number is meant, but
      when a line is added at the start of the file, the line number needs to be
      updated.  With a relative line number, that problem is solved, but when relative
      line numbers become large, it becomes less clear what line it refers to, and
      when adding a line inbetween the directive using the relative line number and
      the line it refers to, the relative line number still needs to be updated.
      
      Add a directive dg-line with argument varname, that saves the line number
      of the directive in a variable varname, which can be used as line number in dg
      directives.
      
      2017-04-25  Tom de Vries  <tom@codesourcery.com>
      
      	* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Cleanup line number
      	variables.
      	(dg-line): New proc.
      	(process-message): Handle line number variables.
      	* objc.dg/try-catch-12.m: Use dg-line.
      
      From-SVN: r247251
      Tom de Vries committed
    • [PATCH, rs6000] pr80482 Relax vector builtin parameter checks · 77071af6
      PR target/80482
      
      This patch changes the parameter testing for powerpc vector builtins to relax
      the existing requirement that the parameters be identical to instead that they
      be compatible.  This allows for mixing parameters with differing qualified
      (const, volatile, etc.) types.
      
      See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80482 for more information.
      
      Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
      powerpc64be-unknown-linux-gnu with no regressions.  Is this ok for trunk?
      
      [gcc]
      
      2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	PR target/80482
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
      	type checks to test for compatibility instead of equality.
      
      [gcc/testsuite]
      
      2017-04-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	PR target/80482
      	* gcc.target/powerpc/vec-constvolatile.c: New test.
      
      From-SVN: r247250
      Bill Seurer committed
    • C++: fix-it hint for removing stray semicolons · fbe91804
      gcc/cp/ChangeLog:
      	* parser.c (cp_parser_member_declaration): Add fix-it hint
      	for removing stray semicolons.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/semicolon-fixits.C: New test case.
      
      From-SVN: r247244
      David Malcolm committed
    • C: fix-it hint for removing stray semicolons · 1c4ea66f
      gcc/c/ChangeLog:
      	* c-parser.c (c_parser_struct_or_union_specifier): Add fix-it
      	hint for removing extra semicolon.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/semicolon-fixits.c: New test case.
      
      From-SVN: r247243
      David Malcolm committed
    • [multiple changes] · e0666fc6
      2017-04-25  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_util.adb, exp_ch4.adb: Minor reformatting.
      
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* checks.adb: Code clean up in various routines.
      	(Generate_Range_Check): Do not generate a range check when the
      	expander is not active or when index/range checks are suppressed
      	on the target type.
      	(Insert_List_After_And_Analyze, Insert_List_Before_And_Analyze):
      	Remove variants that include a Supress parameter. These routines
      	are never used, and were introduced before the current scope-based
      	check suppression method.
      
      2017-04-25  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* prj-part.adb, cstreams.c, osint.adb, osint.ads: Remove VMS specific
      	code and some subprogram calls that are now noop.
      
      From-SVN: r247242
      Arnaud Charlet committed
    • C++: hints for missing std:: headers · 5ca28c1d
      gcc/cp/ChangeLog:
      	* name-lookup.c (get_std_name_hint): New function.
      	(maybe_suggest_missing_header): New function.
      	(suggest_alternative_in_explicit_scope): Call
      	maybe_suggest_missing_header.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/lookup/missing-std-include.C: New test file.
      
      From-SVN: r247240
      David Malcolm committed
    • re PR target/77728 (Miscompilation multiple vector iteration on ARM) · 2ec07fa6
      	PR target/77728
      	* config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
      	type.
      	(aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
      	struct.  Ignore DECL_ALIGN of decls other than FIELD_DECL for
      	the alignment computation, but return their maximum in warn_alignment.
      	(aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
      	Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
      	is smaller.
      	(aarch64_function_arg_boundary): Likewise.  Simplify using MIN/MAX.
      	(aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
      	caller.
      testsuite/
      	* g++.dg/abi/pr77728-2.C: New test.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r247239
      Ramana Radhakrishnan committed
    • Minor reformatting. · eb2d5ccc
      From-SVN: r247238
      Arnaud Charlet committed
    • exp_ch4.adb (Expand_N_Case_Expression): Take Minimize_Expression_With_Actions… · e44e8a5e
      exp_ch4.adb (Expand_N_Case_Expression): Take Minimize_Expression_With_Actions into account when possible.
      
      2017-04-25  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression): Take
      	Minimize_Expression_With_Actions into account when possible.
      
      From-SVN: r247237
      Arnaud Charlet committed
    • [multiple changes] · bf604a5e
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_util.adb (Known_Non_Null): Moved to Sem_Util.
      	(Known_Null): Moved to Sem_Util.
      	* exp_util.ads (Known_Non_Null): Moved to Sem_Util.
      	(Known_Null): Moved to Sem_Util.
      	* sem_util.adb Add new enumeration type Null_Status_Kind.
      	(Known_Non_Null): Moved from Exp_Util. Most of the logic in
      	this routine is now carried out by Null_Status.
      	(Known_Null): Moved from Exp_Util. Most of the logic in this routine
      	is now carried out by Null_Status.
      	(Null_Status): New routine.
      	* sem_util.ads (Known_Non_Null): Moved from Exp_Util.
      	(Known_Null): Moved from Exp_Util.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Do not report an
      	error on the return type of an expression function that is a
      	completion, if the type is derived from a generic formal type.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_dim.adb (Dimensions_Of_Operand): The dimensions of a type
      	conversion are those of the target type.
      
      2017-04-25  Bob Duff  <duff@adacore.com>
      
      	* a-clrefi.adb: Minor cleanup.
      
      From-SVN: r247236
      Arnaud Charlet committed
    • exp_util.adb, [...]: Minor reformatting. · 178c3cba
      
      2017-04-25  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_util.adb, exp_util.ads, types.ads: Minor reformatting.
      
      From-SVN: r247235
      Gary Dismukes committed