Commit Graph

135375 Commits

Author SHA1 Message Date
Eric Botcazou
5dc6778ce1 freeze.adb (Freeze_Array_Type): Remove always true test and unreachable 'else' arm.
2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always
	true test and unreachable 'else' arm.

From-SVN: r219254
2015-01-06 11:35:08 +01:00
Arnaud Charlet
bb6c60f4c6 [multiple changes]
2015-01-06  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Check_Target): Improve error message when
	there are mismatched targets between the on in the configuration
	project file and the specified one, either in the main project
	file or in the --target= switch.

2015-01-06  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Mode and
	Install_Name attribute definitions.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Wrap_Imported_Subprogram): Indicate that the
	generated Import pragma for the internal imported procedure does
	not come from an aspect, so that Is_Imported can be properly
	set for it.

2015-01-06  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch12.adb (Might_Inline_Subp): Record whether
	any subprograms in the generic package are marked with
	pragma Inline_Always (setting flag Has_Inline_Always).
	(Analyze_Package_Instantiation): Add test of Has_Inline_Always
	alongside existing test of Front_End_Inlining as alternative
	conditions for setting Inline_Now. Also add test of
	Has_Inline_Always along with Front_End_Inlining test as an
	alternative condition for setting Needs_Body to False.

2015-01-06  Tristan Gingold  <gingold@adacore.com>

	* i-cpoint.adb (Copy_Array): Handle overlap.

From-SVN: r219253
2015-01-06 11:33:32 +01:00
Arnaud Charlet
3dfe4883e7 [multiple changes]
2015-01-06  Pascal Obry  <obry@adacore.com>

	* bindgen.adb: Minor style fix.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads, sem_util.adb: Minor reformatting.

2015-01-06  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Parse_Project_And_Apply_Config): Reset incomplete
	with flags before parsing the projects.
	* prj-err.adb (Error_Msg): Do nothing if there are incomplete withs.
	* prj-part.adb (Post_Parse_Context_Clause): Set Incomplete_Withs
	to True in the flags, when Ignore_Missing_With is True and an
	imported project cannot be found.
	* prj-proc.adb (Expression): When there are incomplete withs and
	a variable or attribute is not found, set the variable/attribute
	to unknown.
	* prj.ads (Processing_Flags): New flag Incomplete_Withs,
	defaulted to False.

2015-01-06  Vasiliy Fofanov  <fofanov@adacore.com>

	* prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-conf.adb,
	prj-err.adb: Add new switch --no-command-line.

From-SVN: r219252
2015-01-06 11:30:54 +01:00
Arnaud Charlet
59e9bc0b6f [multiple changes]
2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Sloc of wrapper is that of instantiation.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch11.adb: Minor reformatting.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Get_Assoc_Expr): New routine internal to
	Build_Array_Aggr_Code, used to initialized components covered
	by a box association. If the component type is scalar and has
	a default aspect, use it to initialize such components.

2015-01-06  Pascal Obry  <obry@adacore.com>

	* rtinit.c (__gnat_runtime_initialize): Add a parameter to
	control the setup of the exception handler.
	* initialize.c: Remove unused declaration.
	* bindgen.adb: Always call __gnat_runtime_initialize and pass
	whether the exeception handler must be set or not.

From-SVN: r219251
2015-01-06 11:22:41 +01:00
Arnaud Charlet
1a779058e1 [multiple changes]
2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* freeze.adb (Set_SSO_From_Defaults): When setting scalar storage
	order to native from default, make sure to also adjust bit order.
	* exp_aggr.adb: Minor reformatting.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-valllu.adb, s-valllu.ads, s-valuti.ads, s-valuns.adb, s-valuns.ads,
	s-valrea.adb, s-valrea.ads: Add some additional guards for
	Str'Last = Positive'Last.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb, sem_ch8.adb: Ongoing work for wrappers for actual
	subprograms.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Interface_Conversion): Reapply patch.

From-SVN: r219250
2015-01-06 11:20:44 +01:00
Thomas Quinot
375cbc2bec sem_util.ads: Minor reformatting.
2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* sem_util.ads: Minor reformatting.
	* sem_cat.adb (In_RCI_Visible_Declarations): Change back to...
	(In_RCI_Declaration) Return to old name, as proper checking of
	entity being in the visible part depends on entity kind and must
	be done by the caller.

From-SVN: r219249
2015-01-06 11:15:25 +01:00
Arnaud Charlet
fc6d979642 [multiple changes]
2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb, sem_ch12.ads, sem_ch8.adb: Ongoing work for wrappers
	for operators in SPARK.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Revert previous patch again.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Get_Value): In ASIS mode, preanalyze the
	expression in an others association before making copies for
	separate resolution and accessibility checks. This ensures that
	the type of the expression is available to ASIS in all cases,
	in particular if the expression is itself an aggregate.

From-SVN: r219248
2015-01-06 11:13:24 +01:00
Arnaud Charlet
28fa5430b8 [multiple changes]
2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (Has_Independent_Components): Document extended usage.
	* einfo.adb (Has_Independent_Components): Remove obsolete assertion.
	(Set_Has_Independent_Components): Adjust assertion.
	* sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components
	for pragma Atomic_Components.  Set Has_Independent_Components
	on the object instead of the type for an object declaration with
	pragma Independent_Components.

2015-01-06  Olivier Hainque  <hainque@adacore.com>

	* set_targ.adb (Read_Target_Dependent_Values): Set
	Long_Double_Index when "long double" is read.
	(elaboration code): Register_Back_End_Types only when not reading from
	config files. Doing otherwise is pointless and error prone.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if
	Str'Last = Positive'Last.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Matches_Limited_View): Handle properly the case
	where the non-limited type is a generic actual and appears as
	a subtype of the non-limited view of the other.
	* freeze.adb (Build_Renamed_Body): If the return type of the
	declaration that is being completed is a limited view and the
	non-limited view is available, use it in the specification of
	the generated body.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Reapplying reversed patch.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Name): If there is a previous tagged
	incomplete view, the type of the classwide type common to both
	views is the type being declared.

From-SVN: r219247
2015-01-06 11:08:52 +01:00
Eric Botcazou
8a52daeeb0 einfo.ads (Is_Independent): Further document extended usage.
2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (Is_Independent): Further document extended usage.

From-SVN: r219246
2015-01-06 11:04:22 +01:00
Eric Botcazou
6ced6aa2aa einfo.ads (Is_Independent): Document extended usage.
2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.ads (Is_Independent): Document extended usage.
	* einfo.adb (Is_Independent): Remove obsolete assertion.
	(Set_Is_Independent): Likewise.
	* sem_prag.adb (Process_Atomic_Shared_Volatile): Rename into...
	(Process_Atomic_Independent_Shared_Volatile): ...this.
	Deal with pragma Independent here.
	(Analyze_Pragma): Adjust
	to above renaming and also invoke it for pragma Independent.
	Adjust comment for Independent_Components.

From-SVN: r219245
2015-01-06 11:03:43 +01:00
Robert Dewar
61ae296d2b snames.ads-tmpl: Remove entries for attribute Enum_Image.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* snames.ads-tmpl: Remove entries for attribute Enum_Image.
	* exp_attr.adb: Remove reference to Attribute_Enum_Image.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-vallli.adb (Value_Long_Long_Integer): Handle case of Str'Last
	= Positive'Last.
	* s-valllu.adb (Value_Long_Long_Unsigned): Handle case of
	Str'Last = Positive'Last.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Process_Inline): Remove redundant construct
	warning (-gnatw.r) for an ineffective pragma Inline.

From-SVN: r219244
2015-01-06 11:01:05 +01:00
Robert Dewar
21db8699c3 s-valint.adb: Fix typo in last checkin.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-valint.adb: Fix typo in last checkin.
	* s-valuns.adb (Value_Unsigned): More efficient fix for
	Positive'Last case.
	* sem_attr.adb (Analyze_Attribute): Minor reformatting
	(Eval_Attribute): Static ervaluation of 'Img for enumeration types.

From-SVN: r219243
2015-01-06 10:55:03 +01:00
Arnaud Charlet
8d1359c773 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-valint.adb, s-valuns.adb (Value_Integer): Deal with case where
	Str'Last = Positive'Last

2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* xoscons.adb: Display exception information and return non-zero
	exit status in top level exception handler.

From-SVN: r219242
2015-01-06 10:53:40 +01:00
Jakub Jelinek
fb153d02da opts.c (common_handle_option): Add support for -fno-sanitize=all and -f{,no-}sanitize-recover=all.
* opts.c (common_handle_option): Add support for
	-fno-sanitize=all and -f{,no-}sanitize-recover=all.
	* doc/invoke.texi: Document -fno-sanitize=all,
	-f{,no-}sanitize-recover=all.  Document that
	-fsanitize=float-cast-overflow is not enabled
	by -fsanitize=undefined.  Fix up documentation
	of -f{,no-}sanitize-recover.

	* c-c++-common/asan/sanitize-all-1.c: New test.
	* c-c++-common/ubsan/sanitize-all-1.c: New test.
	* c-c++-common/ubsan/sanitize-all-2.c: New test.
	* c-c++-common/ubsan/sanitize-all-3.c: New test.
	* c-c++-common/ubsan/sanitize-all-4.c: New test.

From-SVN: r219241
2015-01-06 10:52:06 +01:00
Arnaud Charlet
a1954e97e7 [multiple changes]
2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb: Code clean up.

2015-01-06  Tristan Gingold  <gingold@adacore.com>

	* targparm.ads: Remove obsolete comment.

From-SVN: r219240
2015-01-06 10:51:49 +01:00
Olivier Hainque
f72a845b32 decl.c (gnat_to_gnu_entity, [...]): When constructing a ref to variable...
2015-01-06  Olivier Hainque  <hainque@adacore.com>
        
	* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable): When
	constructing a ref to variable, update inner_const_flag from the
	variable TREE_READONLY attribute.
	* gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Remove default
	definition.
	(get_target_float_size): Remove.
	(get_target_double_size): Remove.
	(get_target_long_double_size): Remove.

From-SVN: r219239
2015-01-06 10:49:00 +01:00
Pascal Obry
07e188be3b adaint.c (ProcListEvt): Set to NULL.
2015-01-06  Pascal Obry  <obry@adacore.com>

	* adaint.c (ProcListEvt): Set to NULL.
	* rtinit.c: New file.
	(__gnat_rt_init_count): New reference counter set to 0.
	(__gnat_runtime_initialize): Move code here from __gnat_initialize when
	this code is actually needed for the runtime initialization. This
	routine returns immediately if the initialization has already been done.
	* final.c: Revert previous change.
	* rtfinal.c: New file.
	(__gnat_runtime_finalize)[Win32]: Add finalization of the critical
	section and event. The default version of this routine is empty (except
	for the reference counting code). This routine returns immediately if
	some others libraries are referencing the runtime.
	* bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
	remove circuitry to initialize the signal handler as this is
	now done by the runtime initialization routine.
	(Gen_Adafinal): Generate call to Runtime_Finalize.
	* gnat_ugn.texi: Update documentation about concurrency and
	initialization/finalization of the run-time.
	* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
	references to rtfinal.o and rtinit.o

From-SVN: r219238
2015-01-06 10:47:48 +01:00
Arnaud Charlet
7665df2248 Minor reformatting.
From-SVN: r219237
2015-01-06 10:39:03 +01:00
Robert Dewar
4199e8c6fb exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry for Enum_Image.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add dummy entry
	for Enum_Image.
	* sem_attr.adb: Implement Enum_Image attribute.
	* snames.ads-tmpl: Add entries for Enum_Image attribute.

From-SVN: r219236
2015-01-06 10:35:30 +01:00
Arnaud Charlet
db761fee4c [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* namet.ads: Document use of Boolean2 for No_Use_Of_Entity.
	* restrict.ads (No_Use_Of_Entity): New table.
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Ignore No_Use_Of_Entity (will be processed in parser).
	* snames.ads-tmpl: Add entry for Name_No_Use_Of_Entity.

2015-01-06  Vincent Celier  <celier@adacore.com>

	* prj-tree.adb (Imported_Or_Extended_Project_Of): Do not try
	to check for an extended project, if a project does not have
	yet a project declaration.

From-SVN: r219235
2015-01-06 10:32:06 +01:00
Arnaud Charlet
0566484a15 [multiple changes]
2015-01-06  Pierre-Marie Derodat  <derodat@adacore.com>

	* scos.ads: Update documentation about the SCO table build
	process and about table records format.
	* par_sco.ads (SCO_Record): Rename to SCO_Record_Raw.
	(SCO_Record_Filtered): New procedure.
	(Set_SCO_Logical_Operator): New procedure.
	(dsco): Update documentation.
	* par_sco.adb: Update library-level comments.
	(SCO_Generation_State_Type): New type.
	(SCO_Generation_State): New variable.
	(SCO_Raw_Table): New package instanciation.
	(Condition_Pragma_Hash_Table): Rename to SCO_Raw_Hash_Table.
	("<"): New.
	(Tristate): New type.
	(Is_Logical_Operator): Return Tristate and update documentation.
	(Has_Decision): Update call to Is_Logical_Operator and complete
	documentation.
	(Set_Table_Entry): Rename to Set_Raw_Table_Entry, update
	comment, add an assertion for state checking and change
	references to SCO_Table into SCO_Raw_Table.
	(dsco): Refactor to dump the raw and the filtered tables.
	(Process_Decisions.Output_Decision_Operand): Handle putative
	short-circuit operators.
	(Process_Decisions.Output_Element): Update references
	to Set_Table_Entry and to Condition_Pragma_Hash_Table.
	(Process_Decisions.Process_Decision_Operand): Update call
	to Is_Logical_Operator.
	(Process_Decisions.Process_Node): Handle putative short-circuit
	operators and change references to
	SCO_Table into SCO_Raw_Table.
	(SCO_Output): Add an assertion
	for state checking and remove code that used to stamp out SCO entries.
	(SCO_Pragma_Disabled): Change reference to SCO_Table
	into SCO_Raw_Table.
	(SCO_Record): Rename to SCO_Record_Raw,
	add an assertion for state checking and change references
	to SCO_Table into SCO_Raw_Table.
	(Set_SCO_Condition): Add an assertion for state checking, update
	references to Condition_Pragma_Hash_Table and change references to
	SCO_Table into SCO_Raw_Table.
	(Set_SCO_Pragma_Enabled): Add an assertion for state checking and
	change references to SCO_Table into SCO_Raw_Table.
	(Set_SCO_Logical_Operator): New procedure.
	(Traverse_Declarations_Or_Statements.Set_Statement_Entry): Update
	references to Set_Table_Entry and to Condition_Pragma_Hash_Table.
	(SCO_Record_Fildered): New procedure.
	* gnat1drv.adb (Gnat1drv): Invoke the SCO filtering pass.
	* lib-writ.adb (Write_ALI): Invoke the SCO filtering pass and
	output SCOs.
	* par-load.adb (Load): Update reference to SCO_Record.
	* par.adb (Par): Update reference to SCO_Record.
	* put_scos.adb (Put_SCOs): Add an assertion to check that no
	putative SCO condition reaches this end.
	* sem_ch10.adb (Analyze_Proper_Body): Update reference to SCO_Record.
	* sem_res.adb (Resolve_Logical_Op): Validate putative SCOs
	when corresponding to an "and"/"or" operator affected by the
	Short_Circuit_And_Or pragma.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb (Analyze_Use_Package): Give more specific error
	msg for attempted USE of generic subprogram or subprogram.

From-SVN: r219234
2015-01-06 10:30:31 +01:00
Arnaud Charlet
72eaa36512 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-valllu.adb, a-tiinau.adb, a-timoau.adb, a-ztinau.adb, a-ztmoau.adb,
	s-valuns.adb, s-valrea.adb, a-wtflau.adb, a-tiflau.adb, a-ztflau.adb,
	a-wtinau.adb, a-wtmoau.adb: Document recognition of : in place of #.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
	that specify stream subprograms, if the prefix is a class-wide
	type then the generated attribute definition clause must apply
	to the same class-wide type.
	(Default_Iterator): An iterator defined by an aspect of some
	container type T must have a first parameter of type T, T'class,
	or an access to such (from code reading RM 5.5.1 (2/3)).

2015-01-06  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Minor: complete previous change.

2015-01-06  Olivier Hainque  <hainque@adacore.com>

	* set_targ.ads (C_Type_For): New function. Return the name of
	a C type supported by the back-end and suitable as a basis to
	construct the standard Ada floating point type identified by
	the T parameter. This is used as a common ground to feed both
	ttypes values and the GNAT tree nodes for the standard floating
	point types.
	* set_targ.adb (Long_Double_Index): The index at which "long
	double" gets registered in the FPT_Mode_Table. This is useful to
	know whether we have a "long double" available at all and get at
	it's characteristics without having to search the FPT_Mode_Table
	when we need to decide which C type should be used as the
	basis for Long_Long_Float in Ada.
	(Register_Float_Type): Fill Long_Double_Index.
	(FPT_Mode_Index_For): New function. Return the index in
	FPT_Mode_Table that designates the entry corresponding to the
	provided C type name.
	(FPT_Mode_Index_For): New function. Return the index in
	FPT_Mode_Table that designates the entry for a back-end type
	suitable as a basis to construct the standard Ada floating point
	type identified by the input T parameter.
	(elaboration code): Register_Back_End_Types unconditionally,
	so C_Type_For can operate regardless of -gnateT. Do it
	early so we can query it for the floating point sizes, via
	FPT_Mode_Index_For. Initialize Float_Size, Double_Size and
	Long_Double_Size from the FPT_Mode_Table, as cstand will do.
	* cstand.adb (Create_Float_Types): Use C_Type_For to determine
	which C type should be used as the basis for the construction
	of the Standard Ada floating point types.
	* get_targ.ads (Get_Float_Size, Get_Double_Size,
	Get_Long_Double_Size): Remove.
	* get_targ.adb: Likewise.

2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* sem_cat.adb (In_RCI_Declaration): Remove unnecessary
	parameter and rename to...
	(In_RCI_Visible_Declarations): Fix handling of private part of nested
	package.
	(Validate_RCI_Subprogram_Declaration): Reject illegal function
	returning anonymous access in RCI unit.

From-SVN: r219233
2015-01-06 10:24:33 +01:00
Arnaud Charlet
948ed27746 [multiple changes]
2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (New_Overloaded_Entity): In GNATprove mode, a
	function wrapper may be a homonym of another local declaration.
	* sem_ch8.adb (Analyze_Subprogram_Renaming): In GNATprove mode,
	build function and operator wrappers after the actual subprogram
	has been resolved, and replace the standard renaming declaration
	with the declaration of wrapper.
	* sem_ch12.ads (Build_Function_Wrapper, Build_Operator_Wraooer):
	make public for use elsewhere.
	* sem_ch12.adb (Build_Function_Wrapper, Build_Operator_Wraooer):
	rewrite, now that actual is fully resolved when wrapper is
	constructed.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Revert previous change.

From-SVN: r219232
2015-01-06 10:20:55 +01:00
Arnaud Charlet
a921e83c12 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Change name Name_Table_Boolean to
	Name_Table_Boolean1.
	* namet.adb: Change name Name_Table_Boolean to Name_Table_Boolean1
	Introduce Name_Table_Boolean2/3.
	* namet.ads: Change name Name_Table_Boolean to Name_Table_Boolean1
	Introduce Name_Table_Boolean2/3.
	* par-ch13.adb: Change name Name_Table_Boolean to
	Name_Table_Boolean1.

2015-01-06  Bob Duff  <duff@adacore.com>

	* gnat_rm.texi: Improve documentation regarding No_Task_Termination.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregte, Get_Value): For an
	others choice that covers multiple components, analyze each
	copy with the type of the component even in compile-only mode,
	to detect potential accessibility errors.

2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Is_Assignment_Or_Object_Expression): New routine.
	(Resolve_Actuals): An effectively volatile out
	parameter cannot act as an in or in out actual in a call.
	(Resolve_Entity_Name): An effectively volatile out parameter
	cannot be read.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If the body is
	the expansion of an expression function it may be pre-analyzed
	if a 'access attribute is applied to the function, in which case
	last_entity may have been assigned already.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb (Analyze_One_Call): If formal has an incomplete
	type and actual has the corresponding full view, there is no
	error, but a case of use of incomplete type in a predicate or
	invariant expression.

2015-01-06  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Insert_No_Roots): Make sure that the same source
	in two different project tree is checked in both trees, if they
	are sources of two different projects, extended or not.

2015-01-06  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Minor code clean up.
	(Adjust_Global_Switches): Ignore gnatprove_mode in codepeer_mode.

2015-01-06  Bob Duff  <duff@adacore.com>

	* osint.adb (Read_Source_File): Don't print out
	file name unless T = Source.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Variable, Is_OK_Variable_For_Out_Formal):
	recognize improper uses of constant_reference types as actuals
	for in-out parameters.
	(Check_Function_Call): Do not collect identifiers if function
	name is missing because of previous error.

From-SVN: r219231
2015-01-06 10:18:13 +01:00
Robert Dewar
ac16e74cdf ali-util.adb, [...]: Minor change of name Name_Table_Info => Name_Table_Int.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
	ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
	Minor change of name Name_Table_Info => Name_Table_Int.

From-SVN: r219230
2015-01-06 10:14:09 +01:00
Robert Dewar
4b6f99f505 exp_strm.adb (Build_Elementary_Input_Call): Clarify comments in previous checkin.
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb (Build_Elementary_Input_Call): Clarify comments
	in previous checkin.
	* freeze.adb (Freeze_Fixed_Point_Type): Add warning for shaving
	of bounds.
	* sem_prag.adb, sem_ch10.adb, sem_ch6.adb: Minor reformatting.

From-SVN: r219229
2015-01-06 10:12:53 +01:00
Arnaud Charlet
21f30884bc [multiple changes]
2015-01-06  Vincent Celier  <celier@adacore.com>

	* a-strsup.adb (Times (Natural;String;Positive)): Raise
	Length_Error, not Index_Error, when the result is too long.

2015-01-06  Thomas Quinot  <quinot@adacore.com>

	* a-direct.adb (Create_Path): Minor error handling and
	performance improvement.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* checks.ads, sem_ch12.adb: Minor reformatting.
	* exp_ch4.adb (Expand_N_Op_Divide): Generate explicit divide by
	zero check for fixed-point case if Backend_Divide_Checks_On_Target
	is False.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
	Do not set restriction No_Elaboration_Code unless the pragma
	appears in the main unit).

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Is_Regular_With_Clause): Add guard to verify
	that with clause has already been analyzed before checking kind
	of with_clause.

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb (Build_Elementary_Input_Call): Return base type
	(as required by RM).

From-SVN: r219228
2015-01-06 10:10:49 +01:00
Arnaud Charlet
91afcbfd3e [multiple changes]
2015-01-06  Arnaud Charlet  <charlet@adacore.com>

	* a-reatim.adb ("/"): Add explicit pragma Unsuppress (Division_Check).

2015-01-06  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Process_Suppress_Unsuppress): Add extra warning
	for ignoring pragma Suppress (Elaboration_Check) in SPARK mode.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Expand_Interface_Conversion): No displacement
	of the pointer to the object needed when the type of the operand
	is not an interface type and the interface is one of its parent
	types (since they share the primary dispatch table).

From-SVN: r219227
2015-01-06 10:07:29 +01:00
Arnaud Charlet
966fc9c554 [multiple changes]
2015-01-06  Vincent Celier  <celier@adacore.com>

	* prj-env.adb: Minor comment update.

2015-01-06  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Valid_Conversion): Restrict the checks on anonymous
	access types whose target type is an interface type to operands
	that are access types; required to report an error when the
	operand is not an access type.

From-SVN: r219226
2015-01-06 10:03:37 +01:00
Arnaud Charlet
4528ead53a [multiple changes]
2015-01-06  Bob Duff  <duff@adacore.com>

	* a-cfinve.adb (Copy): Set the discriminant to the Length when
	Capacity = 0.
	* a-cofove.ads (Capacity): Add a postcondition.
	* a-cfinve.ads (Capacity): Add a postcondition.
	(Reserve_Capacity): Correct the postcondition in the case where
	Capacity = 0; that means "Capacity => Length (Container)".
	* a-cofove.adb (Elems[c]): Add a comment
	explaining the dangers and how to avoid them.

2015-01-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb: Code clean up.

From-SVN: r219225
2015-01-06 10:02:05 +01:00
Arnaud Charlet
17d01d2135 Minor reformatting.
From-SVN: r219224
2015-01-06 10:01:19 +01:00
Arnaud Charlet
6260b90c23 * gnatvsn.ads: Bump copyright year.
From-SVN: r219223
2015-01-06 09:59:06 +01:00
Arnaud Charlet
de4ac03852 [multiple changes]
2015-01-06  Robert Dewar  <dewar@adacore.com>

	* s-taskin.ads, s-traces.ads: Minor reformatting.
	* exp_util.adb: Minor typo fix.

2015-01-06  Vincent Celier  <celier@adacore.com>

	* gnatls.adb (Search_RTS): Invoke Initialize_Default_Project_Path
	with the runtime name.
	* prj-env.adb (Initialize_Default_Project_Path): When both
	Target_Name and Runtime_Name are not empty string, add to the
	project path the two directories .../lib/gnat and .../share/gpr
	related to the runtime.
	* prj-env.ads (Initialize_Default_Project_Path): New String
	parameter Runtime_Name, defaulted to the empty string.

2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* frontend.adb: Guard against the case where a configuration
	pragma may be split into multiple pragmas and the original
	rewritten as a null statement.
	* sem_prag.adb (Analyze_Pragma): Insert a brand new Check_Policy
	pragma using Insert_Before rather than Insert_Action. This
	takes care of the configuration pragma case where Insert_Action
	would fail.

2015-01-06  Bob Duff  <duff@adacore.com>

	* a-coboho.ads (Element_Access): Add "pragma
	No_Strict_Aliasing (Element_Access);". This is needed because
	we are unchecked-converting from Address to Element_Access.
	* a-cofove.ads, a-cofove.adb (Elems,Elemsc): Fix bounds of the
	result to be 1.

2015-01-06  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Resolve_Actuals): Remove the
	restriction which prohibits volatile actual parameters with
	enabled external propery Async_Writers to act appear in procedure
	calls where the corresponding formal is of mode OUT.

From-SVN: r219222
2015-01-06 09:57:50 +01:00
Eric Botcazou
d3d514a953 * config-list.mk (LIST): Add visium-elf.
From-SVN: r219221
2015-01-06 08:54:46 +00:00
Eric Botcazou
8054942d32 * MAINTAINERS (CPU Port Maintainers): Add myself for Visium port.
From-SVN: r219220
2015-01-06 08:53:16 +00:00
Eric Botcazou
0969ec7d5d configure.ac: Add Visium support.
* configure.ac: Add Visium support.
	* configure: Regenerate.
libgcc/
	* config.host: Add Visium support.
	* config/visium: New directory.
gcc/
	* config.gcc: Add Visium support.
	* configure.ac: Likewise.
	* configure: Regenerate.
	* doc/extend.texi (interrupt attribute): Add Visium.
	* doc/invoke.texi: Document Visium options.
	* doc/install.texi: Document Visium target.
	* doc/md.texi: Document Visium constraints.
	* common/config/visium: New directory.
	* config/visium: Likewise.
gcc/testsuite/
	* lib/target-supports.exp (check_profiling_available): Return 0 for
	Visium.
	(check_effective_target_tls_runtime): Likewise.
	(check_effective_target_logical_op_short_circuit): Return 1 for Visium.
	* gcc.dg/20020312-2.c: Adjust for Visium.
	* gcc.dg/tls/thr-cse-1.c: Likewise
	* gcc.dg/tree-ssa/20040204-1.c: Likewise
	* gcc.dg/tree-ssa/loop-1.c: Likewise.
	* gcc.dg/weak/typeof-2.c: Likewise.

From-SVN: r219219
2015-01-06 08:50:12 +00:00
Arnaud Charlet
9bd59e280c Minor reformatting.
From-SVN: r219218
2015-01-06 09:23:59 +01:00
Segher Boessenkool
31dd2a8669 simplify-rtx.c (simplify_binary_operation_1): Handle more cases for the "(and X (ior (not X) Y) -> (and X Y)" transform.
* simplify-rtx.c (simplify_binary_operation_1): Handle more cases
	for the "(and X (ior (not X) Y) -> (and X Y)" transform.

From-SVN: r219217
2015-01-06 05:29:03 +01:00
Segher Boessenkool
2f48c66c9d combine.c (combine_validate_cost): Do not count the cost of a split I2 twice.
* combine.c (combine_validate_cost): Do not count the cost of a
	split I2 twice.  Do not display it twice in the dump, either.

From-SVN: r219216
2015-01-06 05:24:45 +01:00
Sandra Loosemore
0964f8458a Revert parts of r219199.
2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>

	Revert parts of r219199.

	gcc/
	* doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
	<inttypes.h>.
	([-Wtraditional]): Restore markup on <limits.h>.

From-SVN: r219215
2015-01-05 21:29:02 -05:00
Ian Lance Taylor
5e731d2d16 compiler: Use function receiver name in mangled named type descriptor.
If named types with similar names are defined inside of methods
with similar names, it was possible that the mangled type names would be
the same, leading to multiple definitions of type descriptor and
garbage collection info variables.
This can only occur with similarly named methods across different
receivers, so we use the receiver name to distinguish.

Fixes issue 33.

From-SVN: r219214
2015-01-06 02:27:02 +00:00
Trevor Saunders
2f42e5de44 implement -Wsuggest-override
c-family/

	PR c++/31397
	* c.opt (Wsuggest-override): New option.

cp/

	PR c++/31397
	* class.c (check_for_override): Warn when a virtual function is an
	override not marked override.

gcc/

	PR c++/31397
	* doc/invoke.texi: Document -Wsuggest-override.

From-SVN: r219213
2015-01-06 02:02:47 +00:00
Trevor Saunders
86cfdb4ea9 remove tree_list from warn_hidden ()
cp/

	* class.c (warn_hidden): Use auto_vec<tree> instead of tree_list to
	hold base_fndecls.
	(get_basefndecls): Adjust.

From-SVN: r219212
2015-01-06 02:02:27 +00:00
GCC Administrator
f7d47c8a9b Daily bump.
From-SVN: r219211
2015-01-06 00:16:32 +00:00
Radovan Obradovic
b176bb73b4 re PR rtl-optimization/64287 (Disable -fuse-caller-save when -pg is active)
2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>

	PR rtl-optimization/64287

	gcc/
	* toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
	(process_options): Disable flag_ipa_ra if profiling.

	gcc/testsuite/
	* gcc.dg/aru-2.c: New test.

From-SVN: r219208
2015-01-05 18:42:27 -05:00
Eric Botcazou
dd1ca4c209 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
From-SVN: r219207
2015-01-05 23:28:34 +00:00
Max Filippov
c68360000c Fix loop optimization when ZOL is not available in xtensa configuration
Currently building gcc for xtensa configuration with XCHAL_HAVE_LOOPS
set to 0 fails with the following error:

  xtensa.c:3952: undefined reference to `reorg_loops(bool, hw_doloop_hooks*)'

Only compile target-specific zero-overhead loop optimization code when
TARGET_LOOPS allows it.

2014-12-30  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
	hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
	put under #if TARGET_LOOPS guard.

From-SVN: r219206
2015-01-05 22:22:36 +00:00
Uros Bizjak
389d63bb1e i386.c (output_387_binary_op): Use std::swap.
* config/i386/i386.c (output_387_binary_op): Use std::swap.

From-SVN: r219204
2015-01-05 23:08:07 +01:00
Oleg Endo
c9bd6bcd5d rtlanal.c (refers_to_regno_p): Change return value from int to bool.
gcc/
	* rtlanal.c (refers_to_regno_p): Change return value from int to bool.
	* rtl.h (refers_to_regno_p): Add overload.
	* cse.c: Use it.
	* bt-load.c: Likewise.
	* combine.c: Likewise.
	* df-scan.c: Likewise.
	* sched-deps.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/m32r/m32r.c: Likewise.
	* config/rs6000/spe.md: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/arc/arc.md: Likewise.
	* config/arc/arc.c: Likewise.
	* config/sh/sh.md: Likewise.
	* config/sh/sh.c: Likewise.
	* config/frv/frv.c: Likewise.

From-SVN: r219203
2015-01-05 22:04:53 +00:00
Jakub Jelinek
fca4adf209 re PR sanitizer/64265 (r217669 broke tsan)
PR sanitizer/64265
	* gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
	call as cleanup of the whole body.
	* internal-fn.def (TSAN_FUNC_EXIT): New internal call.
	* tsan.c (replace_func_exit): New function.
	(instrument_func_exit): Moved earlier.
	(instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
	Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
	been found.
	(tsan_pass): Don't call instrument_func_exit.
	* internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
	* tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
	inlining.

From-SVN: r219202
2015-01-05 22:47:51 +01:00