Commit Graph

156096 Commits

Author SHA1 Message Date
Arnaud Charlet
be91c7e2aa [multiple changes]
2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch12.adb (Check_Generic_Parent): New procedure within
        Analyze_Associations, to handle actual packages that depend on
        previous instances.  If a package IAP that is an instantiation is
        used as an actual in a subsequent instantiation SI in the same
        scope, and IAP has a body, IAP must be frozen before SI. If
        the generic parent of IAP is itself declared in a previous
        instantiation in the same scope, that instantiation must also
        be frozen before SI.
        (Install_Body): Prevent double insertion of freeze node for
        instance.

2017-09-08  Hristian Kirtchev  <kirtchev@adacore.com>

        * sem_prag.adb (Resolve_State): Update the
        comment on documentation. Generate a reference to the state once
        resolution takes place.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * sem_ch13.adb (Analyze_Aspect_Specifications, case
        Linker_Section): If the aspect applies to an object declaration
        with explicit initialization, do not delay the freezing of the
        object, to prevent access-before-elaboration in the generated
        initialization code.

2017-09-08  Ed Schonberg  <schonberg@adacore.com>

        * a-wtdeio.adb (Put, all versions): Use Long_Long_Integer
        (Integer_Value (Item)) when the size of the fixed decimal type
        is larger than Integer.

From-SVN: r251865
2017-09-08 10:46:01 +02:00
Arnaud Charlet
8b73509432 Removed, no longer used.
From-SVN: r251864
2017-09-08 10:45:05 +02:00
Rainer Orth
ed3d4d827d Fix SPARC bootstrap: sancov.c needs memmodel.h
* sancov.c: Include memmodel.h.

From-SVN: r251863
2017-09-08 08:35:23 +00:00
Eric Botcazou
2db98b5a5f Fix merge error.
From-SVN: r251862
2017-09-08 07:18:20 +00:00
GCC Administrator
42bbab4c95 Daily bump.
From-SVN: r251861
2017-09-08 00:16:18 +00:00
Eric Botcazou
1c49a3ed0c re PR bootstrap/80897 (gnat bootstrap broken on SPARC64/Linux)
PR target/80897
	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Deal with too
	large offsets.

From-SVN: r251847
2017-09-07 15:53:09 +00:00
Eric Botcazou
fac519741f re PR ada/82127 (gnat.dg/specs/constructor.ads FAILs)
PR ada/82127
	* gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields
	in order of increasing position in more cases.

From-SVN: r251846
2017-09-07 15:33:29 +00:00
Carl Love
9cb22eea21 vsx.md (define_insn "*stxvl"): Add missing argument to the sldi instruction.
gcc/ChangeLog:

2017-09-07  Carl Love  <cel@us.ibm.com>

	    * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to the sldi instruction.

From-SVN: r251845
2017-09-07 15:02:24 +00:00
David Edelsohn
3060b639be * sancov.c: Include tm_p.h.
From-SVN: r251844
2017-09-07 10:28:20 -04:00
Jakub Jelinek
86373d9214 re PR target/81979 (Assembler messages: Error: can't resolve .got2' {.got2 section} - .LCF0' {.text.unlikely section})
PR target/81979
	* output.h (switch_to_other_text_partition): New declaration.
	* varasm.c (switch_to_other_text_partition): New function.
	* config/rs6000/rs6000.c (uses_TOC): Return 2 if
	NOTE_INSN_SWITCH_TEXT_SECTIONS is seen before finding load_toc_* insn.
	(rs6000_elf_declare_function_name): If uses_TOC returned 2, switch
	to the other text partition before emitting LCL label and switch back
	after emitting the word after it.

	* gcc.dg/pr81979.c: New test.

From-SVN: r251843
2017-09-07 13:20:40 +02:00
Arnaud Charlet
ed32342134 [multiple changes]
2017-09-07  Yannick Moy  <moy@adacore.com>

	* a-exetim-mingw.ads: Add contract Global=>null
	on all operations that are modeled as having no read or write
	of global variables in SPARK.

2017-09-07  Raphael Amiard  <amiard@adacore.com>

	* a-chtgop.adb, a-chtgop.ads (Generic_Iteration_With_Position): Added
	to Hmaps.Generic_Ops.
	* a-cohama.adb (Ada.Containers.Hmaps.Iterate): Pass proper position in
	cursors.
	* a-cihama.adb (Ada.Containers.Indefinite_Hmaps.Iterate): Pass pos in
	cursors.
	* a-cohase.adb (Ada.Containers.Hashed_Sets.Iterate): Pass proper
	position in cursors.

2017-09-07  Javier Miranda  <miranda@adacore.com>

	* sem_elab.adb (Check_Task_Activation): Adding switch -gnatd.y to
	allow disabling the generation of implicit pragma Elaborate_All
	on task bodies.

2017-09-07  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_Tags): Avoid suffix counter
	in the external name of the elaboration flag. Required to fix
	the regressions introduced by the initial version of this patch.

2017-09-07  Bob Duff  <duff@adacore.com>

	* sem_ch6.adb (Analyze_Function_Return): Do not
	insert an explicit conversion to force the displacement of the
	"this" pointer to reference the secondary dispatch table in the
	case where the return statement is returning a raise expression,
	as in "return raise ...".

2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_disp.adb (Is_User_Defined_Equality): Removed procedure.
	* sem_util.ads, sem_util.adb (Is_User_Defined_Equality): Copied
	procedure from sem_disp.adb.
	* sem_ch12.ads (Get_Unit_Instantiation_Node): rename Package
	with Unit.
	* sem_ch12.adb (Get_Unit_Instantiation_Node): function extended to
	return the instantiation node for subprograms. Update references
	to Get_Unit_Instantiation_Node.
	* sem_ch7.adb (Install_Parent_Private_Declarations): update
	reference to Get_Unit_Instantiation_Node.
	* exp_dist.adb (Build_Package_Stubs): update reference to
	Get_Unit_Instantiation_Node.
	* sem_ch9.adb: minor typo in comment.
	* lib-xref-spark_specific.adb
	(Traverse_Declaration_Or_Statement): traverse into task type
	definition.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_dim.adb (Analyze_Dimension_Type_Conversion): New procedure
	to handle properly various cases of type conversions where the
	target type and/or the expression carry dimension information.
	(Dimension_System_Root); If a subtype carries dimension
	information, obtain the source parent type that carries the
	Dimension aspect.

2017-09-07  Dmitriy Anisimkov  <anisimko@adacore.com>

	* g-socket.adb, g-socket.ads (GNAT.Sockets.To_Ada): New routine.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained):
	If the prefix is a reference to an object, rewrite it as an
	explicit dereference, as required by 3.7.2 (2) and as is done
	with most other attributes whose prefix is an access value.

2017-09-07  Bob Duff  <duff@adacore.com>

	* par-ch13.adb: Set the Inside_Depends flag if we are inside a
	Refined_Depends aspect.
	* par-ch2.adb: Set the Inside_Depends flag if we are inside a
	Refined_Depends pragma.
	* scans.ads: Fix documentation of Inside_Depends flag.
	* styleg.adb, styleg.ads: Minor reformatting and comment fixes.

2017-09-07  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Insert_Actions_In_Scope_Around):
	Account for the case where the are no lists to insert, but the
	secondary stack still requires management.
	* a-chtgop.adb, a-cihama.adb, a-cohama.adb, a-cohase.adb, a-tags.adb,
	comperr.adb, einfo.adb, exp_aggr.adb, exp_ch3.adb, exp_disp.adb,
	lib-xref.adb, lib-xref-spark_specific.adb, sem_ch12.adb, sem_ch13.adb,
	sem_ch6.adb, sem_dim.adb, sem_dim.ads, sem_elab.adb, sem_prag.adb:
	Minor reformatting.

From-SVN: r251842
2017-09-07 12:09:17 +02:00
Arnaud Charlet
c8e072dafb [multiple changes]
2017-09-07  Vincent Celier  <celier@adacore.com>

	* clean.adb: Do not get the target parameters before calling
	gprclean.

2017-09-07  Nicolas Roche  <roche@adacore.com>

	* s-osinte-solaris-posix.ads: Removed.

From-SVN: r251841
2017-09-07 12:02:27 +02:00
Arnaud Charlet
83b77c5c92 [multiple changes]
2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Collect_States_And_Objects): Detect also instances of
	single concurrent objects.

2017-09-07  Javier Miranda  <miranda@adacore.com>

	* s-regexp.ads: Fix documentation of the globbing grammar.

2017-09-07  Gary Dismukes  <dismukes@adacore.com>

	* a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting.

2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global)
	in CodePeer mode, to support more legacy code automatically.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Replace_Formals): If thr formal is classwide,
	and thus not a controlling argument, preserve its type after
	rewriting because it may appear in an nested call with a classwide
	parameter.

2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* comperr.adb (Delete_SCIL_Files): Handle case of
	N_Package_Instantiation.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Remove_Private_With_Clause): If a private with
	clause for a unit U appears in a context that includes a regular
	with_clause on U, rewrite the redundant private clause into a null
	statement, rather than removing it altogether from the context,
	so that ASIS tools can reconstruct the original source.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression
	for aspect Small can be of any real type (not only a universal
	real literal) as long as it is a static constant.

2017-09-07  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Minor reformatting.

From-SVN: r251840
2017-09-07 11:58:24 +02:00
Arnaud Charlet
e9cb22313e s-parame-ae653.ads: Removed.
* s-parame-ae653.ads: Removed.

From-SVN: r251839
2017-09-07 11:54:14 +02:00
Arnaud Charlet
fe683ef6e1 [multiple changes]
2017-09-07  Nicolas Roche  <roche@adacore.com>

	* s-traces-default.adb, s-trafor-default.adb, s-trafor-default.ads,
	s-traces.adb, s-traces.ads, s-tratas-default.adb, s-tfsetr-default.adb,
	s-tfsetr-vxworks.adb, s-tratas.adb, s-tratas.ads, s-tasuti.adb,
	s-parame-hpux.ads, s-tassta.adb, s-taasde.adb, s-tasren.adb,
	s-taprob.adb, a-caldel.adb, s-parame.ads, Makefile.rtl, s-tpobop.adb,
	s-taenca.adb, s-parame-vxworks.ads: Remove support for System.Traces.

2017-09-07  Yannick Moy  <moy@adacore.com>

	* a-ngelfu.ads Add preconditions to all functions
	listed in Ada RM A.5.1(19-33) as having constraints on inputs.

2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* lib-xref.adb (Generate_Reference): ignore
	references to entities which are Part_Of single concurrent
	objects.

2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb (Hide_Public_Entities): Add paragraph to main
	comment.

2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* a-taside.adb (Activation_Is_Complete): Raise Program_Error if
	Null_Task_Id is passed.

2017-09-07  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Access_Disp_Table_Elab_Flag): New
	attribute. Defined for record types and subtypes.
	* exp_ch3.ads (Init_Secondary_Tags): Adding new formal
	(Init_Tags_List) to facilitate generating separate code in the
	IP routine to initialize the object components and for completing
	the elaboration of dispatch tables.
	* exp_ch3.adb (Build_Init_Procedure): Improve the code
	generated in the IP routines by means of keeping separate
	the initialization of the object components from the
	initialization of its dispatch tables.	(Init_Secondary_Tags):
	Adding new formal (Init_Tags_List) and adjusting calls to
	Ada.Tags.Set_Dynamic_Offset_To_Top since it has a new formal;
	adjusting also calls to Ada.Tags.Register_Interface_Offset
	because the type of one of its formals has been changed.
	* a-tags.ads, a-tags.adb (Register_Interface_Offset): Profile
	modified. Instead of receiving a pointer to an object this
	routine receives now a primary tag.
	(Set_Dyanic_Offset_To_Top): Profile modified. This routine receives an
	additional formal: the tag of the primary dispatch table.
	* exp_disp.ads (Elab_Flag_Needed): New subprogram.
	* exp_disp.adb (Elab_Flag_Needed): New subprogram.
	(Make_Tags): Adding the declaration of the elaboration flag (if needed).
	* exp_aggr.adb (Build_Record_Aggr_Code): Adding actual of new
	formal in calls to Init_Secondary_Tags.

2017-09-07  Javier Miranda  <miranda@adacore.com>

	* ghost.adb (Mark_And_Set_Ghost_Instantiation.Check_Ghost_Actuals): New
	subprogram.
	* sem_prag.adb (Pragma_Ghost): Add missing support for ghost
	applied to generic subprograms.

From-SVN: r251838
2017-09-07 11:53:18 +02:00
Arnaud Charlet
4b25afa16e [multiple changes]
2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb (Check_Part_Of_Reference): rename Conc_Typ to Conc_Obj
	(because it refers to the anonymous concurrent object, not its type);
	fix condition for emitting error message about task/protected type,

2017-09-07  Bob Duff  <duff@adacore.com>

	* binde.adb (Debug_Flag_Old): If both -do and -dp
	are specified, behave as if just -do was specified, rather than
	using a mixture.

2017-09-07  Nicolas Roche  <roche@adacore.com>

	* system-vxworks-sparcv9.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads,
	system-vxworks-m68k.ads, system-vxworks-mips.ads: Removed.

From-SVN: r251837
2017-09-07 11:46:56 +02:00
Arnaud Charlet
1155ae0159 [multiple changes]
2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Find_Role): The Global_Seen flag
	is now consulted not only for abstract states and variables,
	but for all kinds of items.
	(Collect_Subprogram_Inputs_Outputs): Do not process formal
	generic parameters, because unlike ordinary formal parameters,
	generic formals only act as input/ outputs if they are explicitly
	mentioned in a Global contract.

2017-09-07  Yannick Moy  <moy@adacore.com>

	* ghost.adb (Check_Ghost_Context): Do not err on ghost code inside
	predicate procedure. Check predicate pragma/aspect with Ghost entity.
	* exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor
	reformatting.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim
	(code cleanup);
	* sem_ch3.adb (Build_Derived_Record_Type):i Call
	Copy_Dimensions_Of_Components after creating the copy of the
	record declaration.
	* sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a
	derived recor type, copy the dikensions if any of each component
	of the parent record to the corresponding component declarations
	of the derived record. These expressions are used among other
	things as default values in aggregates with box associations.
	* a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb,
	repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb:
	Minor reformatting.

2017-09-07  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb: Remove extra space after THEN.

2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb (Has_Referencer): For a subprogram renaming,
	also mark the renamed subprogram as referenced.

From-SVN: r251836
2017-09-07 11:40:16 +02:00
Arnaud Charlet
0691ed6bd6 [multiple changes]
2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* par-ch6.adb (P_Subprogram): Improve error message on null
	procedure with misplaced aspect specification, which the parser
	first attempts to interpret as a malformed expression function.

2017-09-07  Gary Dismukes  <dismukes@adacore.com>

	* sem_attr.adb (Analyze_Attribute_Old_Result):
	Allow attributes Result and Old in the case of an expression
	function.

2017-09-07  Justin Squirek  <squirek@adacore.com>

	* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Propagate
	Volatile to subcomponents.

2017-09-07  Bob Duff  <duff@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Check for the
	case where a build-in-place function call has been replaced by a
	'Reference attribute reference.

2017-09-07  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb (Has_Referencer): Recurse on Actions of freeze
	nodes.

2017-09-07  Bob Duff  <duff@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration,
	Make_Build_In_Place_Call_In_Anonymous_Context): Do not use the
	secondary stack for all functions that return limited tagged
	types -- just do it for dispatching calls.  Misc cleanup.
	* sem_util.ads, sem_util.adb (Unqual_Conv): New function to
	remove qualifications and type conversions. Fix various bugs
	where only a single level of qualification or conversion was
	removed, so e.g. "T1'(T2'(X))" would incorrectly return "T2'(X)"
	instead of "X".
	* checks.adb, exp_util.ads, exp_util.adb, sem_res.adb: Misc related
	cleanup.

2017-09-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (setr_Actual_Subtypes): Within a predicate function
	do not create actual subtypes that may generate further predicate
	functions.
	* sem_ch13.adb (Build_Predicate_Functions): Indicate that entity
	of body is a predicate function as well.
	(Resolve_Aspect_Expressions, Resolve_Name): For a component
	association, only the expression needs resolution, not the name.
	(Resolve_Aspect_Expressions, case Predicates): Construct and
	analyze the predicate function declaration in the scope of the
	type, before making the type and its discriminants visible.

From-SVN: r251835
2017-09-07 11:33:27 +02:00
Eric Botcazou
a3064a99ee re PR ada/82126 (gnat.dg/alignment3.adb FAILs)
PR ada/82126
	* gnat.dg/alignment3.adb: Add pragma No_Component_Reordering.

From-SVN: r251834
2017-09-07 09:27:31 +00:00
Richard Biener
a7976089db passes.def (pass_split_crit_edges): Remove instance before PRE.
2017-09-07  Richard Biener  <rguenther@suse.de>

	* passes.def (pass_split_crit_edges): Remove instance before PRE.
	* tree-ssa-pre.c (pass_pre::execute): Instead manually split
	critical edges here, after loop init.
	(pass_data_pre): Remove PROP_no_crit_edges flags.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use vn_valueize
	for valueization of call args to avoid leaking VN_TOP.
	(visit_use): Assert we do not visit default defs.
	(init_scc_vn): Use build_decl for VN_TOP to make name nicer.
	Use error_mark_node to more easily detect leaking VN_TOP.
	All default-defs are varying, not VN_TOP.  Mark them visited.
	(run_scc_vn): Make code match comment.

	* gcc.dg/tree-ssa/ssa-thread-12.c: XFAIL third FSM threading
	opportunity.

From-SVN: r251833
2017-09-07 07:44:43 +00:00
Jason Merrill
e76b247239 PR c++/82053 - ICE with default argument in lambda in template
* pt.c (tsubst_arg_types): Substitute default arguments for lambdas
	in templates.
	(retrieve_specialization): Use lambda_fn_in_template_p.
	* cp-tree.h: Declare it.

From-SVN: r251826
2017-09-06 21:02:46 -04:00
GCC Administrator
f4942d7956 Daily bump.
From-SVN: r251825
2017-09-07 00:16:20 +00:00
Jason Merrill
7ab50e1794 PR c++/82070 - error with nested lambda capture
* pt.c (tsubst_expr) [DECL_EXPR]: Register capture proxies with
	register_local_specialization.

From-SVN: r251819
2017-09-06 15:36:48 -04:00
Michael Meissner
bbd3510114 rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete OPTION_MASK_FLOAT128_KEYWORD.
[gcc]
2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete
	OPTION_MASK_FLOAT128_KEYWORD.
	(POWERPC_MASKS): Likewise.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Delete
	support for the -mfloat128-type option, and make -mfloat128
	default on PowerPC Linux systems.  Define or undefine
	__FLOAT128__ and  __FLOAT128_HARDWARE__ for the current options.
	Define __float128 to be __ieee128 if IEEE 128-bit support is
	enabled, or undefine it.
	(rs6000_cpu_cpp_builtins): Delete defining __FLOAT128__ here.
	Delete defining __FLOAT128_TYPE__.
	* config/rs6000/rs6000.opt (x_TARGET_FLOAT128_TYPE): Delete the
	-mfloat128-type option and make -mfloat128 default on PowerPC
	Linux systems.
	(TARGET_FLOAT128_TYPE): Likewise.
	(-mfloat128-type): Likewise.
	* config/rs6000/rs6000.c (rs6000_option_override_internal):
	Delete the -mfloat128-type option and make -mfloat128 default on
	PowerPC Linux systems.  Always use __ieee128 to be the keyword for
	the IEEE 128-bit type, and map __float128 to __ieee128 if IEEE
	128-bit floating point is enabled.  Change tests from using
	-mfloat128-type to -mfloat128.
	(rs6000_mangle_type): Use the correct mangling for the __float128
	type even if normal long double is restricted to 64-bits.
	(floatn_mode): Enable the _Float128 type by default on VSX Linux
	systems.
	* config/rs6000/rs6000.h (MASK_FLOAT128_TYPE): Delete.
	(MASK_FLOAT128_KEYWORD): Define new shortcut macro.
	(RS6000BTM_FLOAT128): Define in terms of -mfloat128, not
	-mfloat128-type.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Update
	documentation for -mfloat128.

[gcc/testsuite]
2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/float128-1.c: Update options to know that
	-mfloat128 is now on by default on PowerPC VSX systems.  Remove
	-static-libgcc option which is no longer needed.  Use -mvsx or
	-mpower9-vector to enable VSX or hardware IEEE support, rather
	than specifying a particular CPU.
	* gcc.target/powerpc/float128-2.c: Likewise.
	* gcc.target/powerpc/float128-cmp.c: Likewise.
	* gcc.target/powerpc/float128-complex-1.c: Likewise.
	* gcc.target/powerpc/float128-complex-2.c: Likewise.
	* gcc.target/powerpc/float128-hw.c: Likewise.
	* gcc.target/powerpc/float128-mix.c: Likewise.
	* gcc.target/powerpc/float128-type-1.c: Likewise.
	* gcc.target/powerpc/float128-type-2.c: Likewise.
	* gcc.target/powerpc/float128-3.c: New test.
	* gcc.target/powerpc/float128-4.c: Likewise.
	* gcc.target/powerpc/float128-5.c: Likewise.

From-SVN: r251814
2017-09-06 17:41:08 +00:00
Eric Botcazou
3f8cf83477 decl.c (warn_on_field_placement): Issue the warning only if the record type itself comes from source.
* gcc-interface/decl.c (warn_on_field_placement): Issue the warning
	only if the record type itself comes from source.

From-SVN: r251812
2017-09-06 17:22:40 +00:00
Wilco Dijkstra
260da99192 PR78468 - add alloca alignment test
Add an alignment test to check that aligned alloca's really do get
correctly aligned.  Some targets may not ensure SP is always a multiple
of STACK_BOUNDARY (particularly with outgoing arguments), which means
aligned alloca does not get correctly aligned.  This can be fixed either
by aligning the outgoing arguments or setting STACK_BOUNDARY correctly.

    testsuite/
        PR middle-end/78468
	* gcc.dg/pr78468.c: Add alignment test.

From-SVN: r251811
2017-09-06 16:34:54 +00:00
Olivier Hainque
4a40b308ef config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.
2017-09-06  Olivier Hainque  <hainque@adacore.com>

	* config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe.

From-SVN: r251809
2017-09-06 15:51:51 +00:00
Nathan Sidwell
b991151b28 name-lookup.h (lookup_field_1): Delete.
* name-lookup.h (lookup_field_1): Delete.
	(get_class_binding_direct, get_class_binding): Add type_or_fns arg.
	* name-lookup.c	(lookup_field_1): make static
	(method_vec_binary_search, method_vec_linear_search): New.  Broken
	out of ...
	(get_class_binding_direct): ... here.  Add TYPE_OR_FNS argument.
	Do complete search of this level.
	(get_class_binding): Adjust.
	* decl.c (reshape_init_class): Call get_class_binding.
	* search.c (lookup_field_r): Move field searching into
	get_class_binding_direct.

From-SVN: r251808
2017-09-06 15:32:46 +00:00
Arnaud Charlet
ec7f007c77 [multiple changes]
2017-09-06  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch5.adb: Minor reformatting and a typo fix

2017-09-06  Arnaud Charlet  <charlet@adacore.com>

	* sinput-l.ads: minor remove extra period at the end of comment

2017-09-06  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Add_Item_To_Name_Buffer): remove support for
	E_Discriminant.
	(Find_Role): remove support for E_Discriminant.

2017-09-06  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_Simple_Function_Return):
	Add missing implicit type conversion to force displacement of the
	"this" pointer.

From-SVN: r251807
2017-09-06 17:21:11 +02:00
Wish Wu
f6e50a7d64 asan.c (initialize_sanitizer_builtins): Add BT_FN_VOID_UINT8_UINT8...
* asan.c (initialize_sanitizer_builtins): Add
	BT_FN_VOID_UINT8_UINT8, BT_FN_VOID_UINT16_UINT16,
	BT_FN_VOID_UINT32_UINT32, BT_FN_VOID_UINT64_UINT64,
	BT_FN_VOID_FLOAT_FLOAT, BT_FN_VOID_DOUBLE_DOUBLE and
	BT_FN_VOID_UINT64_PTR variables.
	* builtin-types.def (BT_FN_VOID_UINT8_UINT8): New fn type.
	(BT_FN_VOID_UINT16_UINT16): Likewise.
	(BT_FN_VOID_UINT32_UINT32): Likewise.
	(BT_FN_VOID_FLOAT_FLOAT): Likewise.
	(BT_FN_VOID_DOUBLE_DOUBLE): Likewise.
	(BT_FN_VOID_UINT64_PTR): Likewise.
	* common.opt (flag_sanitize_coverage): New variable.
	(fsanitize-coverage=trace-pc): Remove.
	(fsanitize-coverage=): Add.
	* flag-types.h (enum sanitize_coverage_code): New enum.
	* fold-const.c (fold_range_test): Disable non-short-circuit
	optimization if flag_sanitize_coverage.
	(fold_truth_andor): Likewise.
	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
	* opts.c (COVERAGE_SANITIZER_OPT): Define.
	(coverage_sanitizer_opts): New array.
	(get_closest_sanitizer_option): Add OPTS argument, handle also
	OPT_fsanitize_coverage_.
	(parse_sanitizer_options): Adjusted to also handle
	OPT_fsanitize_coverage_.
	(common_handle_option): Add OPT_fsanitize_coverage_.
	* sancov.c (instrument_comparison, instrument_switch): New function.
	(sancov_pass): Add trace-cmp support.
	* sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_CMP1,
	BUILT_IN_SANITIZER_COV_TRACE_CMP2, BUILT_IN_SANITIZER_COV_TRACE_CMP4,
	BUILT_IN_SANITIZER_COV_TRACE_CMP8,
	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP1,
	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP2,
	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP4,
	BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP8,
	BUILT_IN_SANITIZER_COV_TRACE_CMPF, BUILT_IN_SANITIZER_COV_TRACE_CMPD,
	BUILT_IN_SANITIZER_COV_TRACE_SWITCH): New builtins.
	* doc/invoke.texi: Document -fsanitize-coverage=trace-cmp.

	* gcc.dg/sancov/cmp0.c: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r251801
2017-09-06 16:30:46 +02:00
Richard Earnshaw
1816130969 [arm] Improve error checking in parsecpu.awk
This patch adds a bit more error checking to parsecpu.awk to ensure
that statements are not missing arguments or have excess arguments
beyond those permitted.  It also slightly improves the handling of
errors so that we terminate properly if parsing fails and be as
helpful as we can while in the parsing phase.

	* config/arm/parsecpu.awk (fatal): Note that we've encountered an
	error.  Only quit immediately if parsing is complete.
	(BEGIN): Initialize fatal_err and parse_done.
	(begin fpu, end fpu): Check number of arguments.
	(begin arch, end arch): Likewise.
	(begin cpu, end cpu): Likewise.
	(cname, tune for, tune flags, architecture, fpu, option): Likewise.
	(optalias): Likewise.

From-SVN: r251800
2017-09-06 13:42:54 +00:00
Richard Earnshaw
92f6433e85 [arm] auto-generate arm-isa.h from CPU descriptions
This patch autogenerates arm-isa.h from new entries in arm-cpus.in.
This has the primary advantage that it makes the description file more
self-contained, but it also solves the 'array dimensioning' problem
that Tamar recently encountered.  It adds two new constructs to
arm-cpus.in: features and fgroups.  Fgroups are simply a way of naming
a group of feature bits so that they can be referenced together.  We
follow the convention that feature bits are all lower case, while
fgroups are (predominantly) upper case.  This is helpful as in some
contexts they share the same namespace.  Most of the minor changes in
this patch are related to adopting this new naming convention.

	* config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file.
	* config/arm/arm-isa.h: Delete.  Move definitions to ...
	* arm-cpus.in: ... here.  Use new feature and fgroup values.
	* config/arm/arm.c (arm_option_override): Use lower case for feature
	bit names.
	* config/arm/arm.h (TARGET_HARD_FLOAT): Likewise.
	(TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise.
	* config/arm/parsecpu.awk (END): Add new command 'isa'.
	(isa_pfx): Delete.
	(print_isa_bits_for): New function.
	(gen_isa): New function.
	(gen_comm_data): Use print_isa_bits_for.
	(define feature): New keyword.
	(define fgroup): New keyword.
	* config/arm/t-arm (OPTIONS_H_EXTRA): Add arm-isa.h
	(arm-isa.h): Add rule to generate file.
	* common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower
	case for feature bit names.

From-SVN: r251799
2017-09-06 13:42:46 +00:00
Richard Biener
db04bcf262 tree-ssa-pre.c (NECESSARY): Remove.
2017-09-06  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (NECESSARY): Remove.
	(create_expression_by_pieces): Do not touch pass-local flags.
	(insert_into_preds_of_block): Likewise.
	(do_pre_regular_insertion): Likewise.
	(eliminate_insert): Likewise.
	(eliminate_dom_walker::before_dom_children): Likewise.
	(fini_eliminate): Do not look at inserted_exprs.
	(mark_operand_necessary): Remove.
	(remove_dead_inserted_code): Replace with simple work-list
	algorithm based on inserted_exprs and SSA uses.
	(pass_pre::execute): Re-order fini_eliminate and
	remove_dead_inserted_code.

From-SVN: r251798
2017-09-06 13:26:54 +00:00
Arnaud Charlet
c48e0f2723 [multiple changes]
2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb, sem_aux.adb, sem_res.adb: Minor reformatting.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_ch12.adb (Analyze_Instance_And_Renamings): Refactor to set
	global variable Ignore_SPARK_Mode_Pragmas_In_Instance only once.

2017-09-06  Bob Duff  <duff@adacore.com>

	* sem_ch8.adb: Change Assert to be consistent with
	other similar ones.

2017-09-06  Bob Duff  <duff@adacore.com>

	* binde.adb (Find_Elab_Order): Do not run Elab_Old unless
	requested. Previously, the -do switch meant "run Elab_New and
	Elab_Old and use the order chosen by Elab_Old, possibly with
	debugging printouts comparing the two orders."	Now it means
	"do not run Elab_New." This is of use if there are bugs that
	cause Elab_New to crash.
	(Elab_Position, Num_Chosen): Change type to Nat, to avoid various
	type conversions.
	* ali.ads (Elab_Position): Change type to Nat, to avoid various
	type conversions.

2017-09-06  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix
	reference to SPARK RM.

2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* layout.adb: Use SSU short hand consistently throughout the file.

2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb (Freeze_Record_Type)
	<Sized_Component_Total_Round_RM_Size>: New local variable to
	accumulate the rounded RM_Size of components.  Update it for
	every component whose RM_Size is statically known.  Add missing
	guard to check that bit packing is really required before issuing
	the error about packing.  Swap condition for clarity's sake.
	* sem_prag.adb (Usage_Error): fix reference to
	SPARK RM in comment

2017-09-06  Fedor Rybin  <frybin@adacore.com>

	* makeutl.adb, makeutl.ads, mlib.adb, mlib.ads, mlib-fil.adb,
	mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads,
	mlib-tgt-specific.adb, mlib-tgt-specific.ads,
	mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb,
	mlib-tgt-specific-hpux.adb, mlib-tgt-specific-linux.adb,
	mlib-tgt-specific-mingw.adb, mlib-tgt-specific-solaris.adb,
	mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, mlib-utl.adb,
	mlib-utl.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads,
	prj-attr-pm.adb, prj-attr-pm.ads, prj-com.ads, prj-conf.adb,
	prj-conf.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads,
	prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb,
	prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads,
	prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb,
	prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
	prj-util.adb, prj-util.ads, sinput-p.adb, sinput-p.ads: Remove obsolete
	project manager sources.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Assigment): If the left-hand side is an
	entity of a mutable type and the right-hand side is a conditional
	expression, resolve the alternatives of the conditional using
	the base type of the target entity, because the alternatives
	may have distinct subtypes. This is particularly relevant if
	the alternatives are aggregates.

From-SVN: r251797
2017-09-06 15:21:31 +02:00
Olivier Hainque
a87169db7d vxworks.h (VXCPU_FOR_8548): Correct definition for VxWorks 7.
2017-09-06  Olivier Hainque  <hainque@adacore.com>

	* config/powerpcspe/vxworks.h (VXCPU_FOR_8548): Correct definition
	for VxWorks 7.  Adjust surrounding comments.

From-SVN: r251796
2017-09-06 13:21:10 +00:00
Nathan Sidwell
940ab2e08e class.c (warn_hidden): Don't barf on non-functions.
* class.c (warn_hidden): Don't barf on non-functions.
	* decl2.c (check_classfn): Likewise.  Check template match earlier.

From-SVN: r251795
2017-09-06 13:19:49 +00:00
Nathan Sidwell
1887fb461b name-lookup.c (count_fields): Rename to ...
* name-lookup.c (count_fields): Rename to ...
	(count_class_fields): ... here.  Take a class, don't count
	NULL-named fields.
	(add_fields_to_record_type): Rename to ...
	(field_vec_append_class_fields): ... here.  Take a class, don't
	add NULL-named fields.
	(add_enum_fields_to_record_type): Rename to ...
	(field_vec_append_enum_values): ... here.
	(set_class_bindings): Adjust, assert we added expected number.
	(insert_late_enum_def_bindings): Reimplement.  Create vector if
	there are now sufficient entries.

From-SVN: r251794
2017-09-06 13:14:16 +00:00
Arnaud Charlet
4269edf01c [multiple changes]
2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Apply_Predicate_Check): If the expression is an
	aggregate that is the RHS of an assignment, apply the check to
	the LHS after the assignment, rather than to the aggregate. This
	is more efficient than creating a temporary for the aggregate,
	and prevents back-end crashes when the aggregate includes a
	dynamic "others' association.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_ch12.adb (Analyze_Instance_And_Renamings):
	Set variable to ignore SPARK_Mode in instance before the analysis
	of the generated package declaration.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Resolve_Call): Do not issue a
	message for calls inside expression function, unless body was
	seen and is candidate for inlining.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.adb (Is_Generic_Formal): Handle properly formal packages.
	* sem_ch3.adb (Analyze_Declarations): In a generic subprogram
	body. do not freeze the formals of the generic unit.

2017-09-06  Gary Dismukes  <dismukes@adacore.com>

	* errout.adb (Error_Msg): Separate the
	treatment for warning vs. style messages in inlinings and
	instantiations. Prevents blowups on calls to Warn_Insertion for
	style messages, which should not be called in that case because
	Warning_Msg_Char is not set.

2017-09-06  Justin Squirek  <squirek@adacore.com>

	* sem_prag.adb (Check_VFA_Conflicts): Created
	to group all Volatile_Full_Access checks relating to other
	representation pragmas (Mark_Component_Or_Object): Created
	to centeralize the flagging of attributes for the record type
	component case, a pragma applied individually to a component, and
	the object case.
	(Process_Atomic_Independent_Shared_Volatile):
	Add propagation of certain pragmas to record components and move
	evaluation of VFA checks

From-SVN: r251793
2017-09-06 14:58:27 +02:00
Richard Biener
f6bd566475 20050604-1.c: Adjust to be a better test for correctness of vector lowering.
2017-09-06  Richard Biener  <rguenther@suse.de>

	* gcc.c-torture/execute/20050604-1.c: Adjust to be a better
	test for correctness of vector lowering.

From-SVN: r251792
2017-09-06 12:57:32 +00:00
Richard Biener
1ffbb0160d 2017-09-06 Richard Biener <rguenther@suse.de>
* gimple-ssa-strength-reduction.c
	(find_candidates_dom_walker::before_dom_children): Also allow
	pointer types.

From-SVN: r251791
2017-09-06 12:55:13 +00:00
Richard Biener
796bd467fd re PR target/82108 (Wrong vectorized code generated for x86_64)
2017-09-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/82108
	* tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
	for gap in the non-permutation SLP case.

	* gcc.dg/vect/pr82108.c: New testcase.

From-SVN: r251790
2017-09-06 12:31:52 +00:00
Arnaud Charlet
5e9cb40461 [multiple changes]
2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram):
	Do not warn on conditions that are not obeyed for Inline_Always
	subprograms, when assertions are not enabled.

2017-09-06  Arnaud Charlet  <charlet@adacore.com>

	* sem_util.adb (Unique_Entity): For abstract states return their
	non-limited view.

2017-09-06  Bob Duff  <duff@adacore.com>

	* sem_ch12.adb (Copy_Generic_Node): When we copy a node
	that is a proper body corresponding to a stub, we defer the
	adjustment of the sloc until after the correct adjustment has
	been computed. Otherwise, Adjust_Instantiation_Sloc will ignore
	the adjustment, because it will be outside the range in (the old,
	incorrect) S_Adjustment.
	* inline.adb: Use named notation for readability and uniformity.
	* sinput-l.adb: Minor improvements to debugging output printed
	for Debug_Flag_L.
	* sinput-l.ads (Create_Instantiation_Source): Minor comment
	correction.

2017-09-06  Vincent Celier  <celier@adacore.com>

	* make.adb: Do not invoke gprbuild for -bargs -P.

2017-09-06  Sylvain Dailler  <dailler@adacore.com>

	* sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Adding a
	case when Op is of kind N_Qualified_Expression. In this case,
	the function is called recursively on the subexpression like in
	other cases.
	* make.adb: Minor reformatting

2017-09-06  Justin Squirek  <squirek@adacore.com>

	* einfo.adb (Set_Linker_Section_Pragma): Modify
	Set_Linker_Section_Pragma to be consistant with the "getter"
	Linker_Section_Pragma.
	* exp_ch5.adb (Expand_Formal_Container_Loop): Add proper error
	checking for container loops so that the index cursor is not
	directly changable by the user with the use of E_Loop_Parameter.
	* sem_ch5.adb (Analyze_Block_Statement): Revert previous change.
	* sem_warn.adb (Check_References): Revert previous change.

From-SVN: r251789
2017-09-06 14:27:15 +02:00
Eric Botcazou
c1a42658e7 trans.c (gnat_to_gnu): Try again to translate the prefix after the field if it is incomplete.
2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Try
	again to translate the prefix after the field if it is incomplete.

From-SVN: r251788
2017-09-06 14:23:36 +02:00
Vincent Celier
8a139da059 Makefile.in: Remove the Project Manager from the GNAT tools.
2017-09-06  Vincent Celier  <celier@adacore.com>

        * gcc-interface/Makefile.in: Remove the Project Manager from the GNAT
	tools.

From-SVN: r251787
2017-09-06 14:18:24 +02:00
Arnaud Charlet
315f0c424b [multiple changes]
2017-09-06  Bob Duff  <duff@adacore.com>

	* exp_util.adb (Is_Displace_Call): Make sure it works for indirect
	calls and the like.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Depends_Global): Reinforce test on object
	declarations to only consider valid uses of Global/Depends those on
	single concurrent objects.

2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Check_Record_Representation_Clause): Give an
	error as soon as one of the specified components overlaps the
	parent field.

2017-09-06  Arnaud Charlet  <charlet@adacore.com>

	* sem_prag.ads: minor fix typo in comment.

2017-09-06  Justin Squirek  <squirek@adacore.com>

	* sem_ch5.adb (Analyze_Block_Statement): Verify a block comes
	from source before checking source references.
	* sem_warn.adb (Check_References): Add check for internal block
	before recursing.

2017-09-06  Vincent Celier  <celier@adacore.com>

	* make.adb, makeusg.adb, switch-m.adb, switch-m.ads, make_util.adb,
	make_util.ads, sinput.adb, sinput.ads, clean.adb, gnatls.adb,
	gnatname.adb: Remove the Project Manager from the GNAT tools.

2017-09-06  Bob Duff  <duff@adacore.com>

	* sem_util.ads: Minor comment fix.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Associations, case of Formal_Package):
	Generate a freeze node for the actual of a formal package, if
	the actual is declared in the same unit and has a corresponding
	body, to prevent the current instance from being frozen before
	the actual is.

From-SVN: r251786
2017-09-06 14:16:32 +02:00
Arnaud Charlet
5efb89d0e1 [multiple changes]
2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb (Entity_Table_Size): Change to nearest prime number.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_warn.adb: Minor refactoring.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads, einfo.adb (Get_Classwwide_Pragma): New utility,
	to retrieve the inherited classwide precondition/postcondition
	of a subprogram.
	* freeze.adb (Freeze_Entity): Use Get_Classwide_Pragma when
	freezing a subprogram, to complete the generation of the
	corresponding checking code.

2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Analyze_Inlined_Bodies): Remove restriction on
	loading of parent body with a with clause for the main unit.
	* gcc-interface/decl.c (defer_limited_with_list): Document
	new usage.
	(gnat_to_gnu_entity) <E_Access_Type>: Handle
	completed Taft Amendment types declared in external units like
	types from limited with clauses.  Adjust final processing of
	defer_limited_with_list accordingly.

2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Controlled_Indexing): New routine.
	(Is_Displace_Call): Use routine Strip to remove indirections.
	(Is_Displacement_Of_Object_Or_Function_Result): Code clean up. Add a
	missing case of controlled generalized indexing.
	(Is_Source_Object): Use routine Strip to remove indirections.
	(Strip): New routine.

2017-09-06  Bob Duff  <duff@adacore.com>

	* sysdep.c (__gnat_has_cap_sys_nice): If HAVE_CAPABILITY is defined,
	we include the proper header. Otherwise, we just declare the necessary
	things from the capabilities library. This is so we can build on
	machines without that library, while still enabling that library.
	At run time, we're using weak symbols, so __gnat_has_cap_sys_nice will
	simply return 0 if the library is not present, or not included
	in the link.

2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>

	* exp_dbug.adb (Debug_Renaming_Declaration): Do not create an encoding
	for renamings that involve function calls in prefix form.

2017-09-06  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Analyze_Subtype_Declaration):
	Set Has_Delayed_Freeze on a subtype of an incomplete type.

2017-09-06  Pierre-Marie de Rodat  <derodat@adacore.com>

	* par_sco.adb (Extend_Statement_Sequence): When the accept statement
	has no parameter specification and no entry index, use the entry name
	as the end of the generated SCO statement.

From-SVN: r251785
2017-09-06 14:05:48 +02:00
Steve Baird
643827e990 exp_util.adb (Side_Effect_Free): For CodePeer (only) treat uses of 'Image and related attributes as having side...
2017-09-06  Steve Baird  <baird@adacore.com>

	* exp_util.adb (Side_Effect_Free): For CodePeer (only) treat
	uses of 'Image and related attributes as having side effects in
	order to avoid replicating such uses.
	* pprint.ads (Expression_Image) Add new generic formal flag
	Hide_Temp_Derefs.  The flag defaults to False; CodePeer will
	(eventually) override the default.
	* pprint.adb (Expression_Image) If the new flag is set, then
	suppress the ".all" suffix when displaying a dereference whose
	prefix is a use of a value-capturing compiler temp of the sort
	generated by Expr_Util.Remove_Side_Effects .
	* exp_attr.adb, g-catiio.adb, inline.adb, sem_attr.adb, sem_ch13.adb,
	sem_ch7.adb, sem_dim.adb, sem_util.adb, sem_util.ads, sem_warn.adb:
	Minor reformatting.
	* inline.adb: Minor wording change.

From-SVN: r251784
2017-09-06 14:01:13 +02:00
Arnaud Charlet
66f95f6045 [multiple changes]
2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch7.adb: Update comment.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* einfo.adb, einfo.ads (Is_Subprogram_Or_Entry): New predicate.
	* inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Use new function.
	* sem_util.adb, sem_util.ads (Within_Protected_Type): Renaming
	with slight modification from Is_Subp_Or_Entry_Inside_Protected,
	so that applies to any entity.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Derived_Type_Declaration): Use
	Incomplete_Or_Partial_View rather than local Find_Partial_View.

2017-09-06  Javier Miranda  <miranda@adacore.com>

	* g-catiio.ads, g-catiio.adb (Value): Extended to parse an UTC time
	following ISO-8861.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_dim.adb (Analyze_Dimension): In an instance, a type
	conversion takes its dimensions from the expression, not from
	the context type.
	(Dimensions_Of_Operand): Ditto.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Call_Helper): Do not optimize calls to
	null procedures when GNAT coverage is used, so that their (empty)
	bodies are properly covered.

2017-09-06  Bob Duff  <duff@adacore.com>

	* sem_ch13.adb (Resolve_Aspect_Expressions): If
	the entity is a type with discriminants, make the discriminants
	directly visible in aspect clauses.

2017-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Arithmentic_Op): If both operands are
	Universal_Real and the context is a floating-point type, resolve
	both operands to the target type.

From-SVN: r251783
2017-09-06 13:56:31 +02:00
Arnaud Charlet
7ec25b2bf1 [multiple changes]
2017-09-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-comlin.adb, exp_aggr.adb, exp_ch6.adb, frontend.adb, gnatbind.adb,
	sem_ch3.adb, sem_util.adb: Minor reformatting.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* freeze.adb (Check_Inherited_Conditions): Rewriting
	of inherited preconditions and postconditions should only occur
	in GNATprove mode, that is, when GNATprove_Mode is True, not to
	be confused with SPARK_Mode being On.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* sem_warn.adb (Check_References): Take into
	account possibility of attribute reference as original node.

2017-09-06  Yannick Moy  <moy@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Protect against invalid
	use of attribute.

2017-09-06  Eric Botcazou  <ebotcazou@adacore.com>

	* inline.adb (Split_Unconstrained_Function): Also set Is_Inlined
	on the procedure created to encapsulate the body.
	* sem_ch7.adb: Add with clause for GNAT.HTable.
	(Entity_Table_Size): New constant.
	(Entity_Hash): New function.
	(Subprogram_Table): New instantiation of GNAT.Htable.Simple_HTable.
	(Is_Subprogram_Ref): Rename into...
	(Scan_Subprogram_Ref): ...this. Record references to subprograms in
	the table instead of bailing out on them. Scan the value of constants
	if it is not known at compile time.
	(Contains_Subprograms_Refs): Rename into...
	(Scan_Subprogram_Refs): ...this.
	(Has_Referencer): Scan the body of all inlined subprograms. Reset the
	Is_Public flag on subprograms if they are not actually referenced.
	(Hide_Public_Entities): Beef up comment on the algorithm.
	Reset the table of subprograms on entry.

From-SVN: r251781
2017-09-06 13:52:28 +02:00
Nathan Sidwell
527b7b1957 name-lookup.h (lookup_fnfields_slot_nolazy, [...]): Rename to ...
* name-lookup.h (lookup_fnfields_slot_nolazy,
	lookup_fnfields_slot): Rename to ...
	(get_class_binding_direct, get_class_binding): ... here.
	* name-lookup.c (lookup_fnfields_slot_nolazy,
	lookup_fnfields_slot): Rename to ...
	(get_class_binding_direct, get_class_binding): ... here.
	* cp-tree.h (CLASSTYPE_CONSTRUCTORS, CLASSTYPE_DESTRUCTOR): Adjust.
	* call.c (build_user_type_conversion_1): Adjust.
	(has_trivial_copy_assign_p): Adjust.
	(has_trivial_copy_p): Adjust.
	* class.c (get_basefndecls) Adjust.
	(vbase_has_user_provided_move_assign) Adjust.
	(classtype_has_move_assign_or_move_ctor_p): Adjust.
	(type_build_ctor_call, type_build_dtor_call): Adjust.
	* decl.c (register_dtor_fn): Adjust.
	* decl2.c (check_classfn): Adjust.
	* pt.c (retrieve_specialization): Adjust.
	(check_explicit_specialization): Adjust.
	(do_class_deduction): Adjust.
	* search.c (lookup_field_r): Adjust.
	(look_for_overrides_here, lookup_conversions_r): Adjust.
	* semantics.c (classtype_has_nothrow_assign_or_copy_p): Adjust.
	* tree.c (type_has_nontrivial_copy_init): Adjust.
	* method.c (lazily_declare_fn): Adjust comment.

From-SVN: r251780
2017-09-06 11:17:54 +00:00