Commit Graph

110776 Commits

Author SHA1 Message Date
Arnaud Charlet
176dadf639 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting
	Minor comment addition
	Minor error msg text change

2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
	function. Used to be more precise when we generate a variable plus one
	assignment to remove side effects in the evaluation of the Bound
	expressions.
	(Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
	of the bound expression to force its re-analysis and thus expand the
	associated transient scope (if required). Code cleanup replacing the
	previous code that declared the constant entity by an invocation to
	routine Force_Evaluation which centralizes this work in the frontend.

From-SVN: r177124
2011-08-02 12:16:43 +02:00
Arnaud Charlet
d8b962d80e [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
	(Base_Type): Now uses improved Is_Base_Type function
	* einfo.ads (Base_Type): Inline this function

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
	(Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas

2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Make-lang.in: Update dependencies.
	* gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
	targets.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
	non-simple expression used in delta constraint
	(P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
	index constraint which is not a subtype mark
	* par.adb: With and use Restrict
	* sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
	mode on component type which is not a subtype mark and default
	expression on component
	(Analyze_Subtype_Declaration): issue an error in formal mode on subtype
	of string which does not have a lower index bound equal to 1
	(Array_Type_Declaration): issue an error in formal mode on index or
	component type which is not a subtype mark, and on aliased keyword on
	component
	(Derived_Type_Declaration): issue an error in formal mode on interface,
	limited or abstract type
	(Record_Type_Declaration): issue an error in formal mode on interface
	(Record_Type_Definition): issue an error in formal mode on tagged types
	and type extensions not declared in the specification of a library unit
	package; on null non-tagged record; on variant part

2011-08-02  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
	not declared for qualified library project when Library_Name is not
	declared, but Library_Dir is.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
	pragmas (affects aspects [Component_]Default_Value
	(Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
	component type for the resolution

From-SVN: r177123
2011-08-02 12:14:09 +02:00
Arnaud Charlet
f96b2d8594 [multiple changes]
2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* einfo.adb (Base_Type): Tune implementation for speed.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor reformatting.

From-SVN: r177122
2011-08-02 12:07:34 +02:00
Arnaud Charlet
8b3c64300b [multiple changes]
2011-08-02  Thomas Quinot  <quinot@adacore.com>

	* scos.ads: Update comments.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
	base type, because the parent may be a subtype of a private type whose
	convention is established in a private part.

2011-08-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
	statement in a block when the expansion of the return expression has
	created a finalization chain.
	* freeze.adb (Freeze_Expression): Alphabetize all choices associated
	with the parent node.
	Add N_Extended_Return_Statement to handle the case where a transient
	object declaration appears in the Return_Object_Declarations list of
	an extended return statement.

2011-08-02  Matthew Gingell  <gingell@adacore.com>

	* adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
	unused parameter 'name'.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_elim.adb (Set_Eliminated): If the overridden operation is an
	inherited operation, check whether its alias, which is the source
	operastion that it renames, has been marked eliminated.

From-SVN: r177121
2011-08-02 12:06:14 +02:00
Javier Miranda
cae81f177d exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an in-mode parameter whose type is an access type since it...
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
	in-mode parameter whose type is an access type since it can be used to
	modify its designated object. Enforce code that handles as safe an
	access type that is not access-to-constant but it is the result of a
	previous removal of side-effects.
	(Remove_Side_Effects): Minor code reorganization of cases which require
	no action. Done to incorporate documentation on new cases uncovered
	working in this ticket: no action needed if this routine was invoked
	too early and the nodes are not yet decorated.
	* sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
	to routine Remove_Side_Effects by calls to Force_Evaluation since they
	were issued with actuals that are implicitly provided by
	Force_Evaluation.

From-SVN: r177120
2011-08-02 12:02:23 +02:00
Robert Dewar
218e6deed7 sem_ch3.adb, [...]: Minor reformatting.
2011-08-02  Robert Dewar  <dewar@adacore.com>

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

From-SVN: r177119
2011-08-02 12:00:08 +02:00
Arnaud Charlet
7a489a2b56 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
	to issue an error in formal mode on attribute not supported in this mode
	(Analyze_Attribute): issue errors on standard attributes not supported
	in formal mode.
	* sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
	comment, and issue error in formal mode on modulus which is not a power
	of 2.
	(Process_Range_Expr_In_Decl): issue error in formal mode on non-static
	range.
	* sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
	subtype mark.
	* sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
	operator on modular type (except 'not').

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor reformatting.

From-SVN: r177118
2011-08-02 11:57:33 +02:00
Arnaud Charlet
cb7fa356f0 [multiple changes]
2011-08-02  Arnaud Charlet  <charlet@adacore.com>

	* s-osinte-linux.ads: Minor comment update and reformatting.
	* i-cexten.ads: Make this unit pure, as for its parent.
	Will allow its usage in more contexts if needed.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* s-utf_32.ads: Minor comment fix.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
	operation of a tagged synchronized type, handle the case where the
	controlling argument is overloaded.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
	Replace pragma SPARK_95 with pragma Restrictions (SPARK)
	* par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
	SPARK mode and formal verification mode on processing SPARK restriction
	* s-rident.ads (Restriction_Id): add SPARK restriction in those not
	requiring consistency checking.

From-SVN: r177117
2011-08-02 11:55:51 +02:00
Arnaud Charlet
1089a00a2f Minor reformatting.
From-SVN: r177116
2011-08-02 11:53:23 +02:00
Robert Dewar
5cc9353d57 sem_res.adb: Minor reformatting.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb: Minor reformatting.

From-SVN: r177115
2011-08-02 11:52:49 +02:00
Robert Dewar
e51537ff6c a-cfdlli.ads, [...]: Remove unneeded with of Ada.Containers Remove commented out pragma Inline's...
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
	a-cforse.ads: Remove unneeded with of Ada.Containers
	Remove commented out pragma Inline's
	Move specifications of new subprograms to the actual specs

From-SVN: r177114
2011-08-02 11:50:34 +02:00
Arnaud Charlet
83fa09c5be [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
	a-cforse.ads: Update comments.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb: add attribute name when 'Result has the wrong prefix.

From-SVN: r177113
2011-08-02 11:48:59 +02:00
Robert Dewar
d11cfaf8ee a-cfdlli.ads, [...]: Minor reformatting.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
	a-cforse.ads, a-cofove.ads: Minor reformatting.

From-SVN: r177112
2011-08-02 11:47:35 +02:00
Arnaud Charlet
300b98bbaa [multiple changes]
2011-08-02  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
	a-cofove.ads: Add comments.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Document formal containers.

2011-08-02  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
	are empty sections.

From-SVN: r177111
2011-08-02 11:46:08 +02:00
Arnaud Charlet
19fb051ccb [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
	reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* aspects.adb: New aspects Default_Value and Default_Component_Value
	New format of Aspect_Names table checks for omitted entries
	* aspects.ads: Remove mention of Aspect_Cancel and add documentation on
	handling of boolean aspects for derived types.
	New aspects Default_Value and Default_Component_Value
	New format of Aspect_Names table checks for omitted entries
	* einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
	(Has_Default_Value): New flag
	(Has_Default_Component_Value): New flag
	(Has_Default_Value): New flag
	* par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
	table.
	* par-prag.adb: New pragmas Default_Value and Default_Component_Value
	* sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
	Default_Value and Default_Component_Value
	* sem_prag.adb: New pragmas Default_Value and Default_Component_Value
	New aspects Default_Value and Default_Component_Value
	* snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
	* sprint.adb: Print N_Aspect_Specification node when called from gdb

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
	Minor reformatting.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* i-cstrin.ads: Updates to make Interfaces.C.Strings match RM

From-SVN: r177110
2011-08-02 11:41:50 +02:00
Arnaud Charlet
e443b7f97e Fix typo.
From-SVN: r177109
2011-08-02 11:41:30 +02:00
Arnaud Charlet
5f7747af34 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Aggregate): Fix thinko.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* impunit.adb: Add comment.

From-SVN: r177108
2011-08-02 11:28:26 +02:00
Arnaud Charlet
e14cd9e5ad Code clean up.
From-SVN: r177107
2011-08-02 11:25:38 +02:00
Arnaud Charlet
b9e4854155 Minor reformatting.
From-SVN: r177106
2011-08-02 11:24:53 +02:00
Arnaud Charlet
7394c8cca8 Minor reformatting.
From-SVN: r177105
2011-08-02 11:24:25 +02:00
Arnaud Charlet
277c9abedd sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type has a discriminant specification so that it does not...
* sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
        has a discriminant specification so that it does not include the case
        of derived types
        (Derived_Type_Declaration): move here the test that a derived type has a
        discriminant specification

From-SVN: r177104
2011-08-02 11:23:40 +02:00
Arnaud Charlet
a5fe697b1e [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
	qualification of aggregates in formal mode
	(Is_Top_Level_Aggregate): returns True for an aggregate not contained in
	another aggregate
	(Resolve_Aggregate): complete the test that an aggregate is adequately
	qualified in formal mode

2011-08-02  Pascal Obry  <obry@adacore.com>

	* make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
	* mlib-prj.adb: Supress warning when compiling binder generated file.
	(Build_Library): Supress all warnings when compiling the binder
	generated file.

From-SVN: r177103
2011-08-02 11:21:47 +02:00
Arnaud Charlet
bd65a2d740 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* errout.adb, errout.ads (Check_Formal_Restriction): move procedure
	from here...
	* restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
	* sem_aggr.adb, sem_ch5.adb, sem_util.adb:
	Add with/use clauses to make Check_Formal_Restriction visible

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Generic_Actuals): handle properly actual
	in-parameters when type of the generic formal is private in the generic
	spec and non-private in the body.

2011-08-02  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
	a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
	a-cofove.adb, a-cofove.ads: New files implementing formal containers.
	* impunit.adb, Makefile.rtl: Take new files into account.

From-SVN: r177102
2011-08-02 11:17:46 +02:00
Arnaud Charlet
d4487611a9 [multiple changes]
2011-08-02  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
	inherit library kind.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
	sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.

From-SVN: r177101
2011-08-02 11:09:07 +02:00
Yannick Moy
bd434b3fba sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in formal mode
2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
	formal mode
	* sem_util.adb (Matching_Static_Array_Bounds): proper detection of
	matching static array bounds, taking into account the special case of
	string literals
	* sem_ch3.adb: Typo in comment.

From-SVN: r177100
2011-08-02 11:07:35 +02:00
Yannick Moy
fe5d30682c errout.adb, errout.ads (Check_Formal_Restriction): new procedure which issues an error in formal mode if...
2011-08-02  Yannick Moy  <moy@adacore.com>

	* errout.adb, errout.ads (Check_Formal_Restriction): new procedure
	which issues an error in formal mode if its argument node is originally
	from source
	* sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
	has a discriminant specification so that it does not include the case
	of derived types
	(Derived_Type_Declaration): move here the test that a derived type has a
	discriminant specification
	* sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
	first element of a component association before accessing its choices
	(presence of component association is not enough)
	* exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
	declaration is a library item before accessing the next element in a
	list, as library items are not member of lists
	* sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
	sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
	Check_Formal_Restriction whenever possible.

From-SVN: r177099
2011-08-02 11:05:58 +02:00
Arnaud Charlet
b60a3f2674 [multiple changes]
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
	reference when needed.

2011-08-02  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Fix typo.

2011-08-02  Vincent Celier  <celier@adacore.com>

	* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
	archive file name. Do not use the full path name of archives for Open
	VMS.

From-SVN: r177097
2011-08-02 11:03:13 +02:00
Uros Bizjak
643e867f08 re PR target/47766 ([x32] -fstack-protector doesn't work)
PR target/47766
	* doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
	(stack_protect_test): The pattern compares ptr_mode value.

From-SVN: r177096
2011-08-02 11:01:37 +02:00
Robert Dewar
eaba57fb0a sem_ch12.adb, [...]: New calling sequence for Analyze_Aspect_Specifications
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb, sem_ch11.adb: New calling sequence for
	Analyze_Aspect_Specifications
	* sem_ch13.adb
	(Analyze_Aspect_Specifications): New handling for boolean aspects
	* sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
	* sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
	sequence for Analyze_Aspect_Specifications
	* sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
	* sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Remove handling of delayed boolean
	aspects, since these no longer exist.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (Aspect_Specifications_Present): Always return false on
	semicolon, do not try to see if there are aspects following it.
	* par-ch3.adb (P_Declarative_Items): Better message for unexpected
	aspect spec.

From-SVN: r177095
2011-08-02 10:58:37 +02:00
Arnaud Charlet
8830d1d2a2 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb, aspects.ads: Minor reformatting.

2011-08-02  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
	* sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
	extracted from...
	(Analyze_Aspect_Specifications): ...here.  Call above procedure.

From-SVN: r177094
2011-08-02 10:19:12 +02:00
Arnaud Charlet
7ff2d23439 [multiple changes]
2011-08-02  Yannick Moy  <moy@adacore.com>

	* exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
	mode on subprogram declaration outside of package specification, unless
	it is followed by a pragma Import
	* sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
	Access_Type_Declaration): issue error in formal mode on access type
	(Analyze_Incomplete_Type_Decl): issue error in formal mode on
	incomplete type
	(Analyze_Object_Declaration): issue error in formal mode on object
	declaration which does not respect SPARK restrictions
	(Analyze_Subtype_Declaration): issue error in formal mode on subtype
	declaration which does not respect SPARK restrictions
	(Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
	error in formal mode on digits or delta constraint
	(Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
	decimal fixed point type
	(Derived_Type_Declaration): issue error in formal mode on derived type
	other than type extensions of tagged record types
	* sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
	with check on access definition
	* sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
	mode on protected definition.
	(Analyze_Task_Definition): issue error in formal mode on task definition

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.

From-SVN: r177093
2011-08-02 10:16:45 +02:00
Arnaud Charlet
806f6d3721 [multiple changes]
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch6.adb (Can_Override_Operator): New function.
	(Verify_Overriding_Indicator): Add missing code to check overriding
	indicator in operators. Fixes regression.
	(Check_Overriding_Indicator): Minor reformating after replacing the
	code that evaluates if the subprogram can override an operator by
	invocations to the above new function.
	* einfo.adb
	(Write_Field26_Name): Add missing code to ensure that, following
	the documentation in einfo.ads, this field is not shown as attribute
	"Static_Initialization" on non-dispatching functions.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

	* sem_res.adb (Resolve_Call): A call to
	Ada.Real_Time.Timing_Events.Set_Handler violates restriction
	No_Relative_Delay (AI-0211) only when it sets a relative timing event,
	i.e., when the second parameter is of type Time_Span.

2011-08-02  Vincent Celier  <celier@adacore.com>

	* make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
	with an archive instead of -L<library dir> -l<library name>.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
	mark the base types In_Use in addition to making the operations
	use_visible.

2011-08-02  Ed Falis  <falis@adacore.com>

	* init.c: add and setup __gnat_signal_mask for the exception signals
	* s-inmaop-vxworks.adb: new file.
	* s-intman-vxworks.adb: remove unnecessary initializations and
	simplify remaining
	* s-intman-vxworks.ads: remove unnecessary variable
	* s-taprop-vxworks.adb: simplify signal initialization

From-SVN: r177092
2011-08-02 10:13:21 +02:00
Robert Dewar
780d052e34 sem_ch8.adb: Minor code reorganization, comment updates.
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb: Minor code reorganization, comment updates.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
	* sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
	here from Sem_Res.
	(Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
	(Matching_Static_Array_Bounds): Moved here from Sem_Res

From-SVN: r177091
2011-08-02 10:06:18 +02:00
Ed Schonberg
29efbb8cc6 atree.h, [...]: New subprograms to manipulate Elist5.
2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
	* par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
	* sinfo.ads, sinfo.adb (Used_Operations): new attribute of
	use_type_clauses, to handle more efficiently use_type and use_all_type
	constructs.
	* sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
	Ada2012 Use_All_Type clause.
	(Use_Class_Wide_Operations): new procedure.

From-SVN: r177090
2011-08-02 10:03:11 +02:00
Arnaud Charlet
b0186f718a [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
	sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
	expression to expression function.

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb: transform simple Ada2012 membership into equality only
	if types are compatible.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* sem_res.adb (Matching_Static_Array_Bounds): new function which
	returns True if its argument array types have same dimension and same
	static bounds at each index.
	(Resolve_Actuals): issue an error in formal mode on actuals passed as
	OUT or IN OUT paramaters which are not view conversions in SPARK.
	(Resolve_Arithmetic_Op): issue an error in formal mode on
	multiplication or division with operands of fixed point types which are
	not qualified or explicitly converted.
	(Resolve_Comparison_Op): issue an error in formal mode on comparisons of
	Boolean or array type (except String) operands.
	(Resolve_Equality_Op): issue an error in formal mode on equality
	operators for array types other than String with non-matching static
	bounds.
	(Resolve_Logical_Op): issue an error in formal mode on logical operators
	for array types with non-matching static bounds. Factorize the code in
	Matching_Static_Array_Bounds.
	(Resolve_Qualified_Expression): issue an error in formal mode on
	qualified expressions for array types with non-matching static bounds.
	(Resolve_Type_Conversion): issue an error in formal mode on type
	conversion for array types with non-matching static bounds

From-SVN: r177089
2011-08-02 09:53:29 +02:00
Arnaud Charlet
767bb4e896 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch10.adb: Minor code reorganization (use Nkind_In).

2011-08-02  Ed Schonberg  <schonberg@adacore.com>

	* par-ch9.adb: save location of entry for proper error message.

From-SVN: r177088
2011-08-02 09:48:59 +02:00
Javier Miranda
4ac2477e65 sem_type.ads, [...] (Is_Ancestor): Addition of a new formal (Use_Full_View) which permits this routine to climb...
2011-08-02  Javier Miranda  <miranda@adacore.com>

	* sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
	(Use_Full_View) which permits this routine to climb through the
	ancestors using the full-view of private parents.
	* sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
	Use_Full_View to true in calls to Is_Ancestor.
	* sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
	true in call to Is_Ancestor.
	* exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
	Use_Full_View to true in call to Is_Ancestor.
	* exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
	call to Is_Ancestor.
	* exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
	Use_Full_View to true in calls to Is_Ancestor.
	* exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
	Make_Select_Specific_Data_Table, Register_Primitive,
	Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
	* exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
	to true in call to Is_Ancestor.
	* exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
	Use_Full_View to true in calls to Is_Ancestor.
	* exp_cg.adb
	(Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
	(Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.

From-SVN: r177087
2011-08-02 09:46:39 +02:00
Arnaud Charlet
9f90d12301 [multiple changes]
2011-08-02  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor reformatting.
	* sem_prag.adb: Minor reformatting.

2011-08-02  Tristan Gingold  <gingold@adacore.com>

	* vms_data.ads: Add VMS qualifier for -gnateP.

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
	* par-ch7.adb (P_Package): Proper placement of aspects for package
	decl/instantiation.
	* par-endh.adb (Check_End): Ad Is_Sloc parameter
	(End_Statements): Add Is_Sloc parameterr
	* par.adb (P_Aspect_Specification): New meaning of Decl = Empty
	(Check_End): Ad Is_Sloc parameter
	(End_Statements): Add Is_Sloc parameterr

2011-08-02  Vincent Celier  <celier@adacore.com>

	* ug_words: Add VMS qualifier equivalent to -gnateP:
	/SYMBOL_PREPROCESSING.

2011-08-02  Jose Ruiz  <ruiz@adacore.com>

	* gnat-style.texi: For hexadecimal numeric literals the typical
	grouping of digits is 4 to represent 2 bytes.
	A procedure spec which is split into several lines is indented two
	characters.

2011-08-02  Yannick Moy  <moy@adacore.com>

	* exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
	* sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
	(Resolve_Aggregate): issue errors in formal modes when aggregate is not
	properly qualified
	(Resolve_Array_Aggregate): issue errors in formal modes on non-static
	choice in array aggregate
	(Resolve_Extension_Aggregate): issue errors in formal modes on subtype
	mark as ancestor
	(Resolve_Record_Aggregate): issue errors in formal modes on mixed
	positional and named aggregate for record, or others in record
	aggregate, or multiple choice in record aggregate
	* sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
	array operands to logical operations AND, OR and XOR do not have the
	same static lower and higher bounds
	* sem_ch5.adb, sinfo.ads: Correct typos in comments

From-SVN: r177086
2011-08-02 09:42:46 +02:00
Alan Modra
390fa58886 rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE note for save_LR_around_toc_setup sequence.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
	note for save_LR_around_toc_setup sequence.

From-SVN: r177084
2011-08-02 14:42:37 +09:30
H.J. Lu
d4be16f6d2 Replace long with long long on __lzcnt64.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/lzcntintrin.h (__lzcnt64): Replace long with
	long long.

From-SVN: r177081
2011-08-01 17:31:07 -07:00
GCC Administrator
88b4b6834f Daily bump.
From-SVN: r177080
2011-08-02 00:18:50 +00:00
H.J. Lu
e7ae08e343 Add x32 libstdc++ baseline_symbols.txt.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.

From-SVN: r177076
2011-08-01 15:32:26 -07:00
Sebastian Pop
3c67fd9c30 Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
2011-08-01  Sebastian Pop  <sebastian.pop@amd.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
	* hwint.c: Include diagnostic-core.h.
	(abs_hwi): New.
	(gcd): Moved here...
	(pos_mul_hwi): New.
	(mul_hwi): New.
	(least_common_multiple): Moved here...
	* hwint.h (gcd): ... from here.
	(least_common_multiple): ... from here.
	(HOST_WIDE_INT_MIN): New.
	(HOST_WIDE_INT_MAX): New.
	(abs_hwi): Declared.
	(gcd): Declared.
	(pos_mul_hwi): Declared.
	(mul_hwi): Declared.
	(least_common_multiple): Declared.
	* omega.c (check_pos_mul): Removed.
	(check_mul): Removed.
	(omega_solve_geq): Use pos_mul_hwi instead of check_pos_mul and
	mul_hwi instead of check_mul.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r177075
2011-08-01 21:53:07 +00:00
Jason Merrill
4bbff96e36 re PR c++/49932 ([C++0x] ICE on instantiating decltype(expr)::type with template)
PR c++/49932
gcc/cp/
	* mangle.c (write_prefix): Handle decltype.
libiberty/
	* cp-demangle.c (d_prefix): Handle decltype.

From-SVN: r177074
2011-08-01 17:02:07 -04:00
Jason Merrill
3748a54ca3 re PR c++/49924 ([C++0X] [constexpr] can't initialize a non-static member array of a literal type as a constexpr)
PR c++/49924
	* semantics.c (cxx_eval_vec_init_1): Fix logic.

From-SVN: r177073
2011-08-01 17:01:59 -04:00
Richard Henderson
172c08a544 re PR target/49881 ([AVR] Inefficient stack manipulation around calls)
PR target/49881
        * config/avr/avr.h (PUSH_ROUNDING): New.
        * config/avr/avr.md (pushqi1): Rename from *pushqi.
        (*pushhi, *pushsi, *pushsf): Remove.
        (MPUSH): New mode iterator.
        (push<MPUSH>1): New expander.

From-SVN: r177071
2011-08-01 12:35:43 -07:00
Paolo Carlini
750867b7f4 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath (isinf): Remove workaround.

From-SVN: r177070
2011-08-01 19:26:39 +00:00
Anatoly Sokolov
0d5e496f46 mmix.h (PREFERRED_RELOAD_CLASS, [...]): Remove macro.
* config/mmix/mmix.h (PREFERRED_RELOAD_CLASS,
	PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
	* config/mmix/mmix-protos.h (mmix_preferred_reload_class,
	mmix_preferred_output_reload_class): Remove.
	* config/mmix/mmix.c (mmix_preferred_reload_class,
	mmix_preferred_output_reload_class): Make static. Change rclass
	argument and return type to reg_class_t.
	(TARGET_PREFERRED_RELOAD_CLASS,
	TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.

From-SVN: r177069
2011-08-01 23:08:34 +04:00
Joern Rennecke
a44250f4dd mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER handling.
* mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER
        handling.

From-SVN: r177068
2011-08-01 19:30:29 +01:00
H.J. Lu
efd7630c8f Use ptr_mode for stack protector.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/47766
	* config/i386/i386.md (PTR): New.
	(stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
	(stack_protect_test): Likewise.
	(stack_protect_set_<mode>): Replace ":P" with ":PTR".
	(stack_tls_protect_set_<mode>): Likewise.
	(stack_tls_protect_test_<mode>): Likewise.

From-SVN: r177067
2011-08-01 11:21:07 -07:00