Javier Miranda [Tue, 2 Aug 2011 10:02:23 +0000 (10:02 +0000)]
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
Robert Dewar [Tue, 2 Aug 2011 10:00:08 +0000 (10:00 +0000)]
sem_ch3.adb, [...]: Minor reformatting.
2011-08-02 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_res.adb: Minor reformatting.
From-SVN: r177119
Arnaud Charlet [Tue, 2 Aug 2011 09:57:33 +0000 (11:57 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:55:51 +0000 (11:55 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:53:23 +0000 (11:53 +0200)]
Minor reformatting.
From-SVN: r177116
Robert Dewar [Tue, 2 Aug 2011 09:52:49 +0000 (09:52 +0000)]
sem_res.adb: Minor reformatting.
2011-08-02 Robert Dewar <dewar@adacore.com>
* sem_res.adb: Minor reformatting.
From-SVN: r177115
Robert Dewar [Tue, 2 Aug 2011 09:50:34 +0000 (09:50 +0000)]
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
Arnaud Charlet [Tue, 2 Aug 2011 09:48:59 +0000 (11:48 +0200)]
[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
Robert Dewar [Tue, 2 Aug 2011 09:47:35 +0000 (09:47 +0000)]
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
Arnaud Charlet [Tue, 2 Aug 2011 09:46:08 +0000 (11:46 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:41:50 +0000 (11:41 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:41:30 +0000 (11:41 +0200)]
Fix typo.
From-SVN: r177109
Arnaud Charlet [Tue, 2 Aug 2011 09:28:26 +0000 (11:28 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:25:38 +0000 (11:25 +0200)]
Code clean up.
From-SVN: r177107
Arnaud Charlet [Tue, 2 Aug 2011 09:24:53 +0000 (11:24 +0200)]
Minor reformatting.
From-SVN: r177106
Arnaud Charlet [Tue, 2 Aug 2011 09:24:25 +0000 (11:24 +0200)]
Minor reformatting.
From-SVN: r177105
Arnaud Charlet [Tue, 2 Aug 2011 09:23:40 +0000 (11:23 +0200)]
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
Arnaud Charlet [Tue, 2 Aug 2011 09:21:47 +0000 (11:21 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:17:46 +0000 (11:17 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 09:09:07 +0000 (11:09 +0200)]
[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
Yannick Moy [Tue, 2 Aug 2011 09:07:35 +0000 (09:07 +0000)]
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
Yannick Moy [Tue, 2 Aug 2011 09:05:58 +0000 (09:05 +0000)]
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
Arnaud Charlet [Tue, 2 Aug 2011 09:03:13 +0000 (11:03 +0200)]
[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
Uros Bizjak [Tue, 2 Aug 2011 09:01:37 +0000 (11:01 +0200)]
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
Robert Dewar [Tue, 2 Aug 2011 08:58:37 +0000 (08:58 +0000)]
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
Arnaud Charlet [Tue, 2 Aug 2011 08:19:12 +0000 (10:19 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 08:16:45 +0000 (10:16 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 08:13:21 +0000 (10:13 +0200)]
[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
Robert Dewar [Tue, 2 Aug 2011 08:06:18 +0000 (08:06 +0000)]
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
Ed Schonberg [Tue, 2 Aug 2011 08:03:11 +0000 (08:03 +0000)]
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
Arnaud Charlet [Tue, 2 Aug 2011 07:53:29 +0000 (09:53 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 07:48:59 +0000 (09:48 +0200)]
[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
Javier Miranda [Tue, 2 Aug 2011 07:46:39 +0000 (07:46 +0000)]
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
Arnaud Charlet [Tue, 2 Aug 2011 07:42:46 +0000 (09:42 +0200)]
[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
Alan Modra [Tue, 2 Aug 2011 05:12:37 +0000 (14:42 +0930)]
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
H.J. Lu [Tue, 2 Aug 2011 00:31:07 +0000 (00:31 +0000)]
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
GCC Administrator [Tue, 2 Aug 2011 00:18:50 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177080
H.J. Lu [Mon, 1 Aug 2011 22:32:26 +0000 (22:32 +0000)]
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
Sebastian Pop [Mon, 1 Aug 2011 21:53:07 +0000 (21:53 +0000)]
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
Jason Merrill [Mon, 1 Aug 2011 21:02:07 +0000 (17:02 -0400)]
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
Jason Merrill [Mon, 1 Aug 2011 21:01:59 +0000 (17:01 -0400)]
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
Richard Henderson [Mon, 1 Aug 2011 19:35:43 +0000 (12:35 -0700)]
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
Paolo Carlini [Mon, 1 Aug 2011 19:26:39 +0000 (19:26 +0000)]
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
Anatoly Sokolov [Mon, 1 Aug 2011 19:08:34 +0000 (23:08 +0400)]
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
Joern Rennecke [Mon, 1 Aug 2011 18:30:29 +0000 (18:30 +0000)]
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
H.J. Lu [Mon, 1 Aug 2011 18:21:07 +0000 (18:21 +0000)]
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
Jason Merrill [Mon, 1 Aug 2011 18:14:29 +0000 (14:14 -0400)]
re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
PR c++/49813
* semantics.c (potential_constant_expression_1): Allow any builtin.
(morally_constexpr_builtin_function_p): Remove.
From-SVN: r177066
Uros Bizjak [Mon, 1 Aug 2011 17:13:30 +0000 (19:13 +0200)]
re PR target/49927 (ice in spill_failure, at reload1.c:2120)
PR target/49927
* config/i386/i386.c (ix86_address_subreg_operand): New.
(ix86_decompose_address): Use ix86_address_subreg_operand.
(ix86_legitimate_address_p): Do not assert that subregs satisfy
register_no_elim_operand in DImode.
testsuite/ChangeLog:
PR target/49927
* gcc.target/i386/pr49927.c: New test.
From-SVN: r177064
Ira Rosen [Mon, 1 Aug 2011 16:58:20 +0000 (16:58 +0000)]
re PR tree-optimization/49926 (ice in process_use, at tree-vect-stmts.c:405)
PR tree-optimization/49926
* tree-vect-loop.c (vect_is_slp_reduction): Check that a
statement in a chain doesn't have uses both inside and
outside the loop.
From-SVN: r177063
Robert Dewar [Mon, 1 Aug 2011 16:16:24 +0000 (16:16 +0000)]
sem_util.ads, [...] (Last_Source_Statement): Replaces Last_Source_Node_In_Sequence.
2011-08-01 Robert Dewar <dewar@adacore.com>
* sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
Replaces Last_Source_Node_In_Sequence.
* err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
* errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
parens and blank in string (this was inconsistently implemented).
* errout.ads
(Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
blank in string (this was inconsistently implemented).
* gnat1drv.adb
(Set_Global_Switches): Set formal mode switches appropriately
* opt.ads, opt.adb: Formal mode is now global switches, more consistent
* par-prag.adb
(Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
call Set_Error_Msg_Lang to set "spark" as language name.
* par.adb: Remove unnecessary call to set formal language for errout
* sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
appropriately and call Set_Error_Msg_Lang to set "spark" as language
name.
* sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
calls to it, moved after resolution so that types are known
* sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
result of concatenation is not of type String
(Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
concatenation is not properly restricted
* gnat_rm.texi: Add doc on pragma Spark_95.
* gcc-interface/Makefile.in: Remove obsolete target pairs for
Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r177061
Arnaud Charlet [Mon, 1 Aug 2011 16:09:10 +0000 (18:09 +0200)]
[multiple changes]
2011-08-01 Javier Miranda <miranda@adacore.com>
* sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
condition that detects if the overridden operation must replace an
existing entity.
2011-08-01 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
code declarations inserted by Insert_Actions in each alternative of the
N_Case_Expression node.
2011-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Minor code reorganization.
* sem_util.adb: Minor reformatting.
From-SVN: r177059
Pascal Obry [Mon, 1 Aug 2011 16:06:47 +0000 (16:06 +0000)]
prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
2011-08-01 Pascal Obry <obry@adacore.com>
* prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
* gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
From-SVN: r177058
Arnaud Charlet [Mon, 1 Aug 2011 16:05:30 +0000 (18:05 +0200)]
[multiple changes]
2011-08-01 Yannick Moy <moy@adacore.com>
* par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
literal or operator symbol which is prefixed
* sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
mode on access attributes.
* sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
that concatenation operands are properly restricted in formal mode
(Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
Analyze_Concatenation_Operand. Issue an error in formal mode if the
result of the concatenation has a type different from String.
(Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
Analyze_Quantified_Expression, Analyze_Slice,
Analyze_Null): issue an error in formal mode on unsupported constructs
* sem_ch5.adb
(Analyze_Block_Statement): only issue error on source block statement
* sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
function which returns the last node in a list of nodes for which
Comes_From_Source returns True, if any
* sem_ch6.adb (Check_Missing_Return): minor refactoring to use
Last_Source_Node_In_Sequence
* sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
mode on unsupported constructs
* sem_ch9.adb Do not return after issuing error in formal mode, as the
rest of the actions may be needed later on since the error is marked as
not serious.
* sinfo.ads: Typos in comments.
2011-08-01 Pascal Obry <obry@adacore.com>
* projects.texi: Minor editing.
From-SVN: r177057
Yannick Moy [Mon, 1 Aug 2011 16:02:10 +0000 (16:02 +0000)]
err_vars.ads (Error_Msg_Lang, [...]): new variables for insertion character ~~
2011-08-01 Yannick Moy <moy@adacore.com>
* err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
insertion character ~~
* errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
(Set_Error_Msg_Lang): new procedure which fixes the language for use
with insertion character ~~
(Set_Msg_Text): treat insertion character ~~
* par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
Formal_Error_Msg_... procedures by equivalent Error_Msg_...
procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
errors related to the formal language restriction not serious
(insertion character |).
* par.adb (Par): set formal language for error messages if needed
* sem_ch6.adb (Check_Missing_Return): take into account possible
generated statements at the end of the function
* snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
enumeration value to define a new pragma SPARK_95
* opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
SPARK_Version): new type and variables to store the SPARK version
(none by default).
(SPARK_Mode): return True when SPARK_Version is set
* par-prag.adb: Correct indentation
(Prag): take Pragma_SPARK_95 into account
* sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
into account.
From-SVN: r177056
Robert Dewar [Mon, 1 Aug 2011 15:59:50 +0000 (15:59 +0000)]
sem_ch3.adb, [...]: Minor reformatting
2011-08-01 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
From-SVN: r177055
Pascal Obry [Mon, 1 Aug 2011 15:57:17 +0000 (15:57 +0000)]
prj-part.ads, [...] (Parse): Add Target_Name parameter.
2011-08-01 Pascal Obry <obry@adacore.com>
* prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
Target_Name to Get_Path call.
(Parse_Single_Project): Likewise.
(Post_Parse_Context_Clause): Likewise.
* prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
Call Initialise_Project_Path with the proper Target_Name.
(Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
search path.
(Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
with the proper Target_Name.
* prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
Part.Parse routine.
(Parse_Project_And_Apply_Config): Likewise.
* prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
This is fine as this part of the code is supporting only native
compilation.
* prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
is fine as this part of the code is supporting only native compilation.
From-SVN: r177054
Arnaud Charlet [Mon, 1 Aug 2011 15:54:39 +0000 (17:54 +0200)]
[multiple changes]
2011-08-01 Yannick Moy <moy@adacore.com>
* sem_util.adb (Enter_Name): issue error in formal mode on declaration
of homonym, unless the homonym is one of the cases allowed in SPARK
* par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
package declaration occurring after a body.
2011-08-01 Robert Dewar <dewar@adacore.com>
* checks.adb, exp_ch4.adb: Minor reformatting.
2011-08-01 Javier Miranda <miranda@adacore.com>
* einfo.ads (Access_Disp_Table): Fix documentation.
(Dispatch_Table_Wrappers): Fix documentation.
2011-08-01 Pascal Obry <obry@adacore.com>
* prj-env.adb, prj-env.ads: Minor reformatting.
From-SVN: r177053
Arnaud Charlet [Mon, 1 Aug 2011 15:51:41 +0000 (17:51 +0200)]
[multiple changes]
2011-08-01 Yannick Moy <moy@adacore.com>
* sem_util.ads, sem_util.adb, par.adb, par_util.adb
(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
procedures out of these packages.
* errout.ads, errout.adb
(Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
procedures in of this package
(Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
* par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
on misplaced later vs initial declarations, like in Ada 83
* sem_attr.adb (Processing for Analyze_Attribute): issue error in
formal mode on attribute of private type whose full type declaration
is not visible
* sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
package declaration inside a package specification
(Analyze_Full_Type_Declaration): issue error in formal mode on
controlled type or discriminant type
* sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
user-defined operator means that it should come from the source
(New_Overloaded_Entity): issue error in formal mode on overloaded
entity.
* sem_ch6.ads, sem_ch13.ads: typos in comments.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* atree.adb: Minor reformatting.
* checks.adb: Minor reformatting.
From-SVN: r177052
Arnaud Charlet [Mon, 1 Aug 2011 15:45:30 +0000 (17:45 +0200)]
[multiple changes]
2011-08-01 Vincent Celier <celier@adacore.com>
* s-parame-vms-ia64.ads: Fix typo in comment
Minor reformatting
* s-parame-vms-restrict.ads: Removed, unused.
2011-08-01 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb
(Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
* sem_ch3.adb
(Constrain_Index): Remove side effects in the evaluation of the bounds.
* sem_ch3.ads, sem_ch3.adb
(Is_Constant_Bound): New extended version of the subprogram that was
previously located inside function Exp_Ch3.Is_Variable_Size_Array.
Moved here since it is shared by routines of sem_ch3 and exp_ch3.
* sem_aux.ads (Constant_Value): Fix typo in comment.
* checks.adb (Generate_Index_Checks): New implementation which, for
array objects with constant bounds, generates the runtime check
referencing the bounds of the array type. For other cases this routine
provides its previous behavior obtaining such values from the array
object.
* sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
parent type.
* atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
we cannot have semantic interpretations of the new node.
From-SVN: r177051
Arnaud Charlet [Mon, 1 Aug 2011 15:41:01 +0000 (17:41 +0200)]
[multiple changes]
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
expressions.
2011-08-01 Arnaud Charlet <charlet@adacore.com>
* sem_ch8.adb: Minor code editing.
* s-vxwext.adb: Remove trailing space.
* freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
consistency with other files.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* par-ch10.adb: reject parameterized expressions as compilation unit.
* sem_ch4.adb: handle properly conditional expression with overloaded
then_clause and no else_clause.
2011-08-01 Tristan Gingold <gingold@adacore.com>
* s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
like done by System.Aux_DEC.
* env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
From-SVN: r177050
Georg-Johann Lay [Mon, 1 Aug 2011 15:35:45 +0000 (15:35 +0000)]
avr.h (mcu_type_s): Add errata_skip field.
* config/avr/avr.h (mcu_type_s): Add errata_skip field.
* config/avr/avr-devices.c (avr_mcu_types): Use it.
* config/avr/avr-mcus.def (AVR_MCU): Use it.
* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin
define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__.
* config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit):
Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__
to detect if XJMP must not be skipped.
From-SVN: r177049
Yannick Moy [Mon, 1 Aug 2011 15:34:50 +0000 (15:34 +0000)]
par-endh.adb (Check_End): issue a syntax error in SPARK mode for missing label at end of declaration...
2011-08-01 Yannick Moy <moy@adacore.com>
* par-endh.adb (Check_End): issue a syntax error in SPARK mode for
missing label at end of declaration (subprogram or package)
* par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
of positional and named parameter association
* par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
Error_Msg_SP which adds a prefix to the error message giving the name
of the formal language analyzed
* sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
access result type in subprogram, unconstrained array as result type,.
(Analyze_Subprogram_Declaration): issue an error in formal mode for null
procedure
* sem_ch8.adb: Code clean up.
From-SVN: r177048
Arnaud Charlet [Mon, 1 Aug 2011 15:17:35 +0000 (17:17 +0200)]
[multiple changes]
2011-08-01 Javier Miranda <miranda@adacore.com>
* sem_ch7.adb (Uninstall_Declarations): Remove useless code.
* einfo.ads (Access_Disp_Table): Fix documentation.
(Dispatch_Table_Wrappers): Fix documentation.
* einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
to enforce the documentation of this attribute.
(Set_Is_Interface): Cleanup the assertion.
* exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
the Underlying_Type entity before reading attribute Access_Disp_Table.
* exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
Locate the Underlying_Type before reading attribute Access_Disp_Table.
* exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
the Underlying_Type entity before reading attribute Access_Disp_Table.
* exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
Locate the Underlying_Type entity before reading attribute
Access_Disp_Table.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* s-poosiz.ads: Additional overriding indicators.
2011-08-01 Yannick Moy <moy@adacore.com>
* sem_ch5.adb (Analyze_Exit_Statement): add return after error in
formal mode.
(Analyze_Iteration_Scheme): issue error in formal mode when loop
parameter specification does not include a subtype mark.
* sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
formal mode on abstract subprogram.
(Analyze_Subprogram_Specification): issue error in formal mode on
user-defined operator.
(Process_Formals): issue error in formal mode on access parameter and
default expression.
* sem_ch9.adb (Analyze_Abort_Statement,
Analyze_Accept_Statement, Analyze_Asynchronous_Select,
Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
Analyze_Requeue, Analyze_Selective_Accept,
Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
* sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
issue error in formal mode on user-defined raise statement.
From-SVN: r177047
Arnaud Charlet [Mon, 1 Aug 2011 15:13:25 +0000 (17:13 +0200)]
[multiple changes]
2011-08-01 Thomas Quinot <quinot@adacore.com>
* sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
declaration being hidden when overriding an implicit inherited
subprogram.
* par-ch10.adb (P_Compilation_Unit): In syntax check only mode
(-gnats), do not complain about a source file that contains only a
pragma No_Body.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
variable if already set.
From-SVN: r177046
Arnaud Charlet [Mon, 1 Aug 2011 15:11:02 +0000 (17:11 +0200)]
Update header.
From-SVN: r177045
Arnaud Charlet [Mon, 1 Aug 2011 15:10:28 +0000 (17:10 +0200)]
Update header.
From-SVN: r177044
Arnaud Charlet [Mon, 1 Aug 2011 15:10:11 +0000 (17:10 +0200)]
Switch to GPLv3 run-time license.
From-SVN: r177043
Arnaud Charlet [Mon, 1 Aug 2011 15:08:40 +0000 (17:08 +0200)]
Update to GPLv3 run-time license.
From-SVN: r177042
Alan Modra [Mon, 1 Aug 2011 15:05:24 +0000 (00:35 +0930)]
linux-unwind.h (frob_update_context <__powerpc64__>): Restore for indirect call bcrtl from correct stack slot...
libgcc/
* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
Restore for indirect call bcrtl from correct stack slot, and only
if cfa+40 isn't valid.
gcc/
* config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p): Delete.
* config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
(rs6000_emit_prologue): Don't prematurely return when
TARGET_SINGLE_PIC_BASE. Don't emit eh_frame info in
save_toc_in_prologue case.
(rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
calls_alloca.
From-SVN: r177041
Arnaud Charlet [Mon, 1 Aug 2011 15:05:02 +0000 (17:05 +0200)]
[multiple changes]
2011-08-01 Arnaud Charlet <charlet@adacore.com>
* g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
s-osinte-mingw.ads: Update to GPLv3 run-time license.
Use GNAT instead of GNARL.
2011-08-01 Bob Duff <duff@adacore.com>
* a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
reformatting.
2011-08-01 Yannick Moy <moy@adacore.com>
* debug.adb (d.D) reverve flag for the SPARK mode
(d.E) reverve flag for SPARK generation mode
(d.F) reverve flag for Why generation mode
* opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
functions which return True when the corresponding modes are set
(Formal_Language): return "spark" or "alfa" when in formal verification
mode.
* sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
Error_Msg to prefix the error message with a tag giving the formal
language
(Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
message with a tag giving the formal language
* sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
block statement
(Analyze_Case_Statement): issue error in formal mode on case statement
with a single "others" case alternative
(Analyze_Exit_Statement): issue errors in formal mode on exit
statements which do not respect SPARK restrictions
(Analyze_Goto_Statement): issue error in formal mode on goto statement
(Check_Unreachable_Code): always issue an error (not a warning) in
formal mode on unreachable code (concerns both code after an infinite
loop and after an unconditional jump, both not allowed in SPARK)
* sem_ch6.adb (Analyze_Return_Statement): add call to
Set_Return_Present for a procedure containing a return statement
(already done for functions in Analyze_Function_Return)
(Analyze_Function_Return): issue error in formal mode on extended
return or if return is not last statement in function
(Check_Missing_Return): issue error in formal mode if function does
not end with return or if procedure contains a return
* sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
function to detect if there is an inner scope of its parameter S which
is a loop.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* sem_ch6.ads: Minor reformatting.
From-SVN: r177040
Georg-Johann Lay [Mon, 1 Aug 2011 14:49:57 +0000 (14:49 +0000)]
avr-devices.c: Delete SVN property svn:executable.
* config/avr/avr-devices.c: Delete SVN property svn:executable.
* config/avr/predicates.md: Ditto.
* config/avr/driver-avr.c: Ditto.
* config/avr/genopt.sh: Set SVN property svn:executable to *.
From-SVN: r177039
Arnaud Charlet [Mon, 1 Aug 2011 14:36:39 +0000 (16:36 +0200)]
[multiple changes]
2011-08-01 Javier Miranda <miranda@adacore.com>
* sem_util.adb (Abstract_Interface_List): Complete condition when
processing private type declarations to avoid reading unavailable
attribute.
(Is_Synchronized_Tagged_Type): Complete condition when processing
private extension declaration nodes to avoid reading unavailable
attribute.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Minor reformatting.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
for VMS, instead parametrize the common implementation with
System.Parameters declarations.
From-SVN: r177038
Arnaud Charlet [Mon, 1 Aug 2011 14:30:34 +0000 (16:30 +0200)]
[multiple changes]
2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
* gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
2011-08-01 Tristan Gingold <gingold@adacore.com>
* seh_init.c: Fix SEH handler installation on win64.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
double analysis of an anonymous access to subprogram, because it can
lead to improper sharing of profiles and a back-end crash.
From-SVN: r177037
H.J. Lu [Mon, 1 Aug 2011 13:53:21 +0000 (13:53 +0000)]
Declare size only if BLOCK_REG_PADDING is defined.
2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
* calls.c (emit_library_call_value_1): Declare size only if
BLOCK_REG_PADDING is defined.
From-SVN: r177036
Arnaud Charlet [Mon, 1 Aug 2011 13:50:27 +0000 (15:50 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* make.adb, sem_ch4.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
* sem_util.adb, exp_ch5.adb: Minor reformatting.
2011-08-01 Arnaud Charlet <charlet@adacore.com>
* gnat_rm.texi: Fix definition of Long_Integer.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb: check limit size of static aggregate unconditionally,
to prevent storage exhaustion.
* exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
finalized is a function body, insert the cleanup code before the final
return statement, to prevent spurious warnings.
* s-pooglo.ads: add overriding indicator.
From-SVN: r177035
Kirill Yukhin [Mon, 1 Aug 2011 13:47:31 +0000 (13:47 +0000)]
Add -mlzcnt.
gcc/
2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/49547
* config.gcc (i[34567]86-*-*): Replace abmintrin.h with
lzcntintrin.h.
(x86_64-*-*): Likewise.
* config/i386/i386.opt (mlzcnt): New.
* config/i386/abmintrin.h: File removed.
(__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
* config/i386/lzcntintrin.h: ... here. New file.
(__lzcnt): Rename to ...
(__lzcnt32): ... this.
* config/i386/bmiintrin.h (head): Update copyright year.
(__lzcnt_u16): Removed.
(__lzcnt_u32): Likewise.
(__lzcnt_u64): Likewise.
* config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
is defined, remove abmintrin.h.
* config/i386/cpuid.h (bit_LZCNT): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
LZCNT feature.
* config/i386/i386-c.c (ix86_target_macros_internal): Define
__LZCNT__ if needed.
* config/i386/i386.c (ix86_target_string): New option -mlzcnt.
(ix86_option_override_internal): Handle LZCNT option.
(ix86_valid_target_attribute_inner_p): Likewise.
(struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update.
* config/i386/i386.h (TARGET_LZCNT): New.
(CLZ_DEFINED_VALUE_AT_ZERO): Update.
* config/i386/i386.md (clz<mode>2): Update insn constraint.
(clz<mode>2_lzcnt): Likewise.
* doc/invoke.texi: Mention -mlzcnt option.
* doc/extend.texi: Likewise.
gcc/testsuite/
2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
* gcc.target/i386/i386.exp (check_effective_target_lzcnt): New.
* gcc.target/i386/lzcnt-1.c: New test.
* gcc.target/i386/lzcnt-2.c: Likewise.
* gcc.target/i386/lzcnt-2a.c: Likewise.
* gcc.target/i386/lzcnt-3.c: Likewise.
* gcc.target/i386/lzcnt-4.c: Likewise.
* gcc.target/i386/lzcnt-4a.c: Likewise.
* gcc.target/i386/lzcnt-5.c: Likewise.
* gcc.target/i386/lzcnt-6.c: Likewise.
* gcc.target/i386/lzcnt-6a.c: Likewise.
* gcc.target/i386/lzcnt-check.h: Likewise.
* gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* g++.dg/other/i386-2.C: Likewise.
* g++.dg/other/i386-3.C: Likewise.
From-SVN: r177034
Ed Schonberg [Mon, 1 Aug 2011 13:33:29 +0000 (13:33 +0000)]
sem_ch4.adb (Operator_Check): improve error message when both a with_clause and a use_clause are needed to...
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Operator_Check): improve error message when both a
with_clause and a use_clause are needed to make operator usage legal.
* sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
determine whether a compilation unit is visible within an other,
either through a with_clause in the current unit, or a with_clause in
its library unit or one one of its parents.
From-SVN: r177033
Arnaud Charlet [Mon, 1 Aug 2011 13:29:56 +0000 (15:29 +0200)]
[multiple changes]
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
over an arbitrary expression of an array or container type.
* lib-xref.adb: clarify comment.
2011-08-01 Bob Duff <duff@adacore.com>
* einfo.ads: Minor reformatting.
* debug.adb: Minor comment improvement.
2011-08-01 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
consider hidden subprograms as valid candidates.
2011-08-01 Arnaud Charlet <charlet@adacore.com>
* make.adb (Compile): Strip -mxxx switches in CodePeer mode.
2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Fix typo.
From-SVN: r177031
Arnaud Charlet [Mon, 1 Aug 2011 13:26:49 +0000 (15:26 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
lib-xref.adb: Minor reformatting
2011-08-01 Gary Dismukes <dismukes@adacore.com>
* exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
when to generate a call to Move_Final_List.
(Has_Controlled_Parts): Remove this function.
From-SVN: r177030
Arnaud Charlet [Mon, 1 Aug 2011 13:23:32 +0000 (15:23 +0200)]
[multiple changes]
2011-08-01 Geert Bosch <bosch@adacore.com>
* par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
"," in choice list.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
explicit raise of a predefined exception as Comes_From_Source if the
original N_Raise_Statement comes from source.
2011-08-01 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Add comment.
* sem_ch6.adb: Minor reformatting.
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Refine check for bad component size
clause to avoid rejecting confirming clause when atomic/aliased present.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
better determine whether an entity reference is a write.
* sem_util.adb (Is_LHS): refine predicate to handle assignment to a
subcomponent.
* lib-xref.adb (Output_References): Do no suppress a read reference at
the same location as an immediately preceeding modify-reference, to
handle properly in-out actuals.
2011-08-01 Tristan Gingold <gingold@adacore.com>
* env.c (__gnat_setenv) [VMS]: Refine previous change.
2011-08-01 Quentin Ochem <ochem@adacore.com>
* i-cstrin.adb (New_String): Changed implementation, now uses only the
heap to compute the result.
From-SVN: r177029
Arnaud Charlet [Mon, 1 Aug 2011 13:17:49 +0000 (15:17 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* atree.ads: Minor reformatting.
2011-08-01 Emmanuel Briot <briot@adacore.com>
* g-expect.adb (Get_Command_Output): Fix memory leak.
2011-08-01 Geert Bosch <bosch@adacore.com>
* cstand.adb (P_Float_Type): New procedure to print the definition of
predefined fpt types.
(P_Mixed_Name): New procedure to print a name using mixed case
(Print_Standard): Use P_Float_Type for printing floating point types
* einfo.adb (Machine_Emax_Value): Add preliminary support for quad
precision IEEE float.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Minor reformatting.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
the completion of a generic function, insert the new body rather than
rewriting the original.
2011-08-01 Yannick Moy <moy@adacore.com>
* sinfo.ads, errout.ads: Typos in comments.
From-SVN: r177028
Arnaud Charlet [Mon, 1 Aug 2011 12:50:07 +0000 (14:50 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* par-endh.adb: Minor reformatting.
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Add aspects for library unit pragmas
(Pre_Post_Aspects): New subtype.
* par-ch12.adb (P_Generic): New syntax for aspects in packages
* par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
* par-ch7.adb (P_Package): Remove Decl parameter
(P_Package): Handle new syntax for aspects (before IS)
* par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
new aspect syntax
(P_Task_Definition): Remove Decl parameter, handle new aspect syntax
* par.adb (P_Aspect_Specifications): Add Semicolon parameter
(P_Package): Remove Decl parameter
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
aspects
* sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
specs
* sem_util.ads, sem_util.adb (Static_Boolean): New function
* sinfo.ads: Document new syntax for aspects in packages etc.
* sprint.adb: Handle new syntax of aspects before IS in package
2011-08-01 Thomas Quinot <quinot@adacore.com>
* atree.ads: Minor reformatting.
* sem_prag.adb: Minor reformatting.
2011-08-01 Robert Dewar <dewar@adacore.com>
* exp_util.adb (Insert_Actions): Fix error in handling Actions for
case expr alternative.
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Fix typo.
From-SVN: r177027
Geert Bosch [Mon, 1 Aug 2011 12:41:48 +0000 (12:41 +0000)]
sem_prag.adb (Check_No_Link_Name): New procedure.
2011-08-01 Geert Bosch <bosch@adacore.com>
* sem_prag.adb (Check_No_Link_Name): New procedure.
(Process_Import_Or_Interface): Use Check_No_Link_Name.
* cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
instead of Standard_Long_Long_Float_Size global. Preparation for
eventual removal of per type constants.
* exp_util.ads (Get_Stream_Size): New function returning the stream
size value of subtype E.
* exp_util.adb (Get_Stream_Size): Implement new function.
* exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
function.
* exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
* einfo.adb:
(Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
From-SVN: r177026
Julian Brown [Mon, 1 Aug 2011 12:41:30 +0000 (12:41 +0000)]
configure.ac (fixed-point): Add ARM support.
gcc/
* configure.ac (fixed-point): Add ARM support.
* configure: Regenerate.
* config/arm/arm.c (arm_fixed_mode_set): New struct.
(arm_set_fixed_optab_libfunc): New.
(arm_set_fixed_conv_libfunc): New.
(arm_init_libfuncs): Initialise fixed-point helper libfuncs with
ARM-specific names.
(aapcs_libcall_value): Return sub-word-size fixed-point libcall
return values in SImode.
(arm_return_in_msb): Return fixed-point types in the msb.
(arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
upwards.
(arm_scalar_mode_supported_p): Support fixed-point modes.
(arm_vector_mode_supported_p): Support vector fixed-point modes.
* config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
(LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
(SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
(LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
* config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
New mode iterators.
(qaddsub_suf): New mode attribute.
* config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
vector modes.
* config/arm/predicates.md (sat_shift_operator): New predicate.
* config/arm/arm-fixed.md: New.
* config/arm/arm.md: Include arm-fixed.md.
* config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
libgcc/
* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.
gcc/testsuite/
* gcc.target/arm/fixed-point-exec.c: New test.
From-SVN: r177025
Geert Bosch [Mon, 1 Aug 2011 12:39:29 +0000 (12:39 +0000)]
cstand.adb: Fix comments.
2011-08-01 Geert Bosch <bosch@adacore.com>
* cstand.adb: Fix comments.
* sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
count of arguments.
From-SVN: r177024
Arnaud Charlet [Mon, 1 Aug 2011 12:37:10 +0000 (14:37 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb, sem_cat.adb: Minor reformatting.
2011-08-01 Geert Bosch <bosch@adacore.com>
* atree.ads: Fix comment.
From-SVN: r177023
Julian Brown [Mon, 1 Aug 2011 12:34:15 +0000 (12:34 +0000)]
calls.c (emit_library_call_value_1): Support padding for libcall arguments and return values.
gcc/
* calls.c (emit_library_call_value_1): Support padding for libcall
arguments and return values.
* config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
downwards in big-endian mode.
From-SVN: r177022
Arnaud Charlet [Mon, 1 Aug 2011 12:31:32 +0000 (14:31 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
* par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
* par.adb: Add with for Namet.Sp.
* par-tchk.adb: Minor reformatting.
2011-08-01 Vincent Celier <celier@adacore.com>
* mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
(Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
of the init procedure of a SAL.
* mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
New procedure.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
reformatting.
2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* adaint.c (__gnat_file_time_name_attr): Get rid of warning.
2011-08-01 Thomas Quinot <quinot@adacore.com>
* sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
conformant with its spec (return True only for types that have
an overriding Initialize primitive operation that prevents them from
having preelaborable initialization).
* sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
initialization for controlled types in Ada 2005 or later mode.
From-SVN: r177021
Rainer Orth [Mon, 1 Aug 2011 12:14:21 +0000 (12:14 +0000)]
re PR debug/49887 (.debug_macro breaks many Solaris/SPARC tests)
PR debug/49887
* config/sol2.c (solaris_code_end): Rename to solaris_file_end.
* config/sol2-protos.h: Likewise.
* config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call
solaris_code_end.
* config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine.
* config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call
solaris_file_end.
* config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove.
From-SVN: r177020
Julian Brown [Mon, 1 Aug 2011 12:02:45 +0000 (12:02 +0000)]
Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
libgcc/
* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
(libgcc-std.ver.in): Use above.
* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
LIBGCC2_GNU_PREFIX is defined. Use instead of LIBGCC2_GNU_PREFIX
throughout file.
* config/t-fixedpoint-gnu-prefix: New file.
* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
instead of __PFX__.
From-SVN: r177019
Julian Brown [Mon, 1 Aug 2011 11:55:20 +0000 (11:55 +0000)]
tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
gcc/
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
From-SVN: r177018
Julian Brown [Mon, 1 Aug 2011 11:53:51 +0000 (11:53 +0000)]
final.c (output_addr_const): Print fixed-point constants as decimal not hex.
gcc/
* final.c (output_addr_const): Print fixed-point constants as
decimal not hex.
From-SVN: r177017
Richard Guenther [Mon, 1 Aug 2011 11:51:04 +0000 (11:51 +0000)]
stor-layout.c (initialize_sizetypes): Properly sign-extend bitsiztype TYPE_MAX_VALUE.
2011-08-01 Richard Guenther <rguenther@suse.de>
* stor-layout.c (initialize_sizetypes): Properly sign-extend
bitsiztype TYPE_MAX_VALUE.
From-SVN: r177016
Julian Brown [Mon, 1 Aug 2011 11:46:27 +0000 (11:46 +0000)]
optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point comparison helpers.
* optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point
comparison helpers.
From-SVN: r177015
Robert Dewar [Mon, 1 Aug 2011 10:44:02 +0000 (10:44 +0000)]
aspects.ads, [...]: Add aspect Type_Invariant, Precondition, Postcondition.
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
Postcondition.
(Same_Aspect): New function.
* sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
Type_Invariant, Precondition, Postcondition.
* snames.ads-tmpl: Add Name_Type_Invariant.
From-SVN: r177011
Robert Dewar [Mon, 1 Aug 2011 10:39:44 +0000 (10:39 +0000)]
freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point here.
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
here.
(Freeze_All_Ent): Fix error in handling inherited aspects.
* sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
already analyzed, but don't skip entire processing of a declaration,
that's wrong in some cases of declarations being rewritten.
(Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
Don't delay for integer, string literals
Treat predicates in usual manner for delay, remove special case code,
not needed.
(Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
(Build_Predicate_Function): Update saved expression in aspect
(Build_Invariant_Procedure): Update saved expression in aspect
* exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
of replacement of discriminant references if the reference is simple.
From-SVN: r177010
Robert Dewar [Mon, 1 Aug 2011 10:31:31 +0000 (10:31 +0000)]
aspects.ads, [...]: Add Static_Predicate and Dynamic_Predicate.
2011-08-01 Robert Dewar <dewar@adacore.com>
* aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
* sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
Static_Predicate and Dynamic_Predicate.
(Build_Predicate_Function): Add processing for Static_Predicate
and Dynamic_Predicate.
* sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
(From_Static_Predicate): New flag
* snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
2011-08-01 Robert Dewar <dewar@adacore.com>
* usage.adb: Documentation cleanup for Ada version modes in usage.
* expander.adb: Minor reformatting.
From-SVN: r177009
Arnaud Charlet [Mon, 1 Aug 2011 10:27:49 +0000 (12:27 +0200)]
[multiple changes]
2011-08-01 Robert Dewar <dewar@adacore.com>
* atree.ads: Minor comment fix.
* a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
a-witeio.ads, sem_prag.adb: Minor reformatting.
2011-08-01 Doug Rupp <rupp@adacore.com>
* env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
pointers. Use descrip.h header file for convenience. Add some
comments.
2011-08-01 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
(Freeze_All): Call Check_Aspect_At_End_Of_Declarations
* sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
New procedure.
(Check_Aspect_At_End_Of_Declarations): New procedure
(Analye_Aspect_Specification): Minor changes for above procedures
* sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
specification node as well.
2011-08-01 Pascal Obry <obry@adacore.com>
* adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
Windows files. Use GetFilesAttributes() in this case to check for file
existence instead of returning with an error code.
From-SVN: r177008
Vincent Celier [Mon, 1 Aug 2011 10:15:08 +0000 (10:15 +0000)]
a-stzfix.adb, [...] (Replace_Slice): Fixed computation when High is above Source length.
2011-08-01 Vincent Celier <celier@adacore.com>
* a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
High is above Source length.
From-SVN: r177007
Robert Dewar [Mon, 1 Aug 2011 10:13:07 +0000 (10:13 +0000)]
a-ztexio.ads, [...]: Fix comment.
2011-08-01 Robert Dewar <dewar@adacore.com>
* a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
From-SVN: r177006