Arnaud Charlet [Tue, 2 Aug 2011 13:10:33 +0000 (15:10 +0200)]
[multiple changes]
2011-08-02 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
Minor reformatting.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb: handle properly 'Result when it is a prefix of an
indexed component.
2011-08-02 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb
(Original_Access_Type): Move this attribute to Node26 since there was
an undocumented use of Node21 in E_Access_Subprogram_Type entities
which causes conflicts and breaks the generation of the .NET compiler.
(Interface_Name): Add missing documentation on JGNAT only uses of
this attribute.
From-SVN: r177145
Arnaud Charlet [Tue, 2 Aug 2011 13:08:34 +0000 (15:08 +0200)]
[multiple changes]
2011-08-02 Javier Miranda <miranda@adacore.com>
* exp_pakd.adb (Expand_Packed_Element_Reference): Disable this routine
in CodePeer mode.
2011-08-02 Geert Bosch <bosch@adacore.com>
* cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
(Find_Back_End_Float_Type): Likewise
(Create_Back_End_Float_Types): Likewise
(Create_Float_Types): Likewise
(Register_Float_Type): Likewise
* sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
Nlist and split out type selection in new local Find_Base_Type function.
* sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
Nlist
* stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
2011-08-02 Robert Dewar <dewar@adacore.com>
* inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
alpha order).
* opt.ads: Minor comment change.
* sem_ch12.adb: Minor code reorganization.
From-SVN: r177144
Arnaud Charlet [Tue, 2 Aug 2011 13:05:36 +0000 (15:05 +0200)]
Update dependencies.
From-SVN: r177143
Arnaud Charlet [Tue, 2 Aug 2011 13:02:09 +0000 (15:02 +0200)]
[multiple changes]
2011-08-02 Gary Dismukes <dismukes@adacore.com>
* sem_ch3.adb (Complete_Private_Subtype): Don't append the private
subtype's list of rep items to the list on the full subtype in the case
where the lists are the same.
2011-08-02 Geert Bosch <bosch@adacore.com>
* switch-c.adb (Free): New deallocation procedure to avoid implicitly
using the one from System.Strings, which also deallocates all strings.
From-SVN: r177142
Arnaud Charlet [Tue, 2 Aug 2011 13:00:21 +0000 (15:00 +0200)]
[multiple changes]
2011-08-02 Geert Bosch <bosch@adacore.com>
* gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
function.
* gcc-interface/Make-lang.in: Update dependencies.
2011-08-02 Olivier Hainque <hainque@adacore.com>
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
end_locus.
From-SVN: r177141
Arnaud Charlet [Tue, 2 Aug 2011 12:48:37 +0000 (14:48 +0200)]
[multiple changes]
2011-08-02 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
associated with anonymous access to subprograms.
2011-08-02 Geert Bosch <bosch@adacore.com>
* opt.ads
(Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
(Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
* prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
(Add_Symbol_Definition): Move to switch-c.adb
(Process_Command_Line_Symbol_Definitions): Adjust references to above.
* prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
(Add_Symbol_Definition): Move to switch-c.adb.
* sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
* sem_warn.adb
(Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
Move to warnsw.adb.
* sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
Move to warnsw.adb.
* switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
(Add_Symbol_Definition): Moved from Prepcomp.
* switch-c.ads: Update copyright notice. Use String_List instead of
Argument_List, removing dependency on System.OS_Lib.
From-SVN: r177140
Arnaud Charlet [Tue, 2 Aug 2011 12:44:24 +0000 (14:44 +0200)]
[multiple changes]
2011-08-02 Yannick Moy <moy@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
mode on initialization expression which does not respect SPARK
restrictions.
* sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
if the tree referenced by its argument represents an initialization
expression in SPARK, suitable for initializing an object in an object
declaration.
2011-08-02 Javier Miranda <miranda@adacore.com>
* exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
internally generated access to subprogram with its associated protected
subprogram type.
* einfo.ads, einfo.adb (Original_Access_Type): New attribute.
From-SVN: r177139
Geert Bosch [Tue, 2 Aug 2011 12:41:24 +0000 (12:41 +0000)]
cstand.adb (Register_Float_Type): Print information about type to register, if the Debug_Flag_Dot_B is set.
2011-08-02 Geert Bosch <bosch@adacore.com>
* cstand.adb (Register_Float_Type): Print information about type to
register, if the Debug_Flag_Dot_B is set.
* debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
* rtsfind.ads (RE_Max_Base_Digits): New run time entity.
* sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
with a requested precision of more than Max_Digits digits and no more
than Max_Base_Digits digits, if a range specification is present and the
Predefined_Float_Types list has a suitable type to derive from.
* sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
case of type completion with pragma Import
* sem_prag.adb
(Process_Import_Predefined_Type): Processing to complete a type
with pragma Import. Currently supports floating point types only.
(Set_Convention_From_Pragma): Do nothing without underlying type.
(Process_Convention): Guard against absence of underlying type,
which may happen when importing incomplete types.
(Process_Import_Or_Interface): Handle case of importing predefined
types. Tweak error message.
From-SVN: r177138
Arnaud Charlet [Tue, 2 Aug 2011 12:36:58 +0000 (14:36 +0200)]
[multiple changes]
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
functions to previous change. Reorganize code slightly.
2011-08-02 Geert Bosch <bosch@adacore.com>
* back_end.ads (Register_Type_Proc): New call back procedure type for
allowing the back end to provide information about available types.
(Register_Back_End_Types): New procedure to register back end types.
* back_end.adb (Register_Back_End_Types): Call the back end to enumerate
available types.
* cstand.adb (Back_End_Float_Types): New list for floating point types
supported by the back end.
(Build_Float_Type): Add extra parameter for Float_Rep_Kind.
(Copy_Float_Type): New procedure to make new copies of predefined types.
(Register_Float_Type): New call back procedure to populate the BEFT list
(Find_Back_End_Float_Type): New procedure to find a BEFT by name
(Create_Back_End_Float_Types): New procedure to populate the BEFT list.
(Create_Float_Types): New procedure to create entities for floating
point types predefined in Standard, and put these and any remaining
BEFTs on the Predefined_Float_Types list.
* stand.ads (Predefined_Float_Types): New list for predefined floating
point types that do not have declarations in package Standard.
From-SVN: r177137
Arnaud Charlet [Tue, 2 Aug 2011 12:32:54 +0000 (14:32 +0200)]
[multiple changes]
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb (Get_Code_Unit_Entity): New local function. Returns the
entity node for the unit containing the parameter.
(Add_Inlined_Body): Use it to find the unit containing the subprogram.
(Add_Inlined_Subprogram): Likewise.
* gcc-interface/Make-lang.in: Update dependencies.
2011-08-02 Thomas Quinot <quinot@adacore.com>
* s-stusta.adb (Print): Make sure Pos is always initialized to a
suitable value.
2011-08-02 Ed Falis <falis@adacore.com>
* init.c: Fix conditional compilation so that the fp initialization is
peformed for the MILS VxWorks Guest OS.
From-SVN: r177136
Arnaud Charlet [Tue, 2 Aug 2011 12:26:47 +0000 (14:26 +0200)]
[multiple changes]
2011-08-02 Geert Bosch <bosch@adacore.com>
* a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* sem_type.adb (Covers): Move trivial case to the top and reuse the
computed value of Base_Type.
2011-08-02 Yannick Moy <moy@adacore.com>
* restrict.adb (Check_Restriction): issue an error for any use of
class-wide, even if the No_Dispatch restriction is not set.
* sem_aggr.adb: Correct typos in comments and messages in formal mode
* sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
when completing a private extension, the type named in the private part
is not the same as that named in the visible part.
* sem_res.adb (Resolve_Call): issue an error in formal mode on the use
of an inherited primitive operations of a tagged type or type extension
that returns the tagged type.
* sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
function which returns True for an implicit operation inherited by the
derived type declaration for the argument type.
(Is_SPARK_Object_Reference): move to appropriate place in alphabetic
order.
From-SVN: r177135
Ed Schonberg [Tue, 2 Aug 2011 12:24:07 +0000 (12:24 +0000)]
sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from Process_Bounds...
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
Process_Bounds, to perform analysis with expansion of a range or an
expression that is the iteration scheme for a loop.
(Analyze_Iterator_Specification): If domain of iteration is given by a
function call with a controlled result, as is the case if call returns
a predefined container, ensure that finalization actions are properly
generated.
* par-ch3.adb: accept
Ada2012 iterator form in P_Discrete_Range.
From-SVN: r177134
Georg-Johann Lay [Tue, 2 Aug 2011 12:17:43 +0000 (12:17 +0000)]
libgcc.S: Gather related function in the same input section.
* config/avr/libgcc.S: Gather related function in the
same input section.
__divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external
references.
(__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4,
__udivmodsi4, __divmodsi4, __prologue_saves__,
__epilogue_restores__, _exit, __tablejump2__, __tablejump__,
__do_copy_data, __do_clear_bss, __do_global_ctors,
__do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF.
From-SVN: r177133
Javier Miranda [Tue, 2 Aug 2011 10:44:29 +0000 (10:44 +0000)]
sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
2011-08-02 Javier Miranda <miranda@adacore.com>
* sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
* gcc-interface/Make-lang.in: Update dependencies.
2011-08-02 Javier Miranda <miranda@adacore.com>
* sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
determine if the analysis is performed using N or Original_Node (N).
* exp_util.adb (Side_Effect_Free): Code cleanup since the new
functionality of routine Is_Variable avoids code duplication.
* checks.adb (Determine_Range): Handle temporaries generated by
Remove_Side_Effects.
2011-08-02 Javier Miranda <miranda@adacore.com>
* exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
expansion of the condition. Required since the previous analysis was
done with expansion disabled (see Resolve_Quantified_Expression) and
hence checks were not inserted and record comparisons have not been
expanded.
From-SVN: r177132
Arnaud Charlet [Tue, 2 Aug 2011 10:40:00 +0000 (12:40 +0200)]
[multiple changes]
2011-08-02 Ed Falis <falis@adacore.com>
* s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
Update header.
2011-08-02 Bob Duff <duff@adacore.com>
* opt.ads: Minor comment fix.
2011-08-02 Bob Duff <duff@adacore.com>
* sem_ch12.adb (Analyze_Package_Instantiation,
Analyze_Subprogram_Instantiation): Turn off style checking while
analyzing an instance. Whatever style checks that apply to the generic
unit should apply, so it makes no sense to apply them in an instance.
This was causing trouble when compiling an instance of a runtime
unit that violates the -gnatyO switch.
* stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
one of the two case statements, causing spurious errors.
2011-08-02 Robert Dewar <dewar@adacore.com>
* uname.adb: Minor reformatting.
* gnatcmd.adb: Minor reformatting.
* exp_attr.adb: Minor reformatting.
From-SVN: r177131
Arnaud Charlet [Tue, 2 Aug 2011 10:36:15 +0000 (12:36 +0200)]
[multiple changes]
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
No_Dispatching_Calls, do not look for the Assign primitive, because
predefined primitives are not created in this case.
2011-08-02 Bob Duff <duff@adacore.com>
* stylesw.ads: Minor comment fixes.
2011-08-02 Robert Dewar <dewar@adacore.com>
* freeze.adb (Add_To_Result): New procedure.
2011-08-02 Jose Ruiz <ruiz@adacore.com>
* exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
time, if the specific run-time routines for handling streams of strings
are not available, use the default mechanism.
2011-08-02 Arnaud Charlet <charlet@adacore.com>
* s-regpat.ads: Fix typo.
2011-08-02 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
not null, call it to create the in memory config project file without
parsing an existing default config project file.
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_elim.adb: an abstract subprogram does not need an eliminate
pragma for its descendant to be eliminable.
2011-08-02 Ed Falis <falis@adacore.com>
* init.c: revert to handling before previous checkin for VxWorks
* s-intman-vxworks.adb: delete unnecessary declarations related to
using Ada interrupt facilities for handling signals.
Delete Initialize_Interrupts. Use __gnat_install_handler instead.
* s-intman-vxworks.ads: Import __gnat_install_handler as
Initialize_Interrupts.
* s-taprop-vxworks.adb: Delete Signal_Mask.
(Abort_Handler): change construction of mask to unblock exception
signals.
From-SVN: r177130
Arnaud Charlet [Tue, 2 Aug 2011 10:31:12 +0000 (12:31 +0200)]
[multiple changes]
2011-08-02 Jerome Guitton <guitton@adacore.com>
* a-except-2005.adb (Raise_From_Signal_Handler): Call
Debug_Raise_Exception before propagation starts.
2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch6.adb (Expand_Call): Guard restriction checks with a call
to Restriction_Check_Required.
* sem_ch3.adb (Analyze_Object_Declaration): Likewise.
* sem_res.adb (Resolve_Call): Likewise.
* sem_attr.adb (Check_Stream_Attribute): Likewise.
2011-08-02 Bob Duff <duff@adacore.com>
* stylesw.ads: Update comment.
* style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
* errout.ads: Remove obsolete comment.
2011-08-02 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
(Set_Is_Safe_To_Reevaluate): new procedure.
* sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
assignment is allowed on safe-to-reevaluate variables.
(Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
temporary created to remove side effects in expressions that use
the secondary stack as safe-to-reevaluate.
* exp_util.adb (Side_Effect_Free): Add missing code to handle well
variables that are not true constants.
From-SVN: r177129
Arnaud Charlet [Tue, 2 Aug 2011 10:27:16 +0000 (12:27 +0200)]
[multiple changes]
2011-08-02 Robert Dewar <dewar@adacore.com>
* sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
sem_res.adb, sem_ch6.adb: Minor reformatting.
2011-08-02 Jerome Guitton <guitton@adacore.com>
* a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
From-SVN: r177127
Ed Schonberg [Tue, 2 Aug 2011 10:25:26 +0000 (10:25 +0000)]
sem_ch6.adb (New_Overloaded_Entity, [...]): Do not set Overridden_Operation if subprogram is an initialization procedure.
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
not set Overridden_Operation if subprogram is an initialization
procedure.
From-SVN: r177126
Yannick Moy [Tue, 2 Aug 2011 10:21:47 +0000 (10:21 +0000)]
par-ch6.adb: Correct obsolete name in comments
2011-08-02 Yannick Moy <moy@adacore.com>
* par-ch6.adb: Correct obsolete name in comments
* restrict.adb, restrict.ads (Check_Formal_Restriction): new function
which takes two message arguments (existing function takes one), with
second message used for continuation.
* sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
block statements that originate from a source block statement, not
generated block statements
* sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
symmetry with procedure case
* sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
function to issue an error in formal mode if a package specification
contains more than one tagged type or type extension.
* sem_res.adb (Resolve_Actuals): in formal mode, check that actual
parameters matching formals of tagged types are objects (or ancestor
type conversions of objects), not general expressions. Issue an error
on view conversions that are not involving ancestor conversion of an
extended type.
(Resolve_Type_Conversion): in formal mode, issue an error on the
operand of an ancestor type conversion which is not an object
* sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
procedure so that it works also for actuals of function calls
(Is_Actual_Tagged_Parameter): new function which determines if its
argument is an actual parameter of a formal of tagged type in a
subprogram call
(Is_SPARK_Object_Reference): new function which determines if the tree
referenced by its argument represents an object in SPARK
From-SVN: r177125
Arnaud Charlet [Tue, 2 Aug 2011 10:16:43 +0000 (12:16 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 10:14:09 +0000 (12:14 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 10:07:34 +0000 (12:07 +0200)]
[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
Arnaud Charlet [Tue, 2 Aug 2011 10:06:14 +0000 (12:06 +0200)]
[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
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