1. 26 Apr, 2017 2 commits
  2. 25 Apr, 2017 38 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
    • err_vars.ads, [...]: Eliminate the vestigial Internal_Source_File and the Internal_Source buffer. · 0f96fd14
      2017-04-25  Bob Duff  <duff@adacore.com>
      
      	* err_vars.ads, fmap.adb, fmap.ads, comperr.adb, fname-sf.adb,
      	types.adb, types.ads, types.h, sinput-l.adb, targparm.adb,
      	errout.adb, sinput.adb, sinput.ads, cstand.adb, scn.adb,
      	scn.ads, gnatls.adb: Eliminate the vestigial Internal_Source_File and
      	the Internal_Source buffer. This removes the incorrect call to "="
      	the customer noticed.
      	Wrap remaining calls to "=" in Null_Source_Buffer_Ptr. We
      	eventually need to eliminate them altogether. Or else get rid
      	of zero-origin addressing.
      
      From-SVN: r247234
      Bob Duff committed
    • Fix spelling suggestions for reserved words (PR c++/80177) · 7d5dbb22
      gcc/cp/ChangeLog:
      	PR c++/80177
      	* name-lookup.c (suggest_alternative_in_explicit_scope): Convert
      	candidate type of bm from tree to const char *.
      	(consider_binding_level): Likewise.
      	(lookup_name_fuzzy): Likewise, using this to merge the best
      	result from the preprocessor into bm, rather than immediately
      	returning, so that better matches from reserved words can "win".
      	Guard the rejection of keywords that don't start decl-specifiers
      	so it only happens for FUZZY_LOOKUP_TYPENAME.
      
      gcc/testsuite/ChangeLog:
      	PR c++/80177
      	* g++.dg/spellcheck-pr80177.C: New test case.
      
      From-SVN: r247233
      David Malcolm committed
    • Minor reformatting. · 0f168ccc
      From-SVN: r247232
      Arnaud Charlet committed
    • [multiple changes] · 28ccbd3f
      2017-04-25  Claire Dross  <dross@adacore.com>
      
      	* exp_util.ads (Expression_Contains_Primitives_Calls_Of): New
      	function used in GNATprove to know if an expression contains
      	non-dispatching calls on primitives of a tagged type.
      
      2017-04-25  Bob Duff  <duff@adacore.com>
      
      	* rtsfind.adb (Initialize): Initialize
      	First_Implicit_With. Building the compiler with Normalize_Scalars
      	and validity checking finds this being used as an uninitialized
      	variable.
      
      From-SVN: r247231
      Arnaud Charlet committed
    • contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Add a warning about… · f9a8f910
      contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract): Add a warning about SPARK mode management.
      
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* contracts.adb (Analyze_Entry_Or_Subprogram_Body_Contract):
      	Add a warning about SPARK mode management. The routine now
      	saves and restores both the mode and associated pragma.
      	(Analyze_Entry_Or_Subprogram_Contract): Add a warning about
      	SPARK mode management. The routine now saves and restores both
      	the mode and associated pragma.
      	(Analyze_Object_Contract):
      	Add a warning about SPARK mode management. The routine
      	now saves and restores both the mode and associated pragma.
      	(Analyze_Package_Body_Contract): Add a warning about SPARK mode
      	management.  The routine now saves and restores both the mode
      	and associated pragma.	(Analyze_Package_Contract): Add a warning
      	about SPARK mode management. The routine now saves and restores
      	both the mode and associated pragma.
      	(Analyze_Task_Contract):
      	Add a warning about SPARK mode management. The routine now saves
      	and restores both the mode and associated pragma.
      	* expander.adb (Expand): Change the way the Ghost mode is saved
      	and restored.
      	* exp_ch3.adb (Freeze_Type): Change the way the Ghost mode is
      	saved and restored.
      	* exp_disp.adb (Make_DT): Change the way the Ghost mode is saved
      	and restored.
      	* exp_util.adb (Build_DIC_Procedure_Body):
      	Change the way the Ghost mode is saved and restored.
      	(Build_DIC_Procedure_Declaration): Change the way the Ghost
      	mode is saved and restored.
      	(Build_Invariant_Procedure_Body):
      	Change the way the Ghost mode is saved and restored.
      	(Build_Invariant_Procedure_Declaration): Change the way the Ghost
      	mode is saved and restored.
      	(Make_Predicate_Call): Change the
      	way the Ghost mode is saved and restored.
      	* freeze.adb (Freeze_Entity): Change the way the Ghost mode is
      	saved and restored.
      	* ghost.adb (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
      	and its assignment.
      	(Mark_And_Set_Ghost_Body): Remove parameter
      	Mode and its assignment.
      	(Mark_And_Set_Ghost_Completion):
      	Remove parameter Mode and its assignment.
      	(Mark_And_Set_Ghost_Declaration): Remove parameter Mode and its
      	assignment.
      	(Mark_And_Set_Ghost_Instantiation): Remove parameter
      	Mode and its assignment.
      	(Mark_And_Set_Ghost_Procedure_Call):
      	Remove parameter Mode and its assignment.
      	(Set_Ghost_Mode):
      	Remove parameter Mode and its assignment.
      	* ghost.ads (Mark_And_Set_Ghost_Assignment): Remove parameter Mode
      	and update the comment on usage.
      	(Mark_And_Set_Ghost_Body):
      	Remove parameter Mode and update the comment on usage.
      	(Mark_And_Set_Ghost_Completion): Remove parameter Mode and
      	update the comment on usage.
      	(Mark_And_Set_Ghost_Declaration):
      	Remove parameter Mode and update the comment on usage.
      	(Mark_And_Set_Ghost_Instantiation): Remove parameter Mode and
      	update the comment on usage.
      	(Mark_And_Set_Ghost_Procedure_Call):
      	Remove parameter Mode and update the comment on usage.
      	(Set_Ghost_Mode): Remove parameter Mode and update the comment
      	on usage.
      	* lib.ads Remove obsolete fields SPARK_Mode_Pragma from various
      	types.
      	* lib-load.adb (Create_Dummy_Package_Unit): Remove the assignment
      	of obsolete field SPARK_Mode_Pragma.
      	(Load_Main_Source): Remove
      	the assignment of obsolete field SPARK_Mode_Pragma.
      	(Load_Unit): Remove the assignment of obsolete field SPARK_Mode_Pragma.
      	* lib-writ.adb (Add_Preprocessing_Dependency): Remove
      	the assignment of obsolete field SPARK_Mode_Pragma.
      	(Ensure_System_Dependency): Remove the assignment of obsolete
      	field SPARK_Mode_Pragma.
      	* rtsfind.adb (Load_RTU): Add a warning about Ghost and SPARK
      	mode management. Change the way Ghost and SPARK modes are saved
      	and restored.
      	* sem.adb (Analyze): Change the way the Ghost mode is saved
      	and restored.
      	* sem_ch3.adb (Analyze_Object_Declaration): Change the way the
      	Ghost mode is saved and restored.
      	(Process_Full_View): Change
      	the way the Ghost mode is saved and restored.
      	* sem_ch5.adb (Analyze_Assignment): Change the way the Ghost
      	mode is saved and restored.
      	* sem_ch6.adb (Analyze_Procedure_Call): Change the way the Ghost
      	mode is saved and restored.
      	(Analyze_Subprogram_Body_Helper):
      	Change the way the Ghost mode is saved and restored.
      	* sem_ch7.adb (Analyze_Package_Body_Helper): Change the way the
      	Ghost mode is saved and restored.
      	* sem_ch10.adb (Analyze_Subunit): Add a warning about SPARK mode
      	management. Save the SPARK mode-related data prior to any changes
      	to the scope stack and contexts. The mode is then reinstalled
      	before the subunit is analyzed in order to restore the original
      	view of the subunit.
      	* sem_ch12.adb (Analyze_Package_Instantiation): Update the
      	warning on region management.  Change the way the Ghost and
      	SPARK modes are saved and restored.
      	(Inline_Instance_Body):
      	Add a warning about SPARK mode management. Code clean up.
      	(Analyze_Subprogram_Instantiation): Update the warning on region
      	management.  Change the way the Ghost and SPARK modes are saved
      	and restored.
      	(Instantiate_Package_Body): Update the warning
      	on region management. Change the way the Ghost and SPARK modes
      	are saved and restored.
      	(Instantiate_Subprogram_Body): Update
      	the warning on region management. Change the way the Ghost and
      	SPARK modes are saved and restored.
      	(Set_Instance_Env): Add a
      	warning about SPARK mode management. Change the way SPARK mode
      	is saved and restored.
      	* sem_ch13.adb (Build_Predicate_Functions):
      	Change the way the Ghost mode is saved and restored.
      	(Build_Predicate_Function_Declaration): Change the way the Ghost
      	mode is saved and restored.
      	* sem_elab.adb (Check_Elab_Calls): Add a warning about SPARK
      	mode management. Change the way SPARK mode is saved and restored.
      	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
      	Change the way the Ghost mode is saved and restored.
      	(Analyze_Initial_Condition_In_Decl_Part): Change the way
      	the Ghost mode is saved and restored.
      	(Analyze_Pragma):
      	Change the way the Ghost mode is saved and restored.
      	(Analyze_Pre_Post_Condition_In_Decl_Part): Change the way the
      	Ghost mode is saved and restored.
      	* sem_util.adb (Install_SPARK_Mode): New routine.
      	(Restore_SPARK_Mode): New routine.
      	(Save_SPARK_Mode_And_Set): Removed.
      	(Set_SPARK_Mode): New routine.
      	* sem_util.ads (Install_SPARK_Mode): New routine.
      	(Restore_SPARK_Mode): New routine.
      	(Save_SPARK_Mode_And_Set): Removed.
      	(Set_SPARK_Mode): New routine.
      
      From-SVN: r247230
      Hristian Kirtchev committed
    • sem_util.adb, [...] (From_Nested_Package): New predicate to determine whether a… · e1691d7e
      sem_util.adb, [...] (From_Nested_Package): New predicate to determine whether a type is declared in a local package that...
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_util.adb, sem_util.ads (From_Nested_Package): New predicate
      	to determine whether a type is declared in a local package that
      	has not yet been frozen.
      	* freeze.adb (Freeze_Before): Use new predicate to determine
      	whether a local package must be installed on the scope stack
      	in order to evaluate in the proper scope actions generated by
      	aspect specifications, such as Predicate
      	* sem_ch13.adb: Simplify code in Analyze_Aspects_At_Freeze_Point
      	using new predicate.
      
      From-SVN: r247229
      Ed Schonberg committed
    • [multiple changes] · 57f6e00c
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not consider
      	comparisons between non- scalar expressions expressions because
      	their values cannot be invalidated.
      	* sem_warn.ads (Warn_On_Constant_Valid_Condition): Update the
      	comment on usage.
      
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par_sco.adb: Minor reformatting.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): If entity
      	is a type from an unfrozen local package, install package to
      	complete the analysis of delayed aspects of the type.
      
      2017-04-25  Tristan Gingold  <gingold@adacore.com>
      
      	* bingen.adb (System_Version_Control_Used): New variable.
      	(Resolve_Binder_Options): Set the above variable.
      	(Gen_Output_File_Ada): Conditionally call Gen_Versions.
      	(Gen_Elab_Order): Emit blank line before.
      
      2017-04-25  Justin Squirek  <squirek@adacore.com>
      
      	* sem_cat.adb (Validate_RT_RAT_Component): Added
      	an extra check to ignore incomplete types.
      
      From-SVN: r247228
      Arnaud Charlet committed
    • [multiple changes] · 62807842
      2017-04-25  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Pragma_Check): Remove
      	bogus circuitry for the case where Name is Predicate.
      
      2017-04-25  Thomas Quinot  <quinot@adacore.com>
      
      	* par_sco.adb(Traverse_Declarations_Or_Statements.Traverse_Aspects):
      	Create SCOs for Predicate aspects in disabled
      	state initially, to be enabled later on by...
      	* sem_ch13.adb (Build_Predicate_Functions.Add_Predicates): Mark
      	SCO for predicate as enabled.
      
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* comperr.adb (Compiler_Abort): Remove now obsolete pair of
      	pragmas Warnings Off / On.
      	* namet.adb (Finalize): Remove now obsolete pair of pragmas
      	Warnings Off / On.
      	* output.adb: Remove now obsolete pair of pragmas Warnings Off / On.
      	* sem_warn.adb (Warn_On_Constant_Valid_Condition): Do not
      	consider comparisons between static expressions because their
      	values cannot be invalidated.
      	* urealp.adb (Tree_Read): Remove now obsolete pair of pragmas
      	Warnings Off / On.
      	(Tree_Write): Remove now obsolete pair of pragmas Warnings Off / On.
      	* usage.adb Remove now obsolete pair of pragmas Warnings Off / On.
      
      2017-04-25  Bob Duff  <duff@adacore.com>
      
      	* sem_elab.adb (In_Task_Activation): Trace internal calls in
      	task bodies.
      
      From-SVN: r247227
      Arnaud Charlet committed
    • [ARC][COMMITTED] Fix typo dmpyh pattern · c66cda60
      gcc/
      2017-04-25  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/simdext.md (dmpyh): Fix typo.
      
      From-SVN: r247226
      Claudiu Zissulescu committed
    • sem_prag.adb, [...]: Minor reformatting and typo fixes. · 2da8c8e2
      2017-04-25  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_prag.adb, sem_warn.adb, sem_eval.adb: Minor reformatting and
      	typo fixes.
      
      From-SVN: r247225
      Gary Dismukes committed
    • [multiple changes] · 634a926b
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* comperr.adb (Compiler_Abort): Add a pair of pragma Warnings
      	On/Off to defend against a spurious warning in conditional
      	compilation.
      	* exp_ch4.adb (Rewrite_Comparison): Reimplemented.
      	* namet.adb (Finalize): Add a pair of pragma Warnings On/Off to
      	defend against a spurious warning in conditional compilation.
      	* output.adb Add a pair of pragma Warnings On/Off to defend
      	against a spurious warning in conditional compilation.
      	* sem_eval.adb (Eval_Relational_Op): Major code clean up.
      	(Fold_General_Op): New routine.
      	(Fold_Static_Real_Op): New routine.
      	(Test_Comparison): New routine.
      	* sem_eval.ads (Test_Comparison): New routine.
      	* sem_warn.adb (Is_Attribute_Constant_Comparison): New routine.
      	(Warn_On_Constant_Valid_Condition): New routine.
      	(Warn_On_Known_Condition): Use Is_Attribute_Constant_Comparison
      	to detect a specific case.
      	* sem_warn.adb (Warn_On_Constant_Valid_Condition): New routine.
      	* urealp.adb (Tree_Read): Add a pair of pragma Warnings On/Off
      	to defend against a spurious warning in conditional compilation.
      	(Tree_Write): Add a pair of pragma Warnings On/Off to defend
      	against a spurious warning in conditional compilation.
      	* usage.adb Add a pair of pragma Warnings On/Off to defend
      	against a spurious warning in conditional compilation.
      
      2017-04-25  Arnaud Charlet  <charlet@adacore.com>
      
      	* sinfo.ads, sem_ch13.adb: Update comment.
      
      From-SVN: r247224
      Arnaud Charlet committed
    • Code cleanup. · 884f97cc
      From-SVN: r247223
      Arnaud Charlet committed
    • 017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de> · 7c145456
              * c-common.c (c_type_hasher, type_hash_table): Remove.
              (c_common_get_alias_set): Remove unreachable code.
              * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
      
      From-SVN: r247222
      Bernd Edlinger committed
    • [multiple changes] · 1f70c47f
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_util.adb (Is_Post_State): A reference to a
      	generic in out parameter is considered a change in the post-state
      	of a subprogram.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Load_Parent_Of_Generic); When retrieving the
      	declaration of a subprogram instance within its wrapper package,
      	skip over null statements that may result from the rewriting of
      	ignored pragmas.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_attr.adb (Expand_Attribute_Reference, case 'Read):
      	If the type is an unchecked_union, replace the attribute with
      	a Raise_Program_Error (rather than inserting such before the
      	attribute reference) to handle properly the case where we are
      	processing a component of a larger record, and we need to prevent
      	further expansion for the unchecked union.
      	(Expand_Attribute_Reference, case 'Write): If the type is
      	an unchecked_union, check whether enclosing scope is a Write
      	subprogram. Replace attribute with a Raise_Program_Error if the
      	discriminants of the unchecked_union type have not default values
      	because such a use is erroneous..
      
      2017-04-25  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Expand_N_Task_Type_Declaration):
      	Add relative_deadline to task record on edf profile.
      	(Make_Initialize_Protection): Pass deadline_floor value on edf profile.
      	(Make_Task_Create_Call): Pass relative_deadline value.
      	* par-prag.adb (Prag): Handle Pragma_Deadline_Floor.
      	* s-rident.ads (Profile_Name): Add GNAT_Ravenscar_EDF.
      	(Profile_Info): Add info for GNAT_Ravenscar_EDF.
      	* sem_prag.adb (Set_Ravenscar_Profile): Handle
      	GNAT_Ravenscar_EDF (set scheduling policy).
      	(Analyze_Pragma): Handle GNAT_Ravenscar_EDF profile and Deadline_Floor
      	pragma.
      	(Sig_Flags): Add choice for Pragma_Deadline_Floor.
      	* snames.ads-tmpl (Name_Deadline_Floor, Name_Gnat_Ravenscar_EDF):
      	New names.
      	(Pragma_Deadline_Floor): New pragma.
      	* targparm.adb (Get_Target_Parameters): Recognize
      	GNAT_Ravenscar_EDF profile.
      
      From-SVN: r247221
      Arnaud Charlet committed
    • gnatvsn.ads (Library_Version): Bump to 8. · daad20d6
      	* gnatvsn.ads (Library_Version): Bump to 8. Update comment.
      
      From-SVN: r247220
      Arnaud Charlet committed
    • [multiple changes] · e7c25229
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aux.adb (Nearest_Ancestor): Use original node of type
      	declaration to locate nearest ancestor, because derived
      	type declarations for record types are rewritten as record
      	declarations.
      	* sem_ch13.adb (Add_Call): Use an unchecked conversion to handle
      	properly derivations that are completions of private types.
      	(Add_Predicates): If type is private, examine rep. items of full
      	view, which may include inherited predicates.
      	(Build_Predicate_Functions): Ditto.
      
      2017-04-25  Javier Miranda  <miranda@adacore.com>
      
      	* sem_util.adb (New_Copy_Tree.Visit_Entity): Extend previous change
      	to generate new entities for subtype declarations located in
      	Expression_With_Action nodes.
      
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_elab.adb (Check_A_Call): Remove
      	local variables Is_DIC_Proc and Issue_In_SPARK. Verify the
      	need for Elaborate_All when SPARK elaboration checks are
      	required. Update the checks for instances, variables, and calls
      	to Default_Initial_Condition procedures.
      
      2017-04-25  Ed Schonberg  <schonberg@adacore.com>
      
      	* aspects.ads, aspects.adb: Make the GNAT-specific pragma No_Inline
      	into a boolean aspect, in analogy with the Ada aspect No_Return.
      
      From-SVN: r247219
      Arnaud Charlet committed
    • [multiple changes] · a267d8cc
      2017-04-25  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb, sem_ch13.adb, sem_ch6.adb: Minor reformatting.
      
      2017-04-25  Bob Duff  <duff@adacore.com>
      
      	* sem_res.adb (Resolve_Actuals): Under -gnatd.q, reset
      	Is_True_Constant for an array variable that is passed to a
      	foreign function as an 'in' parameter.
      	* debug.adb: Document -gnatd.q.
      
      From-SVN: r247218
      Arnaud Charlet committed