mirror of
https://github.com/autc04/Retro68.git
synced 2024-09-27 12:57:21 +00:00
8695 lines
317 KiB
Plaintext
8695 lines
317 KiB
Plaintext
2012-12-21 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
PR ada/53737
|
||
* sem_ch12.adb (Analyze_Associations): Do not check the legality of
|
||
actuals for RACW types if this is an internal instantiation for a formal
|
||
package with defaulted parameters.
|
||
|
||
2012-12-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* adaint.c: Move directive around.
|
||
* argv.c: Likewise.
|
||
* cio.c: Likewise.
|
||
* cstreams.c: Likewise.
|
||
* env.c: Likewise.
|
||
* exit.c: Likewise.
|
||
* init.c: Likewise.
|
||
* initialize.c: Likewise.
|
||
* raise.c: Likewise.
|
||
* seh_init.c: Likewise.
|
||
* targext.c: Likewise.
|
||
|
||
2012-12-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
Martin Ettl <ettl.martin@gmx.de>
|
||
|
||
PR ada/53996
|
||
* gcc-interface/utils.c (gnat_type_for_size): Use %u in lieu of %d.
|
||
|
||
2012-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (RTS_DIR): Define only if Ada is enabled.
|
||
|
||
2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Assert
|
||
that the type of the prefix is ultimately an array.
|
||
|
||
2012-12-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a
|
||
by-ref VAR_DECL in the case of an Out parameter passed by copy.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, sem_prag.adb, put_scos.adb, get_scos.adb: Minor
|
||
reformatting.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Code clean up.
|
||
|
||
2012-12-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* gcc-interface/lang.opt: New language AdaSCIL.
|
||
* gcc-interface/lang-specs.h: Add specs for adascil language.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Traverse_Aspects): Ensure we always have
|
||
an entry in the sloc -> SCO map for invariants, since
|
||
Set_SCO_Pragma_Enabled is called with that sloc when checks
|
||
are enabled.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor reformatting.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* par-prag.adb: Checks and processing of pragma Assume are
|
||
carried out by Sem_Prag.
|
||
* sem_prag.adb (Analyze_Pragma): Check the legality of pragma
|
||
Assume.
|
||
* snames.ads-tmpl: Add new name Assume. Add a pragma identifier
|
||
for Assume.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.ads, aspects.adb: Add aspect Relative_Deadline.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Process aspect
|
||
Relative_Deadline, and introduce the corresponding pragma within
|
||
the task definition of the task type to which it applies.
|
||
(Check_Aspect_At_Freeze_Point): Expression in a Relative_Deadline
|
||
aspect is of type Time_Span.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Loop_Invariant_Variant_Placement): When pragma
|
||
Loop_[In]variant does not appear immediately within the statements
|
||
of a loop, it must appear in a chain of nested blocks.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
Remove redundant assertion.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb, scos.ads, put_scos.adb, put_scos.ads,
|
||
get_scos.adb: Generation of SCOs for aspects.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Precondition_Postcondition): Remove
|
||
redundant call to Set_SCO_Pragma_Enabled (the pragma will be
|
||
rewritten into a pragma Check later on, and the call will be
|
||
made when processing the rewritten pragma).
|
||
(Analyze_Pragma, case Pragma_Check): Omit call to
|
||
Set_SCO_Pragma_Enabled if Split_PPC is set.
|
||
|
||
2012-12-05 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* tracebak.c: Add partial support for Lynx178.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Improve
|
||
the error message related to loop assertions.
|
||
|
||
2012-12-05 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* atree.ads: Minor reformatting.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.ads, par-ch4.adb, sem_attr.adb, sem_ch13.adb: Minor
|
||
reformatting.
|
||
|
||
2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi (Switches for gcc): Document -flto and reorder.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch5.adb (P_Condition): Handle properly Ada 2012
|
||
expressions that must be parenthesized before checking for
|
||
redundant parentheses when that check is enabled.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb (P_Allocator): In Ada 2012 (AI05-0104) an
|
||
uninitialized allocator cannot carry an explicit not null
|
||
indicator.
|
||
* sem_ch4.adb (Analyze_Allocator): Remove code that implements
|
||
the check for AI05-0104, the check is syntactic and performed
|
||
in the parser.
|
||
|
||
2012-12-05 Geert Bosch <bosch@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Use base type for floating
|
||
point attributes.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications,
|
||
Ahalyze_Aspect_Default_Value): For a scalar type attach default
|
||
value to base type as well, because it is a type-specific aspect
|
||
even though it can be specified on a first subtype.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* urealp.ads: Minor rewording.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* aspects.ads (No_Duplicates_Allowed): Forbid use of duplicate
|
||
Contract_Cases aspects.
|
||
* sem_prag.adb (Analyze_Pragma/Pragma_Contract_Case): Rename
|
||
POST_CASE into CONTRACT_CASE in both grammar and code, to be
|
||
consistent with current language definition. Issue a more precise
|
||
error message when the pragma duplicates another pragma or aspect.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Add processing
|
||
for attribute Update.
|
||
(Expand_Update_Attribute): New routine.
|
||
* par-ch4.adb (P_Name): The sole expression of attribute Update
|
||
is an aggregate, parse it accordingly.
|
||
* sem_attr.adb (Analyze_Attribute): Verify the legality of
|
||
attribute Update.
|
||
(Eval_Attribute): Attribute Update does not
|
||
need evaluation because it is never static.
|
||
* snames.ads-tmpl: Add Name_Update to the list of special names
|
||
recognized by the compiler. Add an Attribute_Id for Update.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Remove_Side_Effects): For purposes of removing
|
||
side effects, qualified expressions do not receive a special
|
||
treatment, even though in Ada 2012 they are defined as object
|
||
references.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-ch3.adb: Minor reformatting.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
|
||
Build_TypeCode_Call): For a used-defined subtype, always go to
|
||
the first subtype of the base type.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_dist.adb: Minor reformatting.
|
||
|
||
2012-12-05 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* Make-generated.in: Remove the VMS host specific part, as VMS
|
||
compilers aren't built anymore on VMS.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem.adb, errout.ads, atree.adb, atree.ads (Check_Error_Detected):
|
||
Only return quietly if a serious error of configurable run time
|
||
violation has been found.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Type_Conversion): In Alfa_Mode, do not apply
|
||
conversion checks.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Handle properly
|
||
the generation of discriminant checks when the left-hand side
|
||
has a type with hidden discriminants.
|
||
* sem_ch3.ads (Is_Visible_Component): Add defaulted parameter to
|
||
specify the node on which component visibility is being checked.
|
||
* sem_ch3.adb (Is_Visible_Component): Use new parameter to
|
||
determine whether the reference comes from a type conversion to
|
||
a full view of a private type with unknown discriminants.
|
||
* sem_ch4.adb (Analyze_Selected_Component): Call
|
||
Is_Visible_Component with added parameter.
|
||
|
||
2012-12-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb: Minor comment update.
|
||
|
||
2012-12-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnatlink.adb: Also use -x adascil in CodePeer mode when
|
||
calling gcc.
|
||
* exp_ch5.adb: Minor reformatting.
|
||
|
||
2012-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor comment.
|
||
|
||
2012-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch4.adb: Set Paren_Count correctly for a parenthesized expression
|
||
containing a conditional expression or quantified expression.
|
||
* sprint.adb: Update comment.
|
||
|
||
2012-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* style.adb, scans.ads, styleg.adb: Update comments.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Selected_Component): Handle properly an
|
||
expanded name whose prefix is the expanded name of an enclosing
|
||
entry, that is to say a construct such as T.E.X, where T is an
|
||
enclosing concurrent type and E is an enclosing entry.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-writ.adb (Write_ALI): Output T lines.
|
||
* lib-writ.ads: Minor reformatting. Add documentation of T lines.
|
||
* opt.ads (Generate_Target_Dependent_Info): New flag.
|
||
* switch-c.adb (Scan_Switches): Recognize -gnatet switch
|
||
(target dependent info).
|
||
* ttypes.ads: Add four letter codes to declarations (for target
|
||
dependent info).
|
||
* usage.adb: Add line for -gnatet switch.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_N_Pragma): Add a call to expand
|
||
pragma Loop_Variant.
|
||
(Expand_Pragma_Loop_Assertion): Removed.
|
||
(Expand_Pragma_Loop_Variant): New routine.
|
||
* par-prag.adb: Remove Pragma_Loop_Assertion and add two new
|
||
Pragma_Loop_Invariant and Pragma_Loop_Variant entries.
|
||
* sem_attr.adb (Analyze_Attribute): Update the code which
|
||
locates the enclosing pragma.
|
||
* sem_prag.adb (Analyze_Pragma): Remove the code which analyzes
|
||
pragma Loop_Assertion as the pragma is now obsolete. Add the
|
||
machinery to checks the semantics of pragmas Loop_Invariant
|
||
and Loop_Variant.
|
||
(Check_Loop_Invariant_Variant_Placement): New routine.
|
||
* snames.ads-tmpl: Remove name Loop_Assertion. Add new names
|
||
Loop_Invariant and Loop_Variant. Rename Name_Decreasing
|
||
to Name_Decreases and Name_Increasing to Name_Increases.
|
||
Remove the pragma Id for Loop_Assertion and add two new Ids for
|
||
Loop_Invariant and Loop_Variant.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatchop.adb, sem_attr.ads, sem_ch4.adb, sem_ch6.adb, exp_disp.adb,
|
||
atree.adb, sem_eval.adb: Minor reformatting.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* uintp.adb (UI_Div_Rem): Correct algorithm D to remove potential
|
||
overflow.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Mod): Minor comment additions.
|
||
(Expand_N_Op_Rem): Ditto.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb: Update lines for -gnato? switch.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch6.adb (P_Return_Object_Declaration): Do not check for
|
||
legality of Aliased keyword.
|
||
* sem_ch6.adb (Analyze_Function_Return): The keyword aliased is
|
||
legal in an extended return statement only if the return type
|
||
is immutably limited.
|
||
|
||
2012-12-05 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Interface_Thunk): Simplify
|
||
management of controlling formals. Required to avoid problems
|
||
with primitives of internally generated base types associated
|
||
with constrained tagged types.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_eval.adb: Remove spurious warnings.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Build_Explicit_Dereference): Set properly
|
||
the type of the prefix prior to rewriting, because subsequent
|
||
legality checks examine the original node.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* aspects.adb: Add Contract_Cases to the canonical aspects map.
|
||
* aspects.ads: Add aspect Contract_Cases in the various aspect
|
||
tables.
|
||
* par-prag.adb: The parser does not need to perform special
|
||
actions for pragma Contract_Cases.
|
||
* sem_ch6.adb (Expand_Contract_Cases): New routine.
|
||
(Process_Contract_Cases): Convert pragma Contract_Cases into pre-
|
||
and post- condition checks that verify the runtime state of all
|
||
case guards and their corresponding consequences.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Perform
|
||
various legality checks on aspect Contract_Cases. The aspect is
|
||
transformed into a pragma.
|
||
* sem_prag.adb: Add an entry in table Sig_Flags for pragma
|
||
Contract_Cases.
|
||
(Analyze_Pragma): Perform various legality
|
||
checks on pragma Contract_Cases. The pragma is associated with
|
||
the contract of the related subprogram.
|
||
(Chain_CTC): Omit pragma
|
||
Contract_Cases because it does not introduce a unique case name
|
||
and does not follow the syntax of Contract_Case and Test_Case.
|
||
* snames.ads-tmpl: Add new name Name_Contract_Cases. Add a
|
||
Pragma_Id for Contract_Cases.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch5.adb: Minor reformatting.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.ads: Add an entry for attribute Loop_Entry in the
|
||
Attribute_Impl_Def table.
|
||
|
||
2012-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* gnatchop.adb (Read_File): Avoid storage leak, and in most cases avoid
|
||
an extra copy of the string.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Preanalyze_Range): If the expression, which
|
||
denotes some domain of iteration, has a type with implicit
|
||
dereference, and does not have any iterable aspects, insert
|
||
dereference to obtain proper container type.
|
||
|
||
2012-12-05 Bob Duff <duff@adacore.com>
|
||
|
||
* par-ch8.adb (P_Use_Type_Clause): Fix the Sloc for "use all type ..."
|
||
to point to "use".
|
||
|
||
2012-12-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* make.adb (Compile): Always pass -x adascil in CodePeer mode.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* s-rident.ads, restrict.ads: Remove discrepancies between the
|
||
documentation on implementation-defined restrictions, and
|
||
the internal data structure used for warnings and errors on
|
||
implementation-defined restriction violations.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Chain_PPC): Pre- and postcondition aspects
|
||
are legal on a subprogram body that acts as a spec.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Selected_Component): If the selector name is
|
||
an overloadable entity but the name is not overloaded, generate
|
||
reference to it rather than delaying this until resolution.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, checks.adb (Activate_Overflow_Check): No effect for
|
||
MOD/REM/unary +
|
||
* exp_ch4.adb (Expand_N_Op_Mod): Remove call to set Do_Overflow_Check.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Non_Universal_Interpretation): Use the
|
||
types of the right operand if the left operand is null.
|
||
|
||
2012-12-05 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi, vms_data.ads: document gnatpp -nn option.
|
||
|
||
2012-12-05 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* init.c (__gnat_install_handler): For the LEON VxWorks kernel
|
||
run-time library we need to install a trap handler directly in the
|
||
trap table (no support by the OS) for the software trap 0.
|
||
|
||
2012-12-05 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_rm.texi (Interfacing to C++): Document new restrictions.
|
||
|
||
2012-12-05 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatbind.adb: Minor reformatting.
|
||
|
||
2012-12-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typo.
|
||
|
||
2012-12-05 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnatbind.adb: Minor comment update.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set flags to indicate that
|
||
CodePeer backend deals with divide and overflow checks.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Update overflow description. Pragma Overflow_Checks
|
||
changed to Overflow_Mode.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, exp_ch4.adb, gnat1drv.adb, par-prag.adb, sem_prag.adb,
|
||
snames.ads-tmpl, switch-c.adb, types.ads, checks.adb: Change pragma
|
||
Overflow_Checks to Overflow_Mode.
|
||
Separate overflow checking from overflow mode.
|
||
Several name changes to reflect this separation.
|
||
CHECKED mode is renamed STRICT mode.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Move setting of flags for
|
||
Alfa mode before general treatment of flags, so that overflow checks
|
||
settings are set appropriately in Alfa mode. Also set the mode to
|
||
STRICT in Alfa mode if not already set by the user.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting.
|
||
|
||
2012-12-05 Steve Baird <baird@adacore.com>
|
||
|
||
* sinfo.ads: Improve comments about SCIL-related node kinds and selector
|
||
functions.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Build_Limited_Views): Even though the unit is
|
||
not analyzed, place its entity on the name in the with clause,
|
||
so that warnings on unused with-clause are properly supported
|
||
for limited withs.
|
||
|
||
2012-12-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update overflow description. Pragma
|
||
Overflow_Checks changed to Overflow_Mode.
|
||
|
||
2012-12-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Private_Type): Handle properly a
|
||
completion in a grand-child unit when the parent type is itself
|
||
a private type in a child unit whose full view is itself a
|
||
derivation from a private type.
|
||
|
||
2012-12-05 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference, case
|
||
Attribute_Valid): Remove code for issuing warning on Valid within
|
||
a predicate. Moved to Sem_Attr. Remove with and use of Errout.
|
||
* sem_attr.adb (Analyze_Attribute, case Attribute_Valid):
|
||
Test for prefix's subtype having a predicate and issue warning
|
||
about infinite recursion if Valid occurs within the subtype's
|
||
predicate. Warning moved here from Exp_Attr.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb: Minor comment addition.
|
||
|
||
2012-12-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): In CodePeer mode, check
|
||
overflows by default, even when the user suppresses overflow checks.
|
||
|
||
2012-12-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* err_vars.ads: Fix minor typo in comment.
|
||
|
||
2012-12-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Do not analyze the attribute
|
||
arguments when processing Loop_Entry. Rewrite the analysis of
|
||
attribute Loop_Entry to handle an optional loop name.
|
||
(Convert_To_Indexed_Component): New routine.
|
||
(Eval_Attribute): Remove ??? comment and explain
|
||
why Loop_Entry does not need to be evaluated.
|
||
|
||
2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
PR ada/52110
|
||
* s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
|
||
pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t.
|
||
* s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
|
||
|
||
2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
|
||
valid_constant_size_p to detect too large objects.
|
||
<E_Subprogram_Type>: Likewise for too large return types.
|
||
(allocatable_size_p): Call valid_constant_size_p in the fixed case.
|
||
(annotate_value) <INTEGER_CST>: Simplify.
|
||
<BIT_AND_EXPR>: Deal with negative values here.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Use
|
||
valid_constant_size_p to detect too large objects on the LHS.
|
||
* gcc-interface/misc.c (default_pass_by_ref): Likewise for large types.
|
||
And use TYPE_SIZE_UNIT throughout.
|
||
(must_pass_by_ref): Likewise.
|
||
* gcc-interface/utils.c (max_size) <tcc_unary>: Split from common case.
|
||
<tcc_binary>: Likewise. Call size_binop instead of fold_build2.
|
||
<tcc_expression>: Simplify.
|
||
* gcc-interface/utils2.c (build_allocator): Use valid_constant_size_p
|
||
to detect too large allocations.
|
||
|
||
2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Length>: Look through
|
||
a view conversion from constrained to unconstrained form.
|
||
|
||
2012-11-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (components_need_strict_alignment): New.
|
||
(components_to_record): Do not pack the variants if one of the fields
|
||
needs strict alignment. Likewise for the variant part as a whole.
|
||
Specify the position of the variants even if the size isn't specified,
|
||
but do not specify the size of the variant part in this case.
|
||
|
||
2012-11-20 Diego Novillo <dnovillo@google.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gcc-interface/decl.c: Replace all vec<T,A>() initializers with vNULL.
|
||
|
||
2012-11-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c: Remove trailing spaces.
|
||
* gcc-interface/trans.c: Remove trailing spaces.
|
||
|
||
2012-11-16 Diego Novillo <dnovillo@google.com>
|
||
|
||
Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
|
||
|
||
* gcc-interface/decl.c: Use new vec API in vec.h.
|
||
* gcc-interface/gigi.h: Likewise.
|
||
* gcc-interface/trans.c: Likewise.
|
||
* gcc-interface/utils.c: Likewise.
|
||
* gcc-interface/utils2.c: Likewise.
|
||
|
||
2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR other/52438
|
||
* s-taspri-lynxos.ads: Delete.
|
||
* s-osinte-kfreebsd-gnu.ads: Change license to GPL V3+.
|
||
* s-tpopsp-rtems.adb: Likewise.
|
||
* s-osinte-rtems.adb: Likewise.
|
||
|
||
2012-11-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Subprogram_Body_Stub>: Deal
|
||
with a missing library unit instead of calling gnat_to_gnu on Emtpy.
|
||
Remove last bits of support for SCIL nodes. Add cases for nodes that
|
||
should only be present when annotating types. Add default abort.
|
||
|
||
2012-11-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Revert most changes.
|
||
* gcc-interface/Make-lang.in (gnatlib): Remove ada/s-oscons.ads.
|
||
|
||
2012-11-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (copy-s-oscons): New target.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* err_vars.ads, atree.ads: Minor reformatting.
|
||
|
||
2012-11-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* gcc-interface/Makefile.in: Add runtime pairs for Android.
|
||
Rework handling of s-oscons.ads.
|
||
* s-osinte-android.ads, s-osinte-android.adb: New files.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu): For N_Real_Literal, create the
|
||
binary representation of vax floats.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
|
||
in previous commit.
|
||
|
||
2012-11-06 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
|
||
|
||
2012-11-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
|
||
erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
|
||
exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
|
||
fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
|
||
par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
|
||
sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
|
||
sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
|
||
sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
|
||
stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
|
||
more descriptive name 'Check_Error_Detected'. Add calls to
|
||
Check_Error_Detected at places where semantic analysis is abandoned
|
||
assuming a previously detected error.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb: Minor comment change.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Extensive revision of documentation of overflow
|
||
checking.
|
||
* vms_data.ads: Overflow check numbers must be in range 1-3,
|
||
not 0-3.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Emit a
|
||
warning if pragma Priority is used in presence of an interrupt
|
||
handler.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, checks.adb, exp_ch4.adb: Minor changes throughout for
|
||
new overflow checking.
|
||
* exp_util.adb (Insert_Actions): Remove special casing of
|
||
Overflow_Check.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Fixes for new handling
|
||
of overflow checks.
|
||
* sem.adb (Analyze): Remove special casing of Overflow_Check
|
||
(Analyze_List): ditto.
|
||
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Remove
|
||
SUPPRESSED and change CHECKED to STRICT.
|
||
* sem_res.adb (Analyze_And_Resolve): No longer treat
|
||
Overflow_Check specially.
|
||
(Preanalyze_And_Resolve): ditto.
|
||
(Resolve): ditto.
|
||
* snames.ads-tmpl: Replace Name_Checked by Name_Strict.
|
||
* switch-c.adb (Get_Overflow_Mode): Eliminate 0 setting,
|
||
CHECKED => STRICT.
|
||
* types.ads (Overflow_Check_Type): Remove Suppressed, change
|
||
Checked to Strict (Suppress_Record): Overflow check controlled
|
||
by Suppress array.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Preanalyze_And_Resolve): In Alfa mode do not
|
||
disable checks, so that flags can be properly set on expressions
|
||
that are not further expanded.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, sem_attr.adb: Minor reformatting.
|
||
|
||
2012-11-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Apply a predicate
|
||
check when evaluating the attribute Valid, and issue a warning
|
||
about infinite recursion when the check occurs within the
|
||
predicate function of the prefix's subtype.
|
||
* exp_ch4.adb (Expand_N_In): Remove test for Is_Discrete_Type
|
||
when we're checking that there's no predicate check function as a
|
||
condition for substituting a Valid check for a scalar membership
|
||
test (substitution should be suppressed for any kind of scalar
|
||
subtype with a predicate check). Also, don't emit a predicate
|
||
check when the right operand is a range.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, bindgen.adb, exp_vfpt.adb, exp_vfpt.ads, exp_ch2.adb,
|
||
errout.adb, sem_ch8.adb: Minor reformatting.
|
||
|
||
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Include Loop_Entry_Attributes to the list of
|
||
Node/List/Elist10 usage.
|
||
(Loop_Entry_Attributes): New routine.
|
||
(Set_Loop_Entry_Attributes): New routine.
|
||
(Write_Field10_Name): Add an output string for Loop_Entry_Attributes.
|
||
* einfo.ads: Define new attribute Loop_Entry_Attributes along
|
||
with its usage in nodes.
|
||
(Loop_Entry_Attributes): New routine and dedicated pragma Inline.
|
||
(Set_Loop_Entry_Attributes): New routine and dedicated pragma Inline.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Do not expand
|
||
Attribute_Loop_Entry here.
|
||
* exp_ch5.adb: Add with and use clause for Elists;
|
||
(Expand_Loop_Entry_Attributes): New routine.
|
||
(Expand_N_Loop_Statement): Add a call to Expand_Loop_Entry_Attributes.
|
||
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Specialize the
|
||
search to include multiple nested loops produced by the expansion
|
||
of Ada 2012 array iterator.
|
||
* sem_attr.adb: Add with and use clause for Elists.
|
||
(Analyze_Attribute): Check the legality of attribute Loop_Entry.
|
||
(Resolve_Attribute): Nothing to do for Loop_Entry.
|
||
(S14_Attribute): New routine.
|
||
* snames.ads-tmpl: Add a comment on entries marked with
|
||
HiLite. Add new name Name_Loop_Entry. Add new attribute
|
||
Attribute_Loop_Entry.
|
||
|
||
2012-11-06 Geert Bosch <bosch@adacore.com>
|
||
|
||
* eval_fat.adb (Machine, Succ): Fix front end to support static
|
||
evaluation of attributes on targets with both VAX and IEEE float.
|
||
* sem_util.ads, sem_util.adb (Has_Denormals, Has_Signed_Zeros):
|
||
New type-specific functions. Previously we used Denorm_On_Target
|
||
and Signed_Zeros_On_Target directly, but that doesn't work well
|
||
for OpenVMS where a single target supports both floating point
|
||
with and without signed zeros.
|
||
* sem_attr.adb (Attribute_Denorm, Attribute_Signed_Zeros): Use
|
||
new Has_Denormals and Has_Signed_Zeros functions to support both
|
||
IEEE and VAX floating point on a single target.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bindgen.adb (System_Interrupts_Used): New variable.
|
||
(Gen_Adainit): Declare and call
|
||
Install_Restricted_Handlers_Sequential if System.Interrupts is
|
||
used when elaboration policy is sequential.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb: Complete previous change.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* fe.h (Get_Vax_Real_Literal_As_Signed): Declare.
|
||
* eval_fat.adb, eval_fat.ads (Decompose_Int): Move spec in package spec.
|
||
* exp_vfpt.adb, exp_vfpt.ads (Vax_Real_Literal_As_Signed): New function.
|
||
(Expand_Vax_Real_Literal): Remove.
|
||
* exp_ch2.adb (Expand_N_Real_Literal): Do nothing.
|
||
* sem_eval.adb (Expr_Value_R): Remove special Vax float case,
|
||
as this is not anymore a special case.
|
||
|
||
2012-11-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* uintp.ads: Minor correction of typo in comment.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragnma, case Unchecked_Union): remove
|
||
requirement that discriminants of an unchecked_union must have
|
||
defaults.
|
||
|
||
2012-11-06 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* projects.texi: Minor wordsmithing.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch9.adb, exp_vfpt.adb, xoscons.adb: Minor reformatting.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_vfpt.adb: Document VAX float point layout.
|
||
|
||
2012-11-06 Geert Bosch <bosch@adacore.com>
|
||
|
||
* eval_fat.adb (Machine): Don't return -0.0 on targets without
|
||
signed zeros.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Entry_Call_Alternative,
|
||
Check_Triggering_Statement): Reject properly an indirect call.
|
||
|
||
2012-11-06 Pascal Obry <obry@adacore.com>
|
||
|
||
* xoscons.adb, xutil.adb, xutil.ads: Add support for post-processing.
|
||
|
||
2012-11-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* s-bignum.adb (Div_Rem): Fix another bug in step D3.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tarest.adb (Create_Restricted_Task): Call
|
||
Create_Restricted_Task_Sequential in sequential case.
|
||
|
||
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Do not rewrite the
|
||
pragma into a null statement as its presence is desirable in -gnatG
|
||
output.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Check_Constrained_Object): Do nothing if the
|
||
renamed object is a limited record.
|
||
|
||
2012-11-06 Bernard Banner <banner@adacore.com>
|
||
|
||
* sysdep.c (_getpagesize): New. Minor reformatting.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-bignum.adb (Div_Rem): Fix bug in step D3.
|
||
* uintp.adb (UI_Div_Rem): Add comment on bug in step D3.
|
||
|
||
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Loop_Assertion): Update the comment
|
||
on intended expansion. Reimplement the logic which expands the
|
||
termination variants.
|
||
(Process_Increase_Decrease): Update the parameter profile and the
|
||
comment related to it. Accommodate the new aggregate-like appearance of
|
||
the termination variants.
|
||
* sem_prag.adb (Analyze_Pragma): Update the syntax of pragma
|
||
Loop_Assertion. Reimplement the semantic analysis of the pragma
|
||
to accommodate the new aggregate-like variant.
|
||
(Check_Variant): New routine.
|
||
* snames.ads-tmpl: Change names Name_Decreases and Name_Increases
|
||
to Name_Decreasing and Name_Increasing respectively. Add name
|
||
Variant.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_eval.adb: Static evaluation of case expressions.
|
||
|
||
2012-11-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_prag.adb, impunit.adb, exp_ch9.adb, par-ch4.adb,
|
||
s-tarest.adb: Minor reformatting.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tposen.ads: Minor comment update.
|
||
|
||
2012-11-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* sysdep.c: Rename sig* wrappers to use unique names.
|
||
|
||
2012-11-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_dbug.adb (Qualify_Entity_Name): Mark entity as having a qualified
|
||
name after being treated, in formal verification mode.
|
||
|
||
2012-11-06 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Updating gnattest section to reflect changes
|
||
in default behaviour of the tool.
|
||
|
||
2012-11-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c: Interfaces.C now needs to be WITH'd even
|
||
on platforms that do not support sockets (for the benefit of
|
||
subtype IOCTL_Req_T).
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch4.adb (P_Primary): if-expressions, case-expressions,
|
||
and quantified expressions are legal if surrounded by parentheses
|
||
from an enclosing context, such as a call or an instantiation.
|
||
|
||
2012-11-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* impunit.adb (Get_Kind_Of_Unit): Return appropriate kind for
|
||
predefined implementation files, instead of returning
|
||
Not_Predefined_Unit on all .adb files.
|
||
|
||
2012-11-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Activation_Chain_Entity): Return immediately if
|
||
partition elaboration policy is sequential.
|
||
(Build_Task_Activation_Call): Likewise. Use
|
||
Activate_Restricted_Tasks on restricted profile.
|
||
(Make_Task_Create_Call): Do not use the _Chain
|
||
parameter if elaboration policy is sequential. Call
|
||
Create_Restricted_Task_Sequential in that case.
|
||
* exp_ch3.adb (Build_Initialization_Call): Change condition to
|
||
support concurrent elaboration policy.
|
||
(Build_Record_Init_Proc): Likewise.
|
||
(Init_Formals): Likewise.
|
||
* bindgen.adb (Gen_Adainit): Declare Partition_Elaboration_Policy
|
||
and set it in generated code if the elaboration policy is
|
||
sequential. The procedure called to activate all tasks is now
|
||
named __gnat_activate_all_tasks.
|
||
* rtsfind.adb (RE_Activate_Restricted_Task,
|
||
RE_Create_Restricted_Task_Sequential): New RE_Id literals.
|
||
* s-tarest.adb (Create_Restricted_Task): Added to create a task without
|
||
adding it on an activation chain.
|
||
(Activate_Tasks): Has now a Chain parameter.
|
||
(Activate_All_Tasks_Sequential): Added. Called by the binder to
|
||
activate all tasks.
|
||
(Activate_Restricted_Tasks): Added. Called during elaboration to
|
||
activate tasks of the units.
|
||
* s-tarest.ads: Remove pragma Partition_Elaboration_Policy.
|
||
(Partition_Elaboration_Policy): New variable (set by the binder).
|
||
(Create_Restricted_Task): Revert removal of the chain parameter.
|
||
(Create_Restricted_Task_Sequential): New procedure.
|
||
(Activate_Restricted_Tasks): Revert removal.
|
||
(Activate_All_Tasks_Sequential): New procedure.
|
||
|
||
2012-11-06 Bernard Banner <banner@adacore.com>
|
||
|
||
* adaint.c Add file macro definitions missing on Android.
|
||
* adaint.h Avoid definitions related to task affinity and CPU
|
||
sets since this functionality is missing on the Android
|
||
* errno.c (__set_errno): Android already contains such a named
|
||
procedure so do include again.
|
||
* gsocket.h: Sockets not supported on Android.
|
||
* init.c: Avoid linux related code not supported on Android.
|
||
* sysdep.c (sigismember, sigaddset, sigdelset, sigemptyset,
|
||
sigfillset): wrapper functions since sig routines are defined
|
||
as inline macros on Android.
|
||
* terminals.c: Add stubs for terminal related functions not
|
||
supported on Android.
|
||
|
||
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Do not
|
||
output the characters of an illegal argument as it may not have
|
||
characters to begin with.
|
||
|
||
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Loop_Assertion):
|
||
Change the order of argument processing to avoid disappearing
|
||
increase / decrease expressions.
|
||
|
||
2012-11-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_prag.adb: Add with and use clause for Sem_Ch8.
|
||
(Expand_N_Pragma): Add a new variant to expand pragma Loop_Assertion.
|
||
(Expand_Pragma_Loop_Assertion): New routine.
|
||
* par-prag.adb (Prag): The semantic analysis of pragma
|
||
Loop_Assertion is carried out by Analyze_Pragma. No need for
|
||
checks in the parser.
|
||
* sem_prag.adb: Add a reference position value for pragma
|
||
Loop_Assertion in Sig_Flags.
|
||
(Analyze_Pragma): Add semantic analysis for pragma Loop_Assertion.
|
||
* snames.ads-tmpl: Add the following new names:
|
||
Name_Decreases Name_Increases Name_Loop_Assertion.
|
||
Add new pragma id Pragma_Loop_Assertion.
|
||
|
||
2012-11-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb: Identifier in iterator must have debug
|
||
information.
|
||
|
||
2012-11-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove
|
||
duplicate rules handled by Make-generated.in.
|
||
|
||
2012-10-31 Lawrence Crowl <crowl@google.com>
|
||
|
||
* gcc-interface/utils.c (gnat_write_global_declarations):
|
||
Rename varpool_node to varpool_node_for_decl.
|
||
|
||
2012-10-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Fix and clean up rules for C files.
|
||
|
||
2012-10-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (s-oscons.ads): Adjust call to xoscons.
|
||
|
||
2012-10-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* xoscons.adb, Make-generated.in; The template used by xoscons is now
|
||
given as parameter.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
|
||
verification mode when there is a homonym.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* xoscons.adb: Minor reformatting.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_alfa.adb (Expand_Alfa): Backtrack change that removed
|
||
qualification of names in formal verification mode. Instead,
|
||
the qualification should be modified.
|
||
* exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
|
||
verification mode, so that only a suffix is added to distinguish
|
||
homonyms from the same scope.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
|
||
ignored with a warning for packed variable length records.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
|
||
g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
|
||
s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
|
||
g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
|
||
appropriate subtype for IOCTL requests, since these may be signed or
|
||
unsigned.
|
||
|
||
2012-10-29 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_alfa.adb: Minor reformatting.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
|
||
line length style switch.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* layout.adb (Set_Composite_Alignment): Ignore pragma
|
||
Optimize_Alignment (Space) for packed variable length records.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-bignum.adb: Minor comment change.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
|
||
for x86_64-freebsd.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_alfa.adb (Expand_Alfa): Remove qualification of names.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor rewording.
|
||
|
||
2012-10-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
|
||
* exp_disp.adb (Expand_Dispatching_Call): No action needed if the
|
||
call has been already expanded.
|
||
(Is_Expanded_Dispatching_Call): New subprogram.
|
||
* sem_disp.adb (Propagate_Tag): No action needed if the call
|
||
has been already expanded.
|
||
|
||
2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch9.adb (Create_Index_And_Data): Remove local
|
||
variable Index_Typ and its uses. The type of the index is now
|
||
System.Tasking.Entry_Index. Update all related comments.
|
||
* rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
|
||
* s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
|
||
* s-taskin.ads: The index type of Task_Entry_Names_Array is now
|
||
Entry_Index.
|
||
(Number_Of_Entries): The return type is now Entry_Index.
|
||
* s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
|
||
* s-tpoben.ads: The index type of Protected_Entry_Names_Array
|
||
is now Entry_Index.
|
||
(Number_Of_Entries): The return type is now Entry_Index.
|
||
|
||
2012-10-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add note about SEH setup on x86-windows.
|
||
|
||
2012-10-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* s-bignum.adb (Allocate_Bignum): Use the exact layout of
|
||
Bignum_Data for the overlay.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
|
||
par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
|
||
Handle new pragma Attribute_Definition.
|
||
(Sem_Util.Bad_Attribute): New routine, moved here
|
||
from par-util, so that it can be used by the above.
|
||
(Par_Util.Signal_Bad_Attribute): Processing moved to
|
||
Sem_Util.Bad_Attribute.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
|
||
into Formal_Extensions.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_attr.adb: Minor reformatting.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_rm.texi: Document implementation advice for Pragma
|
||
Partition_Elaboration_Policy.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
|
||
the second edition of TAOCP from Knuth, since the algo changed
|
||
in the third edition. Also correct the definition of 'd' which
|
||
could overflow.
|
||
|
||
2012-10-29 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Initialization_Call): Create static strings
|
||
which denote entry [family] names and associate them with the
|
||
object's Protection_Entries or ATCB.
|
||
(Build_Init_Statements):
|
||
Remove local variable Names. Do not generate the entry [family]
|
||
names inside the init proc because they are now static.
|
||
* exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
|
||
which denote entry [family] names are now generated statically
|
||
and associated with the concurrent object's Protection_Entries
|
||
or ATCB during initialization.
|
||
* exp_ch9.ads (Build_Entry_Names): Change subprogram profile
|
||
and associated comment on usage.
|
||
* rtsfind.ads: Add the following entries to tables RE_Id and
|
||
RE_Unit_Table:
|
||
|
||
RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
|
||
RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
|
||
RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
|
||
|
||
Remove the following entries from tables RE_Id and RE_Unit_Table:
|
||
|
||
RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
|
||
|
||
* s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
|
||
(Free_Entry_Names_Array): Removed.
|
||
(Number_Of_Entries): New routine.
|
||
(Set_Entry_Names): New routine.
|
||
* s-taskin.ads: Rename type Entry_Names_Array to
|
||
Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
|
||
to Task_Entry_Names_Access. Update the type of ACTB field
|
||
Entry_Names and add a comment on its protection status.
|
||
(Free_Entry_Names_Array): Removed.
|
||
(Number_Of_Entries): New routine.
|
||
(Set_Entry_Names): New routine.
|
||
* s-tassta.adb (Create_Task): Remove formal parameter
|
||
Build_Entry_Names. Do not allocate an array to hold the
|
||
string names of entries and families.
|
||
(Free_Entry_Names): Removed.
|
||
(Free_Task): Remove the call to Free_Entry_Names.
|
||
(Set_Entry_Name): Removed.
|
||
(Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
|
||
* s-tassta.ads (Create_Task): Remove formal parameter
|
||
Build_Entry_Names along with associated comment.
|
||
(Set_Entry_Name): Removed.
|
||
* s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
|
||
(Finalize): Remove the call to Free_Entry_Names.
|
||
(Free_Entry_Names): Removed.
|
||
(Initialize_Protection_Entries):
|
||
Remove formal parameter Build_Entry_Names. Do not allocate
|
||
an array to hold the string names of entries and families.
|
||
(Number_Of_Entries): New routine.
|
||
(Set_Entry_Name): Removed.
|
||
(Set_Entry_Names): New routine.
|
||
* s-tpoben.ads: Add types Protected_Entry_Names_Array and
|
||
Protected_Entry_Names_Access. Update the type of Protection_Enties
|
||
field Entry_Names.
|
||
(Initialize_Protection_Entries): Remove
|
||
formal parameter Build_Entry_Names along with associated comment.
|
||
(Number_Of_Entries): New routine.
|
||
(Set_Entry_Name): Removed.
|
||
(Set_Entry_Names): New routine.
|
||
|
||
2012-10-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor typo fix.
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* debug.adb Associate debug switch -gnatd.V to extensions for
|
||
formal verification.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
|
||
when -gnatd.V is set.
|
||
* gnat_rm.texi: Remove doc for Assert_And_Cut.
|
||
* opt.ads Declare new flag S14_Extensions, to be set when new
|
||
aspects/pragmas/attributes for formal verification should be
|
||
accepted.
|
||
* sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
|
||
set when treating pragma Assert_And_Cut.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb: Minor reformatting.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
|
||
snames.ads-tmpl, exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-10-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
|
||
generating code.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
|
||
* ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
|
||
* vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor documentation addition.
|
||
|
||
2012-10-29 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
|
||
longer assume that a parameter declaration is seen after the subprogram
|
||
that uses it.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* lib-writ.adb (Write_ALI): Emit partition elaboration policy
|
||
in P line.
|
||
* lib-writ.ads: Document partition elaboration policy indication.
|
||
* sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
|
||
procedure.
|
||
(Analyze_Pragma): Handle Partition_Elaboration_Policy.
|
||
(Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
|
||
* ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
|
||
(Scan_ALI): Read Ex indications.
|
||
* ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
|
||
* par-prag.adb (Prag): Add Partition_Elaboration_Policy.
|
||
* snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
|
||
* opt.ads (Partition_Elaboration_Policy): Declare.
|
||
(Partition_Elaboration_Policy_Sloc): Declare.
|
||
* bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
|
||
New procedure. (Check_Configuration_Consistency): Check partition
|
||
elaboration policy consistency.
|
||
* snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
|
||
(First_Partition_Elaboration_Policy_Name, Name_Concurrent,
|
||
Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
|
||
(Pragma_Partition_Elaboration_Policy): New literal.
|
||
(Is_Partition_Elaboration_Policy_Name): New function.
|
||
|
||
2012-10-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
|
||
expression functions, which are rewritten as subprogram
|
||
declarations, when generating invariants for its return value
|
||
and in-out parameters.
|
||
|
||
2012-10-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* warnsw.adb (Set_GNAT_Mode_Warnings): Unset
|
||
Warn_On_Standard_Redefinition.
|
||
|
||
2012-10-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
|
||
* par-ch3.adb (P_Defining_Identifier): Call
|
||
Warn_If_Standard_Redefinition if not inside record definition.
|
||
* par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
|
||
* par-util.adb (Warn_If_Standard_Redefinition): New procedure.
|
||
* par.adb (Inside_Record_Definition): New flag.
|
||
(Warn_If_Standard_Redefinition): New procedure.
|
||
* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
|
||
handling of warning for redefining standard name (moved to Par*).
|
||
|
||
2012-10-29 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
|
||
optimization in generic formal types.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, exp_ch3.adb: Add comments.
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
|
||
Is_Elaborated if not referenced.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
|
||
profile.
|
||
* exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
|
||
parameter in restricted profile.
|
||
(Build_Init_Call_Thru): Likewise.
|
||
(Init_Formals): Likewise.
|
||
* exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-10-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* usage.adb: Update usage line for -gnatw.k.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb: Code clean up.
|
||
|
||
2012-10-29 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Clarify documentation of attribute
|
||
Ignore_Source_Sub_Dirs.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
|
||
exp_dbug.ads: Minor reformatting.
|
||
|
||
2012-10-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
|
||
(Digest): New versions returning a Binary_Message_Digest.
|
||
(Wide_Digest): Likewise.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* warnsw.adb: Complete previous change.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
|
||
Removed.
|
||
(Check_Dispatching_Domains_Used): Removed.
|
||
(Gen_Adafinal): Remove call to above procedures.
|
||
(Resolve_Binder_Options): Handle system restrictions and dispatching
|
||
domains.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
|
||
Chain parameter.
|
||
* exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
|
||
on restricted runtime.
|
||
|
||
2012-10-29 Pascal Obry <obry@adacore.com>
|
||
|
||
* g-sechas.adb, g-sechas.ads: Minor code clean-up.
|
||
|
||
2012-10-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
|
||
as equivalent, because only one of them can be specified for a
|
||
task, protected definition, or subprogram body.
|
||
* aspects.adb ((Same_Aspect): The canonical aspect of
|
||
Interrupt_Priority is Priority.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb: Minor reformatting.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* i-cstrea.ads: Avoid redefinition of standard symbol string.
|
||
* prj-makr.adb: Add comment for OK redefinition of Stadard.
|
||
* prj.ads: Add comment for OK redefinition of Stadard.
|
||
* s-crtl.ads: Avoid redefinition of standard symbol string.
|
||
* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
|
||
Generate warning for standard redefinition if
|
||
Warn_On_Standard_Definition set.
|
||
* usage.adb: Add lines for -gnatw.k and -gnatw.K
|
||
* warnsw.adb: Set/reset Warn_On_Standard_Redefinition
|
||
appropriately.
|
||
* warnsw.ads (Warn_On_Standard_Redefinition): New flag.
|
||
* s-stratt-xdr.adb: Avoid new warning.
|
||
|
||
2012-10-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
|
||
in the body of a subpogram instance, introduce local renamings
|
||
for actuals of an elementary type, so that GDB can recover the
|
||
values of these actuals more directly.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
|
||
inner/outer ranges.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads: Change terminology "present" to "defined" in talking
|
||
about whether a given field is defined for a given entity kind.
|
||
|
||
2012-10-29 Bob Duff <duff@adacore.com>
|
||
|
||
* atree.ads: Minor comment fix.
|
||
|
||
2012-10-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
|
||
Otherwise, the node is ignored by ASIS.
|
||
* sem_ch5.adb: Minor reformatting.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
|
||
an explicit Loc parameter to set the source location of generated
|
||
nodes.
|
||
|
||
2012-10-29 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
|
||
restricted profile.
|
||
* bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
|
||
(Gen_Adainit): Declare and call Activate_Tasks when the above variable
|
||
is set.
|
||
(Resolve_Binder_Options): Set the variable.
|
||
* rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
|
||
* s-tarest.adb (Tasks_Activation_Chain): New variable.
|
||
(Activate_Restricted_Tasks): Removed, and replaced by ...
|
||
(Activate_Tasks): New procedure, to activate all tasks at
|
||
the end of elaboration.
|
||
(Create_Restricted_Tasks): Chain parameter is now unreferenced. Put
|
||
the created task on the Tasks_Activation_Chain list.
|
||
* s-tarest.ads (Activate_Restricted_Tasks): Removed.
|
||
(Activate_Tasks): Added.
|
||
|
||
2012-10-29 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
|
||
expression against the subtype of the expression rather than comparing
|
||
base types, same as is already done for the 'else' expression.
|
||
|
||
2012-10-29 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
|
||
= True and we detect that an Address specification is used to overlay
|
||
another object, do not set that object's Treat_As_Volatile flag.
|
||
|
||
2012-10-29 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Constant_Redeclaration): If the type of a
|
||
deferred constant has invariants, generate invariant call on
|
||
the initial value.
|
||
|
||
2012-10-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
|
||
the new node.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_elab.adb: Minor reformatting and code reorganization.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch4.adb (P_Primary): Warn on bad use of unary minus.
|
||
|
||
2012-10-29 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
|
||
* s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
|
||
s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
|
||
s-vallli.adb: Use Bad_Value everywhere.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
|
||
in Alfa mode.
|
||
|
||
2012-10-29 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
|
||
Add special case for case expression alternative.
|
||
(Is_Signed_Integer_Arithmetic_Op): Remove special case for case
|
||
expression alternative.
|
||
* exp_ch4.adb Minor reformatting.
|
||
|
||
2012-10-29 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_elab.adb: Minor reformatting.
|
||
|
||
2012-10-29 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_res.adb: Minor: Remove redundant test.
|
||
|
||
2012-10-29 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* pprint.ads, pprint.adb, adabkend.ads, adabkend.adb,
|
||
aa_util.ads, aa_util.adb: New.
|
||
|
||
2012-10-23 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
|
||
* system-linux-mips.ads (Stack_Check_Probes): Likewise.
|
||
* system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
|
||
|
||
2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
|
||
BLKmode on the type if it is passed by reference.
|
||
<E_Array_Subtype>: Likewise.
|
||
<E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
|
||
<E_Record_Subtype>: Likewise.
|
||
|
||
* gcc-interface/Makefile.in: Remove outdated comment and reference to
|
||
non-existing file.
|
||
|
||
2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
|
||
robustify pattern machine code for masking operations.
|
||
|
||
2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
|
||
type annotation mode, break circularities introduced by AI05-0151.
|
||
|
||
2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
|
||
directly to obtain an unsigned version of the base type.
|
||
|
||
2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
|
||
generate the special PARM_DECL for an Out parameter in LTO mode.
|
||
|
||
2012-10-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR bootstrap/54820
|
||
* gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.
|
||
|
||
2012-10-15 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
|
||
ARM Linux/GNU.
|
||
|
||
2012-10-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch7.adb: Minor reformatting.
|
||
|
||
2012-10-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Persistent_BSS): check for
|
||
a duplicate pragma before Rep_Item_Too_Late to prevent spurious
|
||
messages about duplicate pragmas.
|
||
|
||
2012-10-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_util.adb (Find_Init_Call): If the successor of the
|
||
object declaration is a block, check whether it contains the
|
||
initialization call, because it may have been created by actuals
|
||
that use the secondary stack.
|
||
|
||
2012-10-05 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_dim.adb, errout.adb, errout.ads (Analyze_Dimension_Call): Add
|
||
guard against abnormal tree resulting from a previously diagnosed
|
||
illegality.
|
||
|
||
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Expression): Rename local variable Cspc to Spec
|
||
and update all refs to it. Do not freeze an entity outside a subprogram
|
||
body when the original context is an expression function.
|
||
|
||
2012-10-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): Default for overflow checking
|
||
is suppressed, even if backend overflow/divide checks are enabled.
|
||
|
||
2012-10-05 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.adb (Set_Invariant_Procedure, Set_Predicate_Function):
|
||
chain properly subprograms on Subprograms_For_Type list.
|
||
* sem_ch13.ads; (Build_Invariant_Procedure_Declaration): new
|
||
procedure, to create declaration for invariant procedure
|
||
independently of the construction of the body, so that it can
|
||
be called within expression functions.
|
||
* sem_ch13.adb (Build_Invariant_Procedure): code cleanup. The
|
||
declaration may already have been generated at the point an
|
||
explicit invariant aspect is encountered.
|
||
* sem_prag.adb; (Analyze_Pragma, case Invariant): create declaration
|
||
for invariant procedure.
|
||
* sem_ch7.adb (Analyze_Package_Specification): clean up call to
|
||
build invariant procedure.
|
||
(Preserve_Full_Attributes): propagate information about invariants
|
||
if they appear on a completion,
|
||
|
||
2012-10-05 Pascal Obry <obry@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update documentation to lift Microsoft C
|
||
restriction.
|
||
|
||
2012-10-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb (Has_One_Matching_Field): Handle case of lone
|
||
discriminant.
|
||
|
||
2012-10-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb (Minimize_Eliminate_Overflow_Checks): Correct code
|
||
for the division operation and exponent operation. Adjust bound
|
||
for the mod and rem operations.
|
||
|
||
2012-10-05 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb, checks.ads, s-tassta.adb, s-stposu.adb, s-spsufi.adb,
|
||
s-spsufi.ads, exp_ch4.adb: Minor reformatting.
|
||
|
||
2012-10-05 Yannick Moy <moy@adacore.com>
|
||
|
||
* switch-c.adb, checks.adb, checks.ads, sem_prag.adb, exp_ch4.adb,
|
||
osint.adb: Minor correction of typos, and special case for Alfa mode.
|
||
|
||
2012-10-05 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-spsufi.adb: Add with clause for Ada.Unchecked_Deallocation.
|
||
Add with and use clauses for System.Finalization_Masters.
|
||
(Finalize_And_Deallocate): Add an instance of
|
||
Ada.Unchecked_Deallocation. Merge the code from the now obsolete
|
||
Finalize_Subpool into this routine.
|
||
* s-spsufi.ads: Add pragma Preelaborate.
|
||
* s-stposu.adb: Remove with clause for
|
||
Ada.Unchecked_Deallocation; Add with and use clauses for
|
||
System.Storage_Pools.Subpools.Finalization; (Finalize_Pool):
|
||
Update the comment on all actions takes with respect to a subpool
|
||
finalization. Finalize and deallocate each individual subpool.
|
||
(Finalize_Subpool): Removed.
|
||
(Free): Removed;
|
||
(Detach): Move from package body to spec.
|
||
* s-stposu.ads (Detach): Move from package body to spec.
|
||
(Finalize_Subpool): Removed.
|
||
|
||
2012-10-05 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tassta.adb: Update comments.
|
||
(Vulnerable_Complete_Master): If Free_On_Termination is set, do
|
||
nothing, and let the task free itself if not already done.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Set_Membership): Warn on duplicates.
|
||
|
||
2012-10-04 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb (Getopt): Fix value of Full_Switch returned in case of
|
||
invalid switch.
|
||
|
||
2012-10-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb (Fold_Str, Fold_Uint, Fold_Ureal): Reset static
|
||
expression state after Resolve call.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma. case Warnngs): Don't make entry
|
||
in the table for Warnings Off pragmas if within an instance.
|
||
|
||
2012-10-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Entry_Body): Transfer
|
||
Has_Pragma_Unreferenced flag from entry formal to corresponding
|
||
entity in body, to prevent spurious warnings when pragma is
|
||
present.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-bignum.adb (Big_Exp): Raise Storage_Error for ludicrously
|
||
large results.
|
||
|
||
2012-10-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Check_Duplicate_Aspects): Diagnose properly
|
||
aspects that appear in the partial and the full view of a type.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads (N_Return_Statement): Removed.
|
||
|
||
2012-10-04 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c (__gl_zero_cost_exceptions): Comment it as not used
|
||
anymore.
|
||
* bindgen.adb (Gen_Adainit): Do not emit Zero_Cost_Exceptions
|
||
anymore.
|
||
|
||
2012-10-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* prep.adb, prepcomp.adb, gprep.adb, opt.ads: New preprocessor switch
|
||
-a (all source text preserved).
|
||
|
||
2012-10-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Recursive_Process): Use project directory
|
||
display path name as the value of 'Project_Dir.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
|
||
Deal with case where we get a bignum operand and cannot do a
|
||
range analysis.
|
||
* sem_eval.adb (Why_Not_Static): Deal with bignum operands
|
||
|
||
2012-10-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Unary_Types): Within an instance, an
|
||
interpretation that involves a predefied arithmetic operator is
|
||
not a candidate if the corresponding generic formal type is not
|
||
a numeric type.
|
||
* sem_util.ads, sem_util.adb (Corresonding_Generic_Type): If a
|
||
type is a generic actual type within an instance, return the
|
||
corresponding formal in the generic unit, otherwise return
|
||
Any_Type.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Minimize_Eliminate_Overflow_Checks): Dont reanalyze
|
||
if/case expression if nothing has changed (just reexpand). Stops
|
||
case expression from generating incorrect temporary.
|
||
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
|
||
Fix cut and paste typo for range analysis in NE (not equal) case.
|
||
* sem_eval.adb (Compile_Time_Compare): Small optimization to
|
||
catch some more cases.
|
||
* types.ads (Suppressed_Or_Checked): New subtype of
|
||
Overflow_Check_Type.
|
||
|
||
2012-10-04 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Set_CPP_Constructors_Old): Removed.
|
||
(Set_CPP_Constructors): Code cleanup.
|
||
|
||
2012-10-04 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Is_Ancestor_Unit): Make global, for use elsewhere.
|
||
(Install_Private_with_Clauses): if clause is private and limited,
|
||
do not install the limited view if the library unit is an ancestor
|
||
of the unit being compiled. This unusual configuration occurs
|
||
when compiling a unit DDP, when an ancestor P of DDP has a
|
||
private limited with clause on a descendant of P that is itself
|
||
an ancestor of DDP.
|
||
|
||
2012-10-04 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-proc.adb (Process_Package_Declaration): Use project
|
||
directory display path name as the value of 'Project_Dir.
|
||
|
||
2012-10-04 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_util.adb (Build_Allocate_Deallocate_Proc): The subpool can be
|
||
given by an arbitrary name, so copy the tree to make the call's actual.
|
||
|
||
2012-10-04 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-exnllf.adb, s-exnllf.ads: Minor reformatting.
|
||
|
||
2012-10-04 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch6.adb: Minor reformatting.
|
||
|
||
2012-10-04 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Use consistently @command{} when referencing
|
||
commands. Fix typos.
|
||
|
||
2012-10-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (New_Overloaded_Entity): call
|
||
Append_Inherited_Subprogram when appropriate.
|
||
* sem_dim.adb (Analyze_Dimension_Call): Do not perform dimensional
|
||
analysis if call has previous semantic error.
|
||
* sem_util.ads, sem_util.adb (Append_Inherited_Subprogram):
|
||
new subprogram to handle properly the visibility of inherited
|
||
operations that are primitives of a type extension, when the
|
||
parent type and operations are declared in the same visible part.
|
||
|
||
2012-10-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Minimize_Eliminate_Overflow_Checks): Properly
|
||
handle case of top level expression within type conversion
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set SUPPRESSED as
|
||
default for overflow checking for -gnatg mode (includes run-time).
|
||
* sem_res.adb (Resolve_Type_Conversion): Avoid bogus warnings
|
||
about redundant conversions from MINIMIZED/EXTENDED mode checking
|
||
|
||
2012-10-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Allocator_Expression): Minor code
|
||
reorganization and cleanup. Done to ensure proper management of
|
||
the C++ constructor covering tagged and untagged types and also
|
||
non-default constructors.
|
||
* exp_ch6.ads, exp_ch6.adb (Make_CPP_Constructor_Call_In_Allocator):
|
||
New subprogram.
|
||
|
||
2012-10-03 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor typo fix.
|
||
|
||
2012-10-03 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
|
||
Set Top_Level properly (to False) for operand of range of
|
||
membership test.
|
||
* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
|
||
Fix crash with -gnato3 and membership operations.
|
||
(Expand_Membership_Minimize_Eliminate_Overflow): Fix error message
|
||
and wrong results for -gnato3 large expression and predicated
|
||
subtype.
|
||
(Expand_Membership_Minimize_Eliminate_Overflow): Use
|
||
expression action node to avoid using insert actions (bombs in
|
||
some cases).
|
||
(Expand_Compare_Minimize_Eliminate_Overflow): Use expression action
|
||
node to avoid using insert actions (bombs in some cases).
|
||
|
||
2012-10-03 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Set_CPP_Constructors_Old): Handle constructor of
|
||
untagged type that has all its parameters with defaults and hence it
|
||
covers the default constructor.
|
||
|
||
2012-10-03 Yannick Moy <moy@adacore.com>
|
||
|
||
* checks.adb, sem_prag.adb, s-bignum.ads: Minor typo fixes.
|
||
|
||
2012-10-03 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb (Connect_Socket, version with timeout): When the
|
||
newly-connected socket is reported as available for writing, check
|
||
whether it has a pending asynchronous error prior to returning.
|
||
|
||
2012-10-03 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Conformance): Additional info when subtype
|
||
conformance fails, due to a missing null exclusion indicatar in
|
||
a formal that must match a controlling access formal.
|
||
|
||
2012-10-02 Ben Brosgol <brosgol@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor editing.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Function_Return): Reject a return
|
||
expression whose type is a local access to subprogram type.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb: Minor improvement to Compile_Time_Compare.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
|
||
Fix base type problem that resulted in improper conversion.
|
||
(Minimize_Eliminate_Overflow_Checks): Properly handle top
|
||
level case to avoid unnecessary conversion to bignum or LLI.
|
||
(Minimize_Eliminate_Overflow_Checks): Implement uniform two phase
|
||
approach for arithmetic operators and for if/case expressions.
|
||
* checks.ads: Minor comment fix.
|
||
* exp_ch4.adb (Minimized_Eliminated_Overflow_Check): New function,
|
||
implements a uniform way of treating minimized/eliminated checks in
|
||
two phases.
|
||
(Expand_Compare_Minimize_Eliminate_Overflow): Fix cut and
|
||
paste error resulting in wrong results for less than in some
|
||
cases. (Expand_Membership_Minimize_Eliminate_Overflow):
|
||
Fix error caused by incorrect capture of operand types.
|
||
(Expand_Membership_Minimize_Eliminate_Overflow): Fix error in
|
||
handling of bignum case.
|
||
(Expand_N_Case_Expression): Implement
|
||
proper two phase handling (Expand_N_If_Expression): Implement
|
||
proper two phase handling (Expand_N_Op_Abs): Implement proper
|
||
two phase handling ditto for all other arithmetic operators
|
||
* sem_res.adb (Resolve_If_Expression): Avoid introducing
|
||
unneeded conversions.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-bignum.adb (Big_Exp): 0**0 should be 1, not 0.
|
||
(Big_Exp): Fix possible error for (-1)**0.
|
||
(Big_Exp): Fix error in computing 2**K for small K.
|
||
(Big_Mod): Fix wrong sign for negative operands.
|
||
(Div_Rem): Fix bad results for operands close to 2**63.
|
||
* s-bignum.ads: Add documentation and an assertion to require
|
||
LLI size to be 64 bits.
|
||
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Do not
|
||
allow ELIMINATED if LLI'Size is other than 64 bits.
|
||
* switch-c.adb (Scan_Switches): Do not allow -gnato3 if LLI'Size
|
||
is not 64 bits.
|
||
* switch.ads (Bad_Switch): Add missing pragma No_Return.
|
||
* gnat_ugn.texi: Added appendix on Overflow Check Handling in GNAT.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_type.adb: Minor reformatting.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch8.adb: Minor reformatting.
|
||
|
||
2012-10-02 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Set_CPP_Constructors): Handle constructor with default
|
||
parameters that covers the default constructor.
|
||
|
||
2012-10-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* s-bignum.adb: Minor stylistic and comment corrections.
|
||
|
||
2012-10-02 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-util.adb (For_Interface_Sources): Iterate over all sources in
|
||
aggregate library projects.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Find_Direct_Name): The left-hand side of an
|
||
assignment may designate a generalized reference.
|
||
|
||
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* types.h (N_Return_Statement): Delete.
|
||
* gcc-interface/trans.c (gnat_to_gnu): Replace N_Return_Statement with
|
||
N_Simple_Return_Statement.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): in a generic context, aspects must
|
||
be analyzed because they may be queried subsequently within the
|
||
generic unit, even if no other freezing actions are generated
|
||
for an entity.
|
||
* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): iterator
|
||
aspects must be analyzed because they are delayed aspects and
|
||
the corresponding attribute definition clause may not have been
|
||
analyzed yet.
|
||
|
||
2012-10-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor editing.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.adb, sinfo.ads, sem_util.adb, sem_util.ads, types.h,
|
||
exp_ch4.adb, exp_ch6.adb: Get rid of internal use of N_Return_Statement.
|
||
|
||
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* types.h: Minor cosmetic fix.
|
||
|
||
2012-10-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interfaces/decl.c (elaborate_expression_1): Use the variable for
|
||
bounds of loop iteraration scheme only for locally defined subtypes.
|
||
|
||
* gcc-interface/trans.c (gigi): Fix formatting.
|
||
(build_return_expr): Apply the NRV optimization only for BLKmode.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads: Remove refs of N_Conditional_Expression and
|
||
N_Parameterized_Expression.
|
||
|
||
2012-10-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_aggr.adb (Get_Component_Val): Rewrite code that computes
|
||
justification of bits in enclosing word in an attempt to make
|
||
it clearer.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, sem_ch3.adb, layout.adb, exp_ch7.adb, exp_imgv.adb,
|
||
exp_util.adb, exp_util.ads, exp_attr.adb, sinfo.adb, sinfo.ads,
|
||
exp_ch9.adb, style.ads, scos.ads, debug.adb, einfo.ads, scng.adb,
|
||
checks.adb, checks.ads, sem.adb, par-ch4.adb, sem_util.adb, types.h,
|
||
sem_res.adb, expander.adb, scans.ads, par.adb, exp_ch2.adb,
|
||
gnat1drv.adb, stylesw.ads, sem_elab.adb, exp_ch4.adb, exp_ch4.ads,
|
||
exp_ch6.adb, sem_ch4.adb, sem_ch4.ads, sem_ch6.adb,
|
||
opt.ads, sem_eval.adb, sem_eval.ads, exp_intr.adb, sprint.adb,
|
||
sprint.ads, styleg.ads: Change name Conditional_Expression to
|
||
If_Expression.
|
||
* gcc-interface/trans.c (gnat_to_gnu): Replace
|
||
N_Conditional_Expression by N_If_Expression.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Expon): Use expression with actions
|
||
for x ** 4.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb: (Analyze_Iterator_Specification): If container
|
||
has a variable indexing aspect, the element is a variable and
|
||
is modifiable in the loop. This check is also performed when the
|
||
loop is expanded, but it must be done in semantic analysis when
|
||
expansion is disabled, for example for ASIS usage.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): If a child subprogram
|
||
has no previous spec, treat a reference to its formals (such
|
||
as a parameter association) as coming from source in order to
|
||
generate the proper references and enable gps navigation between
|
||
reference and declaration.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Arithmetic_Overflow_Checked_Suppressed):
|
||
New name for Apply_Arithmetic_Overflow_Normal
|
||
(Apply_Arithmetic_Overflow_Minimized_Eliminated):
|
||
Add handling for conditional expressions
|
||
(Is_Signed_Integer_Arithmetic_Op): Now includes conditional
|
||
expressions (Minimize_Eliminate_Overflow_Checks): Handle
|
||
conditional expressions.
|
||
* checks.ads: Minor comment fixes.
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Call
|
||
Apply_Arithmetic_Overflow_Check (Expand_N_Conditional_Expression):
|
||
Call Apply_Arithmetic_Overflow_Check
|
||
* s-bignum.adb (Normalize): Remove incorrect precondition.
|
||
* sem_res.adb (Resolve_Case_Expression): Set Do_Overflow_Check
|
||
flag (Resolve_Conditional_Expression): Set Do_Overflow_Check flag.
|
||
* sinfo.adb: Add Do_Overflow_Check for conditional expressions.
|
||
* sinfo.ads: Minor documentation updates.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Case_Expression): Do not introduce
|
||
indirections when the type of the alternatives is an access type:
|
||
more efficient, and removes anomalies when an alternative is
|
||
statically null.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads: Minor comment addition (Invariant is a GNAT aspect).
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, sem_dim.adb, sem_dim.ads, prj-part.adb, checks.adb,
|
||
freeze.adb, sem_ch4.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Overflow_Checks): Fix
|
||
typo preventing proper processing of Overflow_Checks pragmas
|
||
for general case.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Op_Mod): Fix crash in ELIMINATED overflow
|
||
checks mode when bignum mode is used.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* stylesw.ads, gnat_ugn.texi: Document new style rule for NOT IN.
|
||
* par-ch4.adb (P_Relational_Operator): Add style check for NOT IN.
|
||
* style.ads, styleg.adb, styleg.ads (Check_Not_In): New procedure.
|
||
|
||
2012-10-02 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Check dimension for attribute
|
||
Old before it gets expanded.
|
||
* sem_dim.adb (Analyze_Dimension_Has_Etype): Correctly propagate
|
||
dimensions for identifier.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop): Handle properly the case
|
||
where the iterator type is derived locally from an instantiation
|
||
of Ada.Iterators_Interface.
|
||
* exp_ch7.adb (Establish_Transient_Scope): Do not create a
|
||
transient scope if within the expansion of an iterator loop,
|
||
because a transient block already exists.
|
||
|
||
2012-10-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: Use absolute path for configuration pragmas files
|
||
* make.adb (Configuration_Pragmas_Switch.Absolute_Path): Moved
|
||
to Makeutl.
|
||
* makeutl.ads, makeutl.adb (Absolute_Path): New function, moved from
|
||
make.adb.
|
||
|
||
2012-10-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.adb (Post_Parse_Context_Clause): Resurrect Boolean
|
||
parameter In_Limited. Check for circularity also if In_Limited
|
||
is True.
|
||
(Parse_Single_Project): Call Post_Parse_Context_Clause with
|
||
In_Limited parameter.
|
||
|
||
2012-10-02 Bob Duff <duff@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Disable check in -gnatc mode.
|
||
|
||
2012-10-02 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
|
||
for function calls moved to Analyze_Dimension_Call.
|
||
* sem_dim.adb (Analyze_Dimension_Call): Properly propagate the
|
||
dimensions from the returned type for function calls.
|
||
|
||
2012-10-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* gnatcmd.adb: Take into account any configuration pragma file
|
||
in the project files for gnat pretty/stub/metric.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Indexing_Functions): Refine several tests
|
||
on the legality of indexing aspects: Constant_Indexing functions
|
||
do not have to return a reference type, and given an indexing
|
||
aspect Func, not all overloadings of Func in the current scope
|
||
need to be indexing functions.
|
||
|
||
2012-10-02 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnat_ugn.texi: Adjust docs for overflow checks to be VMS-friendly.
|
||
|
||
2012-10-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-m.adb (Normalize_Compiler_Switches): Recognize switches
|
||
-gnatox and -gnatoxx when x=0/1/2/3.
|
||
|
||
2012-10-02 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Indexed_Component_Form): Dimension
|
||
analysis for indexed components added.
|
||
* sem_ch6.adb (Analyze_Function_Call): Dimension propagation
|
||
for function calls added.
|
||
* sem_dim.adb (Analyze_Dimension): Call to
|
||
Analyze_Dimension_Has_Etype when N is a function call.
|
||
(Analyze_Dimension_Call): Don't propagate anymore the dimensions
|
||
for function calls since this is now treated separately in
|
||
Analyze_Dimension_Has_Etype.
|
||
(Analyze_Dimension_Has_Etype): For
|
||
attribute references, propagate the dimensions from the prefix.
|
||
* sem_dim.ads (Copy_Dimensions): Fix comment.
|
||
|
||
2012-10-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
|
||
(Apply_Parameter_Aliasing_And_Validity_Checks): This routine
|
||
has been split into two.
|
||
(Apply_Parameter_Validity_Checks): New routine.
|
||
* exp_ch6.adb (Expand_Call): Add checks to verify that actuals
|
||
do not overlap. The checks are made on the caller side to overcome
|
||
issues of parameter passing mechanisms.
|
||
* freeze.adb (Freeze_Entity): Update call to
|
||
Apply_Parameter_Aliasing_And_Validity_Checks.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Is_Empty_Range): Use bounds of index type
|
||
to determine whether an array is empty when optimizing
|
||
a quantified expression over a null range. Use of RM_Size
|
||
was incorrect. Analyze condition before constant-folding the
|
||
expression to catch potential errors. Modify the error message
|
||
to avoid mathematical terminology.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb, gnat_rm.texi, vms_data.ads: Add entry for
|
||
/OVERFLOW_CHECKS=?? generating -gnato?? for control
|
||
of extended overflow checking.
|
||
* ug_words: Add entry for -gnato?? for /OVERFLOW_CHECKS=??
|
||
* gnat_ugn.texi: Add documentation for -gnato?? for control of overflow
|
||
checking mode.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): If the iterator in
|
||
a quantified expression is statically known to be null (e.g. a
|
||
array with an empty index type) emit a warning.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_dim.adb: Minor code reorganization.
|
||
* sem_dim.ads: Add comment.
|
||
|
||
2012-10-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads, exp_ch4.adb, checks.adb
|
||
(Minimize_Eliminate_Overflow_Checks): Add Top_Level parameter to avoid
|
||
unnecessary conversions to Bignum.
|
||
Minor reformatting.
|
||
|
||
2012-10-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_PPCs): Generate invariant checks for a
|
||
return value whose type is an access type and whose designated
|
||
type has invariants. Ditto for in-out parameters and in-parameters
|
||
of an access type.
|
||
* exp_ch3.adb (Build_Component_Invariant_Call): Add invariant check
|
||
for an access component whose designated type has invariants.
|
||
|
||
2012-10-01 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_aggr.adb (New_Copy_Tree_And_Copy_Dimensions): New routine.
|
||
(Resolve_Record_Aggregate): New_Copy_Tree calls replaced by
|
||
New_Copy_Tree_And_Copy_Dimensions calls. Move_Dimensions call
|
||
replaced by Copy_Dimensions call.
|
||
* sem_dim.adb (Analyze_Dimension_Component_Declaration): Don't
|
||
remove the dimensions of expression in component declaration anymore.
|
||
(Copy_Dimensions): New routine.
|
||
(Move_Dimensions): Add call to Copy_Dimensions.
|
||
* sem_dim.ads (Copy_Dimensions): New routine.
|
||
(Move_Dimensions): Spec moved to body of Sem_Dim.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): If the predicate is a
|
||
static one and the operand is static, evaluate the predicate at
|
||
compile time.
|
||
* sem_eval.ads, sem_eval.adb (Eval_Static_Predicate_Check): new
|
||
procedure, to evaluate a static predicate check whenever possible.
|
||
* sem_res.adb (Resolve_Type_Conversion): Apply predicate check
|
||
on the conversion if the target type has predicates.
|
||
|
||
2012-10-01 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Has_Symbols): Complain if parameter Symbol has been
|
||
provided by the user in the dimension output call.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Divide_Checks): New name for
|
||
Apply_Divide_Check (Minimize_Eliminate_Overflow_Checks):
|
||
Add code to handle division (and rem and mod) properly.
|
||
(Apply_Division_Check): New procedure (Apply_Divide_Checks):
|
||
Use Apply_Division_Check (Apply_Divide_Checks): Use
|
||
Apply_Arithmetic_Overflow_Minimized_Eliminated.
|
||
* checks.ads (Apply_Divide_Checks): New name for
|
||
Apply_Divide_Check, also add clearer documentation for this
|
||
routine and put in alfa order.
|
||
* exp_ch4.adb (Apply_Divide_Checks): New name for
|
||
Apply_Divide_Check.
|
||
* s-bignum.adb (To_Bignum): Handle largest negative integer
|
||
properly.
|
||
* sem.adb (Analyze): Handle overflow suppression correctly
|
||
(Analyze_List): Handle overflow suppression correctly
|
||
* sem_res.adb (Analyze_And_Resolve): Handle overflow suppression
|
||
correctly.
|
||
|
||
2012-10-01 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, g-socket.ads: Revert previous change, breaks VMS.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Minimize_Eliminate_Overflow_Checks): Changes
|
||
for exponentiation.
|
||
* exp_ch4.adb (Expand_N_Op_Expon): Changes for Minimize/Eliminate
|
||
overflow checks.
|
||
* s-bignum.adb (Compare): Fix bad precondition.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Record_Type): If the derived
|
||
type has new discriminantss that constrain inherited ones, use
|
||
the discriminant type in the original declaration to check for
|
||
conformance, because in the presence of array components with a
|
||
smaller range that are constrained by the origina discriminant,
|
||
the compiler will have created a narrower subtype for that
|
||
discriminant.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
|
||
Handle case of appearing in range in membership test.
|
||
* exp_ch4.adb (Expand_Membership_Minimize_Eliminate_Overflow):
|
||
New procedure (Expand_N_In): Use
|
||
Expand_Membership_Minimize_Eliminate_Overflow.
|
||
* rtsfind.ads: Add RE_Bignum_In_LLI_Range.
|
||
* s-bignum.ads, s-bignum.adb (Bignum_In_LLI_Range): New function.
|
||
* sinfo.ads, sinfo.adb (No_Minimize_Eliminate): New flag.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* uintp.ads: Minor reformatting.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb: Improve warning message.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Minor reformatting.
|
||
|
||
2012-10-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Suppress tag
|
||
assignment for initializations that are aggregates.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Compare_Minimize_Eliminate_Overflow):
|
||
New procedure.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Minimize_Eliminate_Checks): Changes from testing.
|
||
(Apply_Arithmetic_Overflow_Minimized_Eliminated): Changes
|
||
from testing.
|
||
* sinfo.ads: Remove note on not setting Entity field in overflow
|
||
case since this is no longer true.
|
||
* Makefile.rtl: Add s-bignum.o
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Make-generated.in: Correction to previous change for s-oscons
|
||
target.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-bignum.adb (Allocate_Bignum): Reorganize to kill strict
|
||
aliasing warning.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb (Overflow_Check_Mode): New function
|
||
(Apply_Overflow_Check): New procedure (Is_Check_Suppressed):
|
||
Moved here from Sem, Overflow_Check case now specially treated.
|
||
* checks.ads (Overflow_Check_Mode): New function
|
||
(Is_Check_Suppressed): Moved here from Sem (more logical)
|
||
* exp_ch4.adb (Substitute_Valid_Check): Suppress warning about
|
||
optimization if we are in MINIMIZED or ELIMINATED overflow
|
||
checking mode and within an assertiom expression.
|
||
* rtsfind.ads: Add entries for Bignum stuff.
|
||
* s-bignum.ads, s-bignum.adb: New files.
|
||
* sem.ads, sem.adb (Is_Check_Suppressed): Moved to Checks, more logical.
|
||
* sem_prag.adb (Process_Suppress_Unsuppress): New behavior for
|
||
Unsuppress of Overflow_Check (sets Checked instead of Minimized)
|
||
* sem_res.adb: Update comments.
|
||
* sinfo.ads (N_Op): Add documentation on overflow handling.
|
||
* tbuild.ads, tbuild.adb (Convert_To_And_Rewrite): New procedure.
|
||
* types.ads (Minimized_Or_Eliminated): New subtype.
|
||
|
||
2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* layout.adb (Layout_Type): Do not set twice the address size
|
||
on an access-to-unconstrained array if Debug_Flag_6 is set.
|
||
|
||
2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Remove the specialized
|
||
code which prevents freezing when the declarative list contains
|
||
a _postconditions body. This is no longer needed because the
|
||
body is now inserted at the end of the declarations.
|
||
* sem_ch6.adb (Insert_After_Last_Declaration): New routine.
|
||
(Insert_Before_First_Source_Declaration): Removed.
|
||
(Process_PPCs): Insert the _postconditions body at the end of
|
||
the declarative list to prevent premature freezing of types that
|
||
appear in the declarations.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aggr.adb, sem_dim.adb: Minor reformatting.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention, Process_Import_Or_Interface):
|
||
Adjust test so that when the pragma comes from an aspect
|
||
specification it only applies to the entity in the original
|
||
declaration.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_ugn.texi: Document new command line switch -fada-spec-parent.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, g-socket.ads: Minor code improvement: use gcc
|
||
builtin __alignof__ to get the alignment of struct fd_set.
|
||
|
||
2012-10-01 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Remove call to
|
||
Remove_Dimension_In_Call.
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Analyze dimension of
|
||
components in array aggregate.
|
||
(Resolve_Aggr_Expr): Propagate dimensions from the original expression
|
||
Expr to the new created expression New_Expr when resolving the
|
||
expression of a component in record aggregates.
|
||
(Resolve_Record_Aggregate): Analyze
|
||
dimension of components in record (or extension) aggregate.
|
||
* sem_ch6.adb (Analyze_Subprogram_Specification): Analyze
|
||
dimension of formals with default expressions in subprogram
|
||
specification.
|
||
* sem_ch8.adb (Analyze_Expanded_Name): Analyze dimension of
|
||
expanded names.
|
||
(Find_Selected_Component): Analyze dimension of selected component.
|
||
* sem_dim.adb: Several dimension error messages reformatting.
|
||
(Dimensions_Msg_Of): New flag Description_Needed in order to
|
||
differentiate two different sort of dimension error messages.
|
||
(Dim_Warning_For_Numeric_Literal): New routine.
|
||
(Exists): New routine.
|
||
(Move_Dimensions): Routine spec moved to spec file.
|
||
* sem_dim.ads (String_From_Numeric_Literal): New routine.
|
||
(Analyze_Dimension): Analyze dimension only when the
|
||
node comes from source. Dimension analysis for expanded names added.
|
||
(Analyze_Dimension_Array_Aggregate): New routine.
|
||
(Analyze_Dimension_Call): New routine.
|
||
(Analyze_Dimension_Component_Declaration): Warning if default
|
||
expression is a numeric literal.
|
||
(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
|
||
(Analyze_Dimension_Formals): New routine.
|
||
(Analyze_Dimension_Object_Declaration): Warning if default
|
||
expression is a numeric literal.
|
||
(Symbol_Of): Return either the dimension subtype symbol or the
|
||
dimension symbol built by From_Dim_To_Str_Of_Unit_Symbols.
|
||
* sem_dim.ads (Analyze_Dimension_Array_Aggregate): New routine.
|
||
(Analyze_Dimension_Call): New routine.
|
||
(Analyze_Dimension_Extension_Or_Record_Aggregate): New routine.
|
||
(Analyze_Dimension_Formals): New routine.
|
||
(Move_Dimensions): Moved from sem_dim.adb.
|
||
* s-dimmks.ads: Turn off the warnings for dimensioned object
|
||
declaration. Dimensioned subtypes sorted in alphabetical
|
||
order. New subtypes Area, Speed, Volume.
|
||
* s-dmotpr.ads: Turn off the warnings for dimensioned object
|
||
declaration.
|
||
* sem_res.adb (Resolve_Call): Analyze dimension for calls.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* Make-generated.in: Minor cleanup of all targets: use
|
||
MOVE_IF_CHANGE to put generated files in place, to avoid useless
|
||
recompilations.
|
||
|
||
2012-10-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Dispatching_Call): For functions returning
|
||
interface types add an implicit conversion to the returned object
|
||
to force the displacement of the pointer to the returned object
|
||
to reference the corresponding secondary dispatch table. This
|
||
is needed to handle well combined calls involving secondary
|
||
dispatch tables (for example Obj.Prim1.Prim2).
|
||
* exp_ch4.adb (Expand_Allocator_Expression): Declare internal
|
||
access type as access to constant or access to variable depending
|
||
on the context. Found working in this ticket.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Do not apply check to
|
||
actual of predicate checking procedure, to prevent infinite
|
||
recursion.
|
||
|
||
2012-10-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
(GCC_LINK): Add -static-libstdc++.
|
||
|
||
2012-10-01 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-catizo.adb, a-stwiun.adb, a-cdlili.adb, a-cihama.adb, a-direct.adb,
|
||
a-coinve.adb, a-calend.adb, a-ciorse.adb, a-coorma.adb, a-cfdlli.adb,
|
||
a-stzunb-shared.adb, a-cfhase.adb, bindgen.adb, ceinfo.adb, a-tags.adb,
|
||
einfo.adb, checks.adb, eval_fat.adb, a-cborma.adb, a-stwifi.adb,
|
||
a-tifiio.adb, a-textio.adb, a-cidlli.adb, a-strunb-shared.adb,
|
||
a-cimutr.adb, a-calcon.adb, a-exexpr-gcc.adb, a-ciormu.adb,
|
||
a-stzunb.adb, a-stzsea.adb, a-ngelfu.adb, a-stzfix.adb,
|
||
a-cihase.adb, a-cohama.adb, a-exetim-posix.adb, a-dirval-vms.adb,
|
||
a-caldel-vms.adb, a-coorse.adb, errout.adb,
|
||
a-except.adb, butil.adb, a-dirval-mingw.adb, a-cforma.adb,
|
||
a-except-2005.adb, a-wtedit.adb, cstand.adb, a-stwiun-shared.adb,
|
||
a-cbhama.adb, a-direio.adb, clean.adb, a-cborse.adb, back_end.adb,
|
||
binde.adb, a-exexda.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
|
||
a-coormu.adb, a-teioed.adb, a-convec.adb, a-wtenau.adb, exp_aggr.adb,
|
||
a-ztedit.adb, a-cohase.adb, a-exetim-mingw.adb, bcheck.adb,
|
||
a-dynpri.adb, a-cfhama.adb, a-calfor.adb, a-cbdlli.adb,
|
||
a-crdlli.adb, a-cbmutr.adb, a-sequio.adb, a-ngcoar.adb, a-cforse.adb,
|
||
a-strunb.adb, a-calend-vms.adb, a-clrefi.adb, a-cofove.adb,
|
||
a-ztenau.adb, a-strfix.adb, a-cbhase.adb, a-stzsup.adb: Minor
|
||
reformatting.
|
||
|
||
2012-10-01 Vincent Pucci <pucci@adacore.com>
|
||
|
||
PR ada/54614
|
||
* s-gearop.adb (Vector_Matrix_Product): Fix dimension check and index
|
||
of Left in S evaluation.
|
||
|
||
2012-10-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Declarations): Avoid
|
||
premature freezing caused by the internally generated subprogram
|
||
_postconditions.
|
||
* checks.adb (Expr_Known_Valid): Float literals are assumed to be valid
|
||
in VM targets.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinput.ads, sinput.adb, sinput-l.adb sinput-c.adb (Sinput): New
|
||
Instances table, tracking all generic instantiations. Source file
|
||
attribute Instance replaces previous Instantiation attribute with an
|
||
index into the Instances table.
|
||
(Iterate_On_Instances): New generic procedure.
|
||
(Create_Instantiation_Source): Record instantiations in Instances.
|
||
(Tree_Read, Tree_Write): Read/write the instance table.
|
||
* scils.ads, scos.adb (SCO_Instance_Table): New table, contains
|
||
information copied from Sinput.Instance_Table, but self-contained
|
||
within the SCO data structures.
|
||
* par_sco.ads, par_sco.adb (To_Source_Location): Move to library level.
|
||
(Record_Instance): New subprogram, used by...
|
||
(Populate_SCO_Instance_Table): New subprogram to fill
|
||
the SCO instance table from the Sinput one (called by SCO_Output).
|
||
* opt.ads (Generate_SCO_Instance_Table): New option.
|
||
* put_scos.adb (Write_Instance_Table): New subprogram, used by...
|
||
(Put_SCOs): Dump the instance table at the end of SCO information
|
||
if requested.
|
||
* get_scos.adb (Get_SCOs): Read SCO_Instance_Table.
|
||
* types.h: Add declaration for Instance_Id.
|
||
* back_end.adb (Call_Back_End): Pass instance ids in source file
|
||
information table.
|
||
(Scan_Back_End_Switches): -fdebug-instances sets
|
||
Opt.Generate_SCO_Instance_Table.
|
||
* gcc-interface/gigi.h: File_Info_Type includes instance id.
|
||
* gcc-interface/trans.c: Under -fdebug-instances, set instance
|
||
id in line map from same in file info.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_elab.adb: Minor reformatting
|
||
(Check_Elab_Call): Minor fix to debugging code
|
||
(add special circuit for the valid case where a 'Access attribute
|
||
reference is passed to Check_Elab_Call).
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.ads (Build_Array_Invariant_Proc): moved to body.
|
||
* exp_ch3.adb (Build_Array_Invariant_Proc,
|
||
Build_Record_Invariant_Proc): transform into functions.
|
||
(Insert_Component_Invariant_Checks): for composite types that have
|
||
components with specified invariants, build a checking procedure,
|
||
and make into the invariant procedure of the composite type,
|
||
or incorporate it into the user- defined invariant procedure if
|
||
one has been created.
|
||
* sem_ch3.adb (Array_Type_Declaration): Checking for invariants
|
||
on the component type is defered to the expander.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* xsnamest.adb, namet.h, sem_ch10.adb, s-oscons-tmplt.c,
|
||
xoscons.adb: Minor reformatting.
|
||
|
||
2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Parameter_Aliasing_And_Validity_Checks):
|
||
Do not process subprogram renaminds because a) those cannot
|
||
have PPC pragmas b) the renamed entity already has the PPCs.
|
||
(Build_PPC_Pragma): Prepend a PPC pragma for consistency with
|
||
Process_PPCs.
|
||
* sem_ch6.adb (Last_Implicit_Declaration): Removed.
|
||
(Process_PPCs): Insert a post condition body at the start of the
|
||
declarative region of the related subprogram. This way the body
|
||
will not freeze anything it shouldn't.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, sem_ch6.adb, opt.ads, sem_ch13.adb,
|
||
exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Build_PPC_Pragma): A PPC pragma can now be properly
|
||
associated with a subprogram body.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.ads: Type_Invariant'class is a valid aspect.
|
||
* sem_ch6.adb (Is_Public_Subprogram_For): with the exception of
|
||
initialization procedures, subprograms that do not come from
|
||
source are not public for the purpose of invariant checking.
|
||
* sem_ch13.adb (Build_Invariant_Procedure): Handle properly the
|
||
case of a non-private type in a package without a private part,
|
||
when the type inherits invariants from its ancestor.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Record_Invariant_Proc): new procedure to
|
||
generate a checking procedure for record types that may have
|
||
components whose types have type invariants declared.
|
||
|
||
2012-10-01 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* system-solaris-sparcv9.ads, system-mingw.ads, system-vms_64.ads: Flag
|
||
Support_Atomic_Primitives set to True.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* impunit.adb: Ada.Locales is a language defined unit.
|
||
|
||
2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Apply_Parameter_Aliasing_Checks): Removed.
|
||
(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
|
||
(Apply_Parameter_Validity_Checks): Removed.
|
||
* checks.ads (Apply_Parameter_Aliasing_Checks): Removed.
|
||
(Apply_Parameter_Aliasing_And_Validity_Checks): New routine.
|
||
(Apply_Parameter_Validity_Checks): Removed.
|
||
* exp_ch6.adb (Expand_Call): Remove the generation of parameter
|
||
aliasing checks.
|
||
* freeze.adb: Remove with and use clauses for Validsw.
|
||
(Freeze_Entity): Update the guard and generation of aliasing
|
||
and scalar initialization checks for subprogram parameters.
|
||
* opt.ads: Add new flags Check_Aliasing_Of_Parameters and
|
||
Check_Validity_Of_Parameters along with comments on usage.
|
||
* sem_attr.adb (Analyze_Attribute): Pragma Overlaps_Storage is
|
||
no longer an Ada 2012 feature.
|
||
* sem_ch4.adb: Remove with and use clauses for Checks and Validsw.
|
||
(Analyze_Call): Remove the generation of aliasing checks for
|
||
subprogram parameters.
|
||
* sem_ch13.adb: Remove with and use clauses for Validsw.
|
||
(Analyze_Aspect_Specifications): Remove the generation of scalar
|
||
initialization checks.
|
||
* switch-c.adb (Scan_Front_End_Switches): Add processing for
|
||
-gnateA and -gnateV.
|
||
* usage.adb (Usage): Add information on switches -gnateA and
|
||
-gnateV. Remove information on validity switches 'l', 'L',
|
||
'v' and 'V'.
|
||
* validsw.adb (Reset_Validity_Check_Options): Remove the
|
||
reset of flags Validity_Check_Non_Overlapping_Params
|
||
and Validity_Check_Valid_Scalars_On_Params.
|
||
(Save_Validity_Check_Options): Remove the processing
|
||
for flags Validity_Check_Non_Overlapping_Params
|
||
and Validity_Check_Valid_Scalars_On_Params.
|
||
(Set_Validity_Check_Options): Remove the processing
|
||
for flags Validity_Check_Non_Overlapping_Params and
|
||
Validity_Check_Valid_Scalars_On_Params.
|
||
* validsw.ads: Remove flags Validity_Check_Non_Overlapping_Params
|
||
and Validity_Check_Valid_Scalars_On_Params along with their
|
||
comments on usage.
|
||
|
||
2012-10-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Add_Invariants): Analyze the invariant expression
|
||
as an assertion expression.
|
||
* sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression):
|
||
New procedure that wraps a call to Preanalyze_Spec_Expression
|
||
for assertion expressions, so that In_Assertion_Expr can be
|
||
properly adjusted.
|
||
* sem_prag.adb (Analyze_PPC_In_Decl_Part
|
||
Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the
|
||
new Preanalyze_Assert_Expression.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.ads: Minor reformatting.
|
||
|
||
2012-10-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* types.ads, sem_prag.adb, sem.ads: Correct minor typos in comments.
|
||
|
||
2012-10-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Scan_Make_Arg): Only test for "vP" of the option
|
||
includes at least 3 characters.
|
||
* gnatcmd.adb (GNATCmd): Ditto.
|
||
|
||
2012-10-01 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch7.adb, sinfo.ads: Add comments.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Remove reference to Enable_Overflow_Checks Use
|
||
Suppress_Options rather than Scope_Suppress.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Handle new overflow
|
||
settings (Adjust_Global_Switches): Initialize Scope_Suppress
|
||
from Suppress_Options.
|
||
* opt.adb: Remove Enable_Overflow_Checks (use Suppress_Options
|
||
instead).
|
||
* opt.ads: Remove Overflow_Checks_Unsuppressed (not used)
|
||
Remove Enable_Overflow_Checks (use Suppress_Options instead)
|
||
Suppress_Options is now current setting (replaces Scope_Suppress).
|
||
* osint.adb (Initialize): Deal with initializing overflow
|
||
checking.
|
||
* par-prag.adb: Add dummy entry for pragma Overflow_Checks.
|
||
* sem.adb (Semantics): Save and restore In_Assertion_Expr Use
|
||
Suppress_Options instead of Scope_Suppress.
|
||
* sem.ads (In_Assertion_Expr): New flag (Scope_Suppress):
|
||
Removed, use Suppress_Options instead.
|
||
* sem_eval.adb (Compile_Time_Compare): Return Unknown in
|
||
preanalysis mode.
|
||
* sem_prag.adb (Process_Suppress_Unsuppress): Setting of
|
||
Overflow_Checks_Unsuppressed removed (not used anywhere!)
|
||
(Analyze_Pragma, case Check): Set In_Assertion_Expression
|
||
(Analyze_Pragma, case Overflow_Checks): Implement new pragma
|
||
* snames.ads-tmpl: Add names needed for handling pragma
|
||
Overflow_Checks
|
||
* switch-c.adb (Scan_Front_End_Switches) Handle -gnato? and
|
||
-gnato?? where ? is 0-3
|
||
* types.ads: Updates and fixes to comment on Suppress_Record.
|
||
|
||
2012-10-01 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-part.adb (Parse): Remove incorrect comment about checking
|
||
imported non extending projects from and "extending all"
|
||
one. Minor correction.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* validsw.adb (Save_Validity_Check_Options): Do not set
|
||
Validity_Check_Non_Overlapping_Params and
|
||
Validity_Check_Valid_Scalars_On_Params when -gnatVa is present
|
||
because the related checks are deemed too aggressive.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.ads sem_util.adb (Check_Internal_Protected_Use):
|
||
reject use of protected procedure or entry within the body of
|
||
a protected function of the same protected type, when usage is
|
||
a call, an actual in an instantiation, a or prefix of 'Access.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): Verify that target
|
||
object in renaming of protected procedure is a variable, and
|
||
apply Check_Internal_Protected_Use.
|
||
* sem_res.adb (Analyze_Call, Analyze_Entry_Call): apply
|
||
Check_Internal_Protected_Use rather than on-line code.
|
||
* sem_attr.adb (Analyze_Access_Attribute): Verify that target
|
||
object in accsss to protected procedure is a variable, and apply
|
||
Check_Internal_Protected_Use.
|
||
|
||
2012-10-01 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Equality_Types.Try_One_Interp): Exclude the
|
||
predefined interpretation from consideration if it's for a "/="
|
||
operator of a tagged type. This will allow Analyze_Equality_Op to
|
||
rewrite the "/=" as a logical negation of a call to the appropriate
|
||
dispatching equality function. This needs to be done during
|
||
analysis rather than expansion for the benefit of ASIS, which
|
||
otherwise gets the unresolved N_Op_Ne operator from Standard.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnatcmd.adb, make.adb (Scan_Make_Arg, Inspect_Switches): Recognize
|
||
and reject an invalid parameter passed to -vP.
|
||
|
||
2012-10-01 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_warn.adb (Check_Infinite_Loop_Warning/Test_Ref): Improve
|
||
the detection of modifications to the loop variable by noting
|
||
that, if the type of variable is elementary and the condition
|
||
does not contain a function call, then the condition cannot be
|
||
modified by side-effects from a procedure call.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* checks.adb: Add comments.
|
||
|
||
2012-10-01 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): Improve condition catching
|
||
never-ending recursion. The previous condition erroneously disabled
|
||
silently the expansion of the class-wide interface object
|
||
initialization in cases not involving the recursion.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* make.adb: Minor documentation fix: error messages are sent to
|
||
stderr, not stdout.
|
||
|
||
2012-10-01 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.ads, checks.adb (Apply_Parameter_Aliasing_Checks): New routine.
|
||
(Apply_Parameter_Validity_Checks): New routines.
|
||
* exp_ch6.adb (Expand_Call): Add aliasing checks to detect
|
||
overlapping objects.
|
||
* freeze.adb: Add with and use clauses for Checks and Validsw.
|
||
(Freeze_Entity): Add checks to detect proper initialization
|
||
of scalars.
|
||
* sem_ch4.adb: Add with and use clauses for Checks and Validsw.
|
||
(Analyze_Call): Add aliasing checks to detect overlapping objects.
|
||
* sem_ch13.adb: Add with and use clauses for Validsw.
|
||
(Analyze_Aspect_Specifications): Add checks to detect proper
|
||
initialization of scalars.
|
||
* sem_prag.adb (Chain_PPC): Correct the extraction of the
|
||
subprogram name.
|
||
* sem_util.adb (Is_Object_Reference): Attribute 'Result now
|
||
produces an object.
|
||
* usage.adb (Usage): Add usage lines for validity switches 'l',
|
||
'L', 'v' and 'V'.
|
||
* validsw.adb (Reset_Validity_Check_Options): Include
|
||
processing for flags Validity_Check_Non_Overlapping_Params and
|
||
Validity_Check_Valid_Scalars_On_Params. Code reformatting.
|
||
(Save_Validity_Check_Options): Include processing
|
||
for flags Validity_Check_Non_Overlapping_Params
|
||
and Validity_Check_Valid_Scalars_On_Params.
|
||
(Set_Validity_Check_Options): Add processing for validity switches
|
||
'a', 'l', 'L', 'n', 'v' and 'V'. Code reformatting.
|
||
* validsw.ads: Add new flags Validity_Check_Non_Overlapping_Params
|
||
and Validity_Check_Valid_Scalars_On_Params along with comments
|
||
on usage.
|
||
|
||
2012-10-01 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* namet.ads, xsnamest.adb, prj-env.adb, sem_warn.adb,
|
||
errout.ads: Minor reformatting.
|
||
* prj-part.adb: Add comment.
|
||
|
||
2012-10-01 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sinfo.ads, exp_aggr.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Array_Aggregate): Handle properly
|
||
component associations given by subtypes that have static
|
||
predicates. Improve error message for overlapping ranges in
|
||
array aggregates.
|
||
|
||
2012-10-01 Pascal Obry <obry@adacore.com>
|
||
|
||
* snames.ads-tmpl (Name_Link_Lib_Subdir): New constant.
|
||
|
||
2012-10-01 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch9.adb (Analyze_Requeue): The target of a requeue
|
||
statement on a protected entry must be a variable. This is part
|
||
of AI05-0225.
|
||
|
||
2012-09-26 Ian Lance Taylor <iant@google.com>
|
||
|
||
* gcc-interface/Makefile.in (LIBBACKTRACE): New variable.
|
||
(LIBS): Add $(LIBBACKTRACE).
|
||
(LIBDEPS): Add $(LIBBACKTRACE).
|
||
(TOOLS_LIBS): Add ../../../libbacktrace/.libs/libbacktrace.a.
|
||
|
||
2012-09-10 Diego Novillo <dnovillo@google.com>
|
||
|
||
* gcc-interface/decl.c (build_subst_list): Adjust call to VEC_safe_push.
|
||
(build_variant_list): Likewise.
|
||
* gcc-interface/utils.c (convert): Adjust calls to VEC_quick_push.
|
||
|
||
2012-09-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): Revert to using
|
||
size_type_node instead of sizetype.
|
||
|
||
2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* layout.adb (Set_Elem_Alignment): Cap the alignment of access types
|
||
to that of a regular access type for non-strict-alignment platforms.
|
||
* gcc-interface/utils.c (finish_fat_pointer_type): Do not set the
|
||
alignment for non-strict-alignment platforms.
|
||
|
||
2012-08-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use proper
|
||
dummy type for the temporary COMPONENT_REF built for a derived tagged
|
||
type with discriminant.
|
||
|
||
2012-08-14 Diego Novillo <dnovillo@google.com>
|
||
|
||
Merge from cxx-conversion branch. Re-implement VEC in C++.
|
||
|
||
* gcc-interface/trans.c (finalize_nrv_unc_r): Adjust VEC_index usage.
|
||
* gcc-interface/utils.c (convert): Likewise.
|
||
(remove_conversions): Likewise.
|
||
* gcc-interface/utils2.c (compare_fat_pointers): Likewise.
|
||
(build_unary_op): Likewise.
|
||
(gnat_stabilize_reference): Likewise.
|
||
|
||
2012-08-06 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
|
||
in kernel mode.
|
||
|
||
2012-08-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* prj-attr.adb (Register_New_Package): Add missing blank.
|
||
|
||
2012-08-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
|
||
used when computing maximum size allowable to construct static
|
||
aggregate.
|
||
|
||
2012-08-06 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
|
||
calls added for derived types and subtypes.
|
||
* sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
|
||
Has_Rep_Pragma): New routines.
|
||
* sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Error message
|
||
for aspect Lock_Free fixed.
|
||
(Inherits_Aspects_At_Freeze_Point): New routine.
|
||
* sem_ch3.adb: Several flag settings removed since inheritance
|
||
of aspects must be performed at freeze point.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
|
||
|
||
2012-08-06 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
|
||
for unknown exponent at compile-time.
|
||
|
||
2012-08-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
|
||
comment to make it clear that the aggregate's evaluation might
|
||
still involve run-time checks even though the aggregate is
|
||
considered known at compile time.
|
||
* sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
|
||
refer to Exp_Aggr instead of Sem_Aggr.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* xoscons.adb: Minor code reorganization (remove unused variable
|
||
E at line 331).
|
||
* g-sercom.ads, exp_attr.adb: Minor reformatting.
|
||
* sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
|
||
Static_Processing_OK.
|
||
|
||
2012-08-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
|
||
constraint when building a constrained subtype, to prevent
|
||
undesirable tree sharing betweeb geberated subtype and derived
|
||
type definition.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
|
||
on Windows.
|
||
|
||
2012-08-06 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* tree_io.ads: Update ASIS_Version_Number because of the tree fix
|
||
for discriminant constraints for concurrent types.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch4.adb: Minor reformatting.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
|
||
types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
|
||
unsigned types. Add required special handling to have their correct
|
||
unsigned values in s-oscons.ads.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-ch13.adb: Minor reformatting.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
|
||
(Set): Add Local and Flow_Control settings.
|
||
|
||
2012-08-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_attr.adb: Suppress saving of 'Old if assertions are not
|
||
enabled.
|
||
|
||
2012-08-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): Issue an error in
|
||
Alfa mode for component not present.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
|
||
use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
|
||
Process_Transient_Object may introduce new scopes and cause
|
||
Scope_Stack.Table to be reallocated.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
|
||
checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
|
||
gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
|
||
extended overflow checks (step 1).
|
||
(Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
|
||
(Suppress_Array): Extended to include switches to control extended
|
||
overflow checking (and renamed to Suppress_Record).
|
||
Update all uses of Suppress_Array.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* makeutl.ads: Minor documentation fix.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb: Minor reformatting.
|
||
|
||
2012-08-06 Geert Bosch <bosch@adacore.com>
|
||
|
||
* a-ngelfu.adb: Change obsolete comment that this is a non-strict
|
||
implementation.
|
||
|
||
2012-08-06 Steve Baird <baird@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
|
||
CodePeer_Mode = True then omit exception handlers for finalization calls
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Remove useless flag Body_Deleted.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
|
||
as this is what all usage occurrences of this attribute are
|
||
expecting.
|
||
* uintp.adb (UI_To_Int): Add assertion to guard against calling
|
||
with No_Uint.
|
||
|
||
2012-08-06 Vincent Pucci <pucci@adacore.com>
|
||
|
||
PR ada/54125
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Expand new
|
||
Atomic_Always_Lock_Free attribute.
|
||
* sem_attr.adb (Analyze_Attribute): Analyze new
|
||
Atomic_Always_Lock_Free attribute.
|
||
(Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
|
||
attribute.
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation):
|
||
Support_Atomic_Primitives check replaces previous erroneous
|
||
size check.
|
||
* sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
|
||
New routine.
|
||
* snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
|
||
new attribute Attribute_Atomic_Always_Lock_Free defined.
|
||
* s-atopri.adb: Support_Atomic_Primitives checks replaced by
|
||
Atomic_Always_Lock_Free queries.
|
||
* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
|
||
system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
|
||
system-linux-ppc.ads, system-linux-s390.ads,
|
||
system-linux-s390x.ads, system-linux-sh4.ads,
|
||
system-linux-sparc.ads, system-lynxos178-ppc.ads,
|
||
system-lynxos-ppc.ads, system-mingw.ads,
|
||
system-vxworks-arm.ads, system-solaris-sparc.ads,
|
||
system-solaris-sparcv9.ads, system-vms_64.ads,
|
||
system-vxworks-m68k.ads, system-vxworks-mips.ads,
|
||
system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
|
||
Support_Atomic_Primitives removed.
|
||
|
||
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
|
||
now unconditionally passed by reference. IN parameters subject
|
||
to convention C_Pass_By_Copy are passed by copy, otherwise they
|
||
are passed by reference.
|
||
|
||
2012-08-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): According to
|
||
AI95-0303, protected objects with interrupt handlers can be
|
||
declared in nested scopes. This is a binding interpretation,
|
||
and thus applies to all versions of the compiler.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* frontend.adb, exp_aggr.adb: Minor reformatting.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par-endh.adb: Minor reformatting.
|
||
|
||
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
|
||
processing related to array initialization. The expansion of
|
||
loops already contains a mechanism to detect controlled objects
|
||
generated by expansion and introduce a block around the loop
|
||
statements for finalization purposes.
|
||
|
||
2012-08-06 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch13.adb: Current scope must be within
|
||
or same as the scope of the entity while analysing aspect
|
||
specifications at freeze point.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb: Add note about dubious SCO for TERMINATE
|
||
alternative.
|
||
* sem_ch8.adb, exp_ch11.adb: Minor reformatting.
|
||
|
||
2012-08-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
|
||
transform an aggregate for a packed two-dimensional array into
|
||
a one-dimensional array of constant values, in order to avoid
|
||
the generation of component-by-component assignments.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* frontend.adb: Do not attempt to process deferred configuration
|
||
pragmas if the main unit failed to load, to avoid cascaded
|
||
inconsistencies that can lead to a compiler crash.
|
||
|
||
2012-08-06 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* s-atopri.adb: Minor reformatting.
|
||
|
||
2012-08-06 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnat-style.texi: Clarify that all subprograms should be
|
||
documented. Minor rewording.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
|
||
* par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
|
||
simplify code.
|
||
|
||
2012-08-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat-style.texi: Update style guide for declarations.
|
||
|
||
2012-08-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): In the case for 'Old,
|
||
skip a special expansion which is not needed in Alfa mode.
|
||
|
||
2012-08-06 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
|
||
an expansion of the iterator in Alfa mode.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
|
||
|
||
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
|
||
Alfa-specific guard. The code is a leftover from an early
|
||
implementation of iterators which is no longer in use.
|
||
|
||
2012-08-06 Vincent Celier <celier@adacore.com>
|
||
|
||
* par-ch13.adb (Get_Aspect_Specifications): Do not consider
|
||
No_Aspect when checking for a mispelled aspect.
|
||
|
||
2012-08-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-htable.adb: Minor reformatting.
|
||
|
||
2012-08-06 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
|
||
Suppress warnings so that we don't have to do it at each usage.
|
||
|
||
2012-08-06 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
|
||
Use of Known_Static_Esize instead of Known_Esize and
|
||
Known_Static_RM_Size instead of Known_RM_Size in order to
|
||
properly call UI_To_Int. Don't check the size of the component
|
||
type in case of generic.
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation):
|
||
Use of Known_Static_Esize instead of Known_Esize and
|
||
Known_Static_RM_Size instead of Known_RM_Size in order to properly
|
||
call UI_To_Int. Don't check the size of the component type in
|
||
case of generic.
|
||
|
||
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Discrete_Range_Cond): Do not try to optimize on
|
||
the assumption that the type of an expression can always fit in
|
||
the target type of a conversion.
|
||
|
||
2012-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* bindusg.adb: Clarify file in -A lines.
|
||
|
||
2012-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb: Minor reformatting.
|
||
|
||
2012-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
|
||
|
||
2012-07-30 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
|
||
reformatting.
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
|
||
Capture the correct error message in case of a quantified expression.
|
||
|
||
2012-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
|
||
value is a milliseconds count in a DWORD, not a struct timeval.
|
||
|
||
2012-07-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
|
||
refactoring.
|
||
|
||
2012-07-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
|
||
(Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
|
||
reflect what this subprogram does. Rename argument Including_L_Switch
|
||
to For_Gnatbind, and also exempt -A from rewriting.
|
||
* bindusg.adb: Document optional =file argument to gnatbind -A.
|
||
|
||
2012-07-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Do no apply restriction check on
|
||
storage pools to access to subprogram types.
|
||
|
||
2012-07-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
|
||
exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
|
||
a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
|
||
a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
|
||
s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
|
||
Add comments.
|
||
|
||
2012-07-30 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
|
||
dereferences of access values.
|
||
|
||
2012-07-27 Iain Sandoe <iain@codesourcery.com>
|
||
|
||
* system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
|
||
|
||
2012-07-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
|
||
not stabilize operand #1 and #2.
|
||
|
||
2012-07-23 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
|
||
End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.
|
||
|
||
2012-07-23 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Adjust processing of Linker_Options for
|
||
VxWorks.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-07-23 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tasinf-linux.ads: Fix typo.
|
||
|
||
2012-07-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
|
||
loop carries an identifier, preserve it when rewriting it as a
|
||
standard loop to validate exit statements that may reference
|
||
that name in the body of the loop.
|
||
|
||
2012-07-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor code cleanup.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Selected_Component): When checking for
|
||
potential ambiguities with class-wide operations on synchronized
|
||
types, attach the copied node properly to the tree, to prevent
|
||
errors during expansion.
|
||
|
||
2012-07-23 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
|
||
is analyzed in Alfa mode.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb: Adjust previous change.
|
||
|
||
2012-07-23 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
|
||
Lock_Free_Given renames previous flag Complain. Description
|
||
updated. Henceforth, catch every error messages issued by this
|
||
routine when Lock_Free_Given is True. Declaration restriction
|
||
updated: No non-elementary parameter instead (even in parameter)
|
||
New subprogram body restrictions implemented: No allocator,
|
||
no address, import or export rep items, no delay statement,
|
||
no goto statement, no quantified expression and no dereference
|
||
of access value.
|
||
|
||
2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* checks.adb (Determine_Range): Add local variable Btyp. Handle
|
||
the case where the base type of an enumeration subtype is
|
||
private. Replace all occurrences of Base_Type with Btyp.
|
||
* exp_attr.adb (Attribute_Valid): Handle the case where the
|
||
base type of an enumeration subtype is private. Replace all
|
||
occurrences of Base_Type with Btyp.
|
||
* sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
|
||
Btyp. Handle the case where the base type of an enumeration
|
||
subtype is private. Replace all occurrences of Base_Type with
|
||
Btyp.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
|
||
to a formal object of an anonymous access type.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
|
||
aspect can have more than one index, e.g. to describe indexing
|
||
of a multidimensional object.
|
||
|
||
2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
|
||
now more complex and contains optional finalization part and mandatory
|
||
deallocation part.
|
||
|
||
2012-07-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
|
||
a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
|
||
Accessibility_Check for Element_Type allocators.
|
||
|
||
2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* projects.texi: Fix typo.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Explicit_Derenference): If prefix is
|
||
overloaded, remove those interpretations whose designated type
|
||
does not match the context, to avoid spurious ambiguities that
|
||
may be caused by the Ada 2012 conversion rule for anonymous
|
||
access types.
|
||
|
||
2012-07-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* g-spitbo.adb (Substr (String)): Return full string and do not
|
||
raise exception when Start is 1 and Len is exactly the length
|
||
of the string parameter.
|
||
* g-spitbo.ads: Fix spelling error in the name of exception
|
||
Index_Error.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par.adb: new subprogram Get_Aspect_Specifications.
|
||
* par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
|
||
specifications.
|
||
* par-ch13.adb (Get_Aspect_Specifications): extracted from
|
||
P_Aspect_Specifications. Collect aspect specifications in some
|
||
legal context, but do not attach them to any declaration. Used
|
||
when parsing subprogram declarations or bodies that include
|
||
aspect specifications.
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
|
||
present, analyze them, or reject them if the subprogram as a
|
||
previous spec.
|
||
|
||
2012-07-23 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* gnat_ugn.texi: Omit section on other platforms/runtimes support
|
||
in gnattest for vms version.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications):
|
||
Handle properly aspects that can be specified on a subprogram
|
||
body: CPU, Priority, and Interrupt_Priority.
|
||
|
||
2012-07-23 Claire Dross <dross@adacore.com>
|
||
|
||
* a-cfdlli.ads: Switch definition of Constant_Reference_Type
|
||
and Empty_List.
|
||
|
||
2012-07-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb (Process_Decisions.Output_Header): For the guard
|
||
on an alternative in a SELECT statement, use the First_Sloc
|
||
of the guard expression (not its topmost sloc) as the decision
|
||
location, because this is what is referenced by dominance markers.
|
||
|
||
2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Requires_Hooking): Examine the original expression
|
||
of an object declaration node because a function call that
|
||
returns on the secondary stack may have been rewritten into
|
||
something else.
|
||
|
||
2012-07-23 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
|
||
dimension when entity is a non-dimensionless constant.
|
||
(Analyze_Dimension_Object_Declaration): Propagate
|
||
dimension from the expression to the entity when type is a
|
||
dimensioned type and object is a constant.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
|
||
is not an entity name, expand at once so that code generated by
|
||
the expansion of the prefix is not generated before the constant
|
||
that captures the old value is properly inserted and analyzed.
|
||
|
||
2012-07-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
|
||
statement as Comes_From_Source so that GIGI does not eliminate it.
|
||
|
||
2012-07-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
|
||
a local variable. Retrieve the related instance when processing
|
||
a subprogram instantiation. Such instances appear as wrapper
|
||
packages.
|
||
|
||
2012-07-23 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
|
||
system-hpux.ads, system-linux-alpha.ads,
|
||
system-linux-hppa.ads, system-linux-ppc.ads,
|
||
system-linux-s390.ads, system-linux-s390x.ads,
|
||
system-linux-sh4.ads, system-linux-sparc.ads,
|
||
system-lynxos-ppc.ads, system-mingw.ads,
|
||
system-solaris-sparc.ads, system-solaris-sparcv9.ads,
|
||
system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
|
||
system-vxworks-mips.ads, system-vxworks-ppc.ads,
|
||
system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
|
||
* system-darwin-x86.ads, system-darwin-x86_64.ads,
|
||
system-freebsd-x86.ads, system-freebsd-x86_64.ads,
|
||
system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
|
||
system-linux-x86_64.ads, system-lynxos-x86.ads,
|
||
system-mingw-x86_64.ads, system-solaris-x86.ads,
|
||
system-solaris-x86_64.ads, system-vms-ia64.ads,
|
||
system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
|
||
* s-atopri.adb (Lock_Free_Read_X): New body.
|
||
(Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
|
||
(Lock_Free_Try_Write_64): New body.
|
||
* s-atopri.ads: New type uint.
|
||
(Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
|
||
import.
|
||
(Lock_Free_Read_X): Body moved to s-atopri.adb.
|
||
(Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
|
||
routines.
|
||
* targparm.adb: New enumeration literal SAP
|
||
(Support_Atomic_Primitives) for type Targparm_Tags. New constant
|
||
SAP_Str. New component SAP_Str'Access for array Targparm_Str.
|
||
(Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
|
||
flag.
|
||
* targparm.ads: New back-end code generation flag
|
||
Support_Atomic_Primitives_On_Target
|
||
|
||
2012-07-23 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* gnat_ugn.texi: Dimensionality checking documentation updated.
|
||
|
||
2012-07-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Make_Inline): If the pragma applies to a
|
||
subprogram renaming, set inline flags on both the renamed entity
|
||
and on the renaming, so that some ASIS queries can be handled
|
||
consistently in the absence of expansion.
|
||
|
||
2012-07-23 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Removing obsolete limitation of gnattest
|
||
to support only ada05. Updating gnattest support for other
|
||
platforms/run-times section to reflect the usage of taget
|
||
prefix in gnattest calls. Fixing missed obsolete --stub-default
|
||
option name.
|
||
|
||
2012-07-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* uintp.adb: Minor reformatting.
|
||
|
||
2012-07-23 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* system-vxworks-ppc.ads: Replace the default
|
||
Linker_Options requesting crtbe by a commented out request for
|
||
-nostartfiles.
|
||
|
||
2012-07-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Naming): Do not get the exceptions names
|
||
in a virtual project.
|
||
|
||
2012-07-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* layout.adb, sem_prag.adb, sem.ads, freeze.adb,
|
||
switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
|
||
reformatting.
|
||
|
||
2012-07-23 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
|
||
location on TRY_CATCH_EXPR.
|
||
|
||
2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
|
||
that an object of CW type initialized to a value is sufficiently
|
||
aligned for this value.
|
||
|
||
2012-07-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
|
||
look up the REP part of the base type in advance. Deal with that of
|
||
the variant types.
|
||
(get_rep_part): Be prepared for record types with fields.
|
||
|
||
2012-07-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (stmt_group_may_fallthru): New function.
|
||
(gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the
|
||
block needs to be translated.
|
||
|
||
2012-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_rm.texi: Adjust previous change.
|
||
|
||
2012-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Import_Or_Interface): If the pragma
|
||
comes from an aspect, it applies to the corresponding entity
|
||
without further check.
|
||
|
||
2012-07-17 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* initialize.c (__gnat_initialize for VxWorks): Remove section with
|
||
call to __gnat_vxw_setup_for_eh.
|
||
* system-vxworks-ppc.ads: Add -auto-register to -crtbe, relying
|
||
on the VxWorks constructor mechanism for network loaded modules
|
||
by default.
|
||
|
||
2012-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c: Minor reformatting.
|
||
|
||
2012-07-17 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-regexp.adb (Adjust): Fix access violation in Adjust.
|
||
|
||
2012-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Warn if an imported subprogram
|
||
has pre/post conditions, because these will not be enforced.
|
||
|
||
2012-07-17 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Transient_Objects): Put all the
|
||
finalization blocks and the final raise statement into a wrapper
|
||
block.
|
||
|
||
2012-07-17 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
|
||
replaced by Sync_Compare_And_Swap_X.
|
||
(Lock_Free_Try_Write_64): Removed.
|
||
* s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
|
||
routine Atomic_Compare_Exchange_X.
|
||
(Lock_Free_Read_64): Renaming of Atomic_Load_64.
|
||
(Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.
|
||
|
||
2012-07-17 Vincent Celier <celier@adacore.com>
|
||
|
||
* switch-m.adb (Normalize_Compiler_Switches): Recognize new
|
||
switches -gnatn1 and -gnatn2.
|
||
|
||
2012-07-17 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* gnat_ugn.texi: GNAT dimensionality checking
|
||
documentation updated with System.Dim.Mks modifications.
|
||
|
||
2012-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb: sloc of array init_proc is sloc of type declaration.
|
||
|
||
2012-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (get_call_site_action_for): Remove useless init
|
||
expression for p.
|
||
(get_action_description_for): Do not overwrite action->kind.
|
||
|
||
2012-07-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Add local variables Attr
|
||
and Conversion_Added. Add local constant Typ.
|
||
Retrieve the original attribute after the arithmetic check
|
||
machinery has modified the node. Add a conversion to the target
|
||
type when the prefix of attribute Max_Size_In_Storage_Elements
|
||
is a controlled type.
|
||
|
||
2012-07-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call): For each actual parameter
|
||
of mode 'out' or 'in out' that denotes an entity, reset
|
||
Last_Assignment on the entity so that any assignments to the
|
||
corresponding formal in the inlining will not trigger spurious
|
||
warnings about overwriting assignments.
|
||
|
||
2012-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-assert.ads: Fix comments to make it clear that this is used
|
||
for all assertions, not just pragma Assert.
|
||
|
||
2012-07-17 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* par_sco.ads: Minor typo fix.
|
||
|
||
2012-07-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* layout.adb (Layout_Type): In the case where the target is
|
||
AAMP, use 32 bits (a single pointer) rather than 64 bits for an
|
||
anonymous access-to-subprogram type if the type is library-level
|
||
and Is_Local_Anonymous_Access is True.
|
||
|
||
2012-07-17 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-tassta.adb, s-tarest.adb (Create_Task, Create_Restricted_Task,
|
||
Initialize): Add comments explaining that the CPU affinity value that
|
||
is passed to the run-time library can be either Unspecified_CPU, to
|
||
indicate that the task inherits the affinity of its activating task,
|
||
or a value in the range of CPU_Range but no greater than Number_Of_CPUs.
|
||
|
||
2012-07-17 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Make_DT): Remove decoration of Ada.Tags entities.
|
||
(Make_Tags): Add decoration of Ada.Tags entities.
|
||
|
||
2012-07-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Statement_Sequence): When locating the
|
||
last significant statement in a sequence, ignore iserted nodes
|
||
that typically come from expansion of controlled operations.
|
||
|
||
2012-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnat_rm.texi: Document foreign exceptions.
|
||
|
||
2012-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, treepr.ads: Minor reformatting.
|
||
|
||
2012-07-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor code reorganization.
|
||
* exp_ch3.adb: Minor code improvement.
|
||
|
||
2012-07-17 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* seh_init.c (__gnat_SEH_error_handler): Not compiled anymore
|
||
on Windows 64 (+ SEH), as it is unused.
|
||
|
||
2012-07-17 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_prag.adb (CPP_Class): Transform obsolescent pragma CPP_Class into
|
||
CPP convention automatically.
|
||
|
||
2012-07-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
|
||
void *.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb (Ensure_Statement_Present): New subprogram.
|
||
(Expand_N_Asynchronous_Select,
|
||
Expand_N_Selective_Accept.Process_Accept_Alternative,
|
||
Expand_N_Selective_Accept.Process_Delay_Alternative,
|
||
Expand_N_Timed_Entry_Call): For an alternative with no trailing
|
||
statements, introduce a null statement to carry the sloc of
|
||
the initial special statement (accept, delay, or entry call)
|
||
in the alternative, for coverage analysis purposes.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_eval.adb (In_Subrange_Of): Fix typo in test for scalar
|
||
arguments.
|
||
|
||
2012-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-exexpr.adb, freeze.adb, a-exexpr-gcc.adb, a-except-2005.adb,
|
||
sem_eval.adb, s-fileio.adb: Minor reformatting.
|
||
|
||
2012-07-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma): Remove support for obsolescent
|
||
pragma CPP_Class.
|
||
* sem_ch13.adb (Analyze_Freeze_Entity): Add missing error on Ada
|
||
derivations of CPP types. Found updating the tests affected by
|
||
the removal of pragma CPP_Class.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* back_end.adb: Minor reformatting.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Selective_Accept.Process_Accept_Alternative):
|
||
Remove junk test that was always true. For the case of no statements
|
||
following the ACCEPT, jump directly to End_Lab instead of
|
||
introducing an intermediate jump.
|
||
(Expand_N_Selective_Accept.Process_Delay_Alternative): Fix
|
||
predicate testing for presence of statements following the DELAY.
|
||
that was always true. For the case of no statements following
|
||
the ACCEPT, jump directly to End_Lab instead of introducing an
|
||
intermediate jump.
|
||
(Expand_N_Selective_Accept): Fix incorrect insertion point for
|
||
end label.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor documentation improvements.
|
||
|
||
2012-07-16 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Allow Pre
|
||
and Pre'Class aspects on the same declaration.
|
||
* sem_prag.adb (Chain_PPC): Allow Pre and Pre'Class aspects on the
|
||
same hierarchy of primitive operations.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Check_Component_Storage_Order): Do not reject a
|
||
nested composite with different scalar storage order if it is
|
||
byte aligned.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Update documentation for Scalar_Storage_Order.
|
||
|
||
2012-07-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr.adb (Propagate_Exception): Adjust call to
|
||
Exception_Traces procedures.
|
||
* a-exexpr-gcc.adb (Setup_Current_Excep): Now a
|
||
function that returns an access to the Ada occurrence.
|
||
(Propagate_GCC_Exception): Adjust calls.
|
||
* raise.h (struct Exception_Occurrence): Declare.
|
||
* a-exextr.adb: Remove useless pragma. (Notify_Handled_Exception,
|
||
Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
|
||
Add Excep parameter.
|
||
* a-except.adb (Notify_Handled_Exception,
|
||
Notify_Unhandled_Exception) (Unhandled_Exception_Terminate):
|
||
Add Excep parameter.
|
||
(Process_Raise_Exception): Adjust calls.
|
||
* a-except-2005.adb (Notify_Handled_Exception,
|
||
Notify_Unhandled_Exception) (Unhandled_Exception_Terminate): Add
|
||
Excep parameter.
|
||
(Raise_Exception): Calls Raise_Exception_Always.
|
||
* raise-gcc.c (__gnat_setup_current_excep,
|
||
__gnat_notify_handled_exception)
|
||
(__gnat_notify_unhandled_exception): Adjust declarations.
|
||
(PERSONALITY_FUNCTION): Adjust calls.
|
||
(__gnat_personality_seh0): Remove warning.
|
||
|
||
2012-07-16 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_eval.adb (Test_Expression_Is_Foldable): Adding documentation.
|
||
(Eval_Relational_Op): Adding documentation.
|
||
|
||
2012-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, g-debpoo.adb, exp_ch3.adb: Minor reformatting.
|
||
|
||
2012-07-16 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-oscons-tmplt.c: Add definitions of E2BIG and EILSEQ.
|
||
|
||
2012-07-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr.adb (Propagate_Continue): New function replacing
|
||
Raise_Current_Excep.
|
||
(Allocate_Occurrence): New function.
|
||
(Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
|
||
* a-exexpr-gcc.adb (GNAT_GCC_Exception): Occurrence component
|
||
is now aliased.
|
||
(To_GCC_Exception): Convert from Address.
|
||
(Allocate_Occurrence): Allocate an Unwind exception occurrence.
|
||
(Setup_Current_Excep): Fill the machine occurrence in case of
|
||
foreign exception.
|
||
(Propagate_Exception): Add Excep parameter, remove call to Call_Chain.
|
||
* a-except.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
|
||
Excep parameter.
|
||
(Raise_Exception, Raise_Exception_Always,
|
||
Raise_Exception_No_Defer): Adjust calls to the above procedures.
|
||
(Raise_From_Signal_Handler, Raise_With_Location_And_Msg)
|
||
(Rcheck_PE_Finalize_Raised_Exception): Likewise.
|
||
* a-except-2005.adb (Set_Exception_C_Msg, Set_Exception_Msg):
|
||
add Excep parameter.
|
||
(Propagate_Exception): Likewise.
|
||
(Allocate_Occurrence): New function.
|
||
(Raise_Current_Excep): Removed.
|
||
(Complete_Occurrence): New function to save the call chain.
|
||
(Complete_And_Propagate_Occurrence): New procedure.
|
||
(Create_Occurrence_From_Signal_Handler): New function to build an
|
||
occurrence without propagating it.
|
||
(Create_Machine_Occurrence_From_Signal_Handler): Likewise, but
|
||
return the machine occurrence.
|
||
(Raise_From_Signal_Handler): Use Create_Occurrence_From_Signal_Handler.
|
||
(Raise_Exception, Raise_Exception_Always, Raise_Exception_No_Defer):
|
||
Adjust calls to the above procedures. Allocate the occurrence at
|
||
the beginning.
|
||
(Raise_With_Location_And_Msg, Raise_With_Msg)
|
||
(Rcheck_PE_Finalize_Raised_Exceptionm Reraise): Likewise.
|
||
(Reraise_Occurrence): Use Reraise_Occurrence_Always.
|
||
(Reraise_Occurrence_Always): Use Reraise_Occurrence_No_Defer.
|
||
(Reraise_Occurrence_No_Defer): Preserve machine occurrence.
|
||
(Save_Occurrence): Do not save machine occurrence.
|
||
* a-except-2005.ads (Exception_Occurrence): Add Machine_Occurrence
|
||
component.
|
||
(Null_Occurrence): Consider it.
|
||
* a-exexda.adb (Set_Exception_C_Msg, Set_Exception_Msg): add
|
||
Excep parameter.
|
||
|
||
2012-07-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* seh_init.c (__gnat_map_SEH): New function extracted from
|
||
__gnat_SEH_error_handler.
|
||
* raise-gcc.c: __gnat_personality_seh0: Directly transforms
|
||
Windows system exception into GCC one when possible, in order
|
||
to save stack room (particularly useful when Storage_Error will
|
||
be propagated).
|
||
|
||
2012-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-direct.adb, g-dirope.adb: Minor reformatting.
|
||
|
||
2012-07-16 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-except.ads, a-except-2005.ads: Remove outdated comment.
|
||
|
||
2012-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb (Subprogram_Name_Greater): Fix algorithm to
|
||
conform to documentation.
|
||
|
||
2012-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat1drv.adb (Check_Library_Items): Removed, no longer used.
|
||
|
||
2012-07-16 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Array_Type_Declaration): if component type has
|
||
invariants, the array type itself requires an invariant procedure.
|
||
* exp_ch3.ads, exp_ch3.adb (Build_Array_Invariant_Proc): new
|
||
procedure, to build a checking procedure that applies the
|
||
invariant check on some type T to each component of an array
|
||
of T's. Code is similar to the construction of the init_proc
|
||
for an array, and handles multidimensional arrays by recursing
|
||
over successive dimensions.
|
||
|
||
2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* g-debpoo.adb: Revert previous change.
|
||
|
||
2012-07-16 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Insert the itype reference to a
|
||
library-level class-wide subtype after the freeze node of the
|
||
equivalent record type.
|
||
|
||
2012-07-16 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-crtl.ads (mkdir): New routine, support encoding.
|
||
* adaint.h (__gnat_mkdir): Update spec to pass encoding.
|
||
* mkdir.c (__gnat_mkdir): Add encoding parameter.
|
||
* a-direct.adb (Create_Directory): Use CRTL.mkdir, parse encoding
|
||
in form parameter.
|
||
* g-dirope.adb (Make_Dir): Update to pass encoding parameter.
|
||
|
||
2012-07-16 Pascal Obry <obry@adacore.com>
|
||
|
||
* adaint.c: Minor reformatting.
|
||
|
||
2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* gcc-interface/utils.c: Include timevar.h.
|
||
* Make-lang.in: Fix dependencies.
|
||
|
||
2012-07-16 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
|
||
switches.
|
||
|
||
2012-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* sinfo.ads: Minor comment fix.
|
||
|
||
2012-07-16 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
|
||
find pragmas Elaborate_All that may be found in the transitive
|
||
closure of the dependences.
|
||
|
||
2012-07-16 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
|
||
reformatting.
|
||
|
||
2012-07-12 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* vms_data.ads: Add VMS qualifiers for -gnatn1/2 switches.
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch5.adb, exp_pakd.adb, rtsfind.ads, freeze.adb, sem_util.adb,
|
||
sem_util.ads, exp_aggr.adb
|
||
(Exp_Aggr.Packed_Array_Aggregate_Handled): Simplify processing
|
||
for reverse storage order aggregate.
|
||
(Exp_Pakd.Byte_Swap): New utility routine used by...
|
||
(Exp_Pakd.Expand_Bit_Packed_Element_Set,
|
||
Expand_Packed_Element_Reference): For the case of a free-standing
|
||
packed array with reverse storage order, perform byte swapping.
|
||
(Rtsfind): Make new entities RE_Bswap_{16,32,64} available.
|
||
(Freeze.Check_Component_Storage_Order): New utility routine
|
||
to enforce legality rules for nested composite types whose
|
||
enclosing composite has an explicitly defined Scalar_Storage_Order
|
||
attribute.
|
||
(Sem_Util.In_Reverse_Storage_Order_Object): Renamed from
|
||
Sem_Util.In_Reverse_Storage_Order_Record, as SSO now applies to
|
||
array types as well.
|
||
(Exp_Ch5.Expand_Assign_Array): Remove now unnecessary kludge
|
||
for change of scalar storage order in assignments. The Lhs and
|
||
Rhs now always have the same scalar storage order.
|
||
|
||
2012-07-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* g-debpoo.adb (Allocate): Add local constant
|
||
No_Element. Initialize the allocated memory chunk to No_Element.
|
||
|
||
2012-07-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): Handle properly
|
||
the case of an instance of a child unit where a formal derived
|
||
type DT is an extension of a type T declared in a parent unit,
|
||
and the actual in the instance of the child is the type T declared
|
||
in the parent instance, and that actual is not a derived type.
|
||
|
||
2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
Tristan Gingold <gingold@adacore.com>
|
||
|
||
* system-hpux-ia64.ads: Enable ZCX by default.
|
||
* gcc-interface/Makefile.in: Use alternate stack on ia64-hpux.
|
||
Change soext to .so.
|
||
|
||
2012-07-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-atopri.adb, s-atopri.ads: Minor reformatting.
|
||
|
||
2012-07-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* ali.adb: Add circuitry to read new named form of restrictions lines.
|
||
* debug.adb: Add doc for new -gnatd.R switch (used positional
|
||
notation for output of restrictions data in ali file).
|
||
* lib-writ.adb: Implement new named format for restrictions lines.
|
||
* lib-writ.ads: Add documentation for new named format for
|
||
restrictions in ali files.
|
||
* restrict.adb, restrict.ads, sem_prag.adb: Update comments.
|
||
* rident.ads: Go back to withing System.Rident
|
||
* s-rident.ads: Add extensive comment on dealing with consistency
|
||
checking.
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
|
||
|
||
2012-07-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_disp.adb: Minor reformatting
|
||
* s-bytswa.ads: Minor comment update.
|
||
|
||
2012-07-12 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
|
||
Atomic_Load_N replaced by Lock_Free_Read_N. Atomic_Compare_Exchange_N
|
||
replaced by Lock_Free_Try_Write_N.
|
||
Renaming of several local variables. For
|
||
procedure, Expected_Comp declaration moved to the declaration
|
||
list of the procedure.
|
||
* rtsfind.ads: RE_Atomic_Compare_Exchange_8,
|
||
RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
|
||
RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
|
||
RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64,
|
||
RE_Atomic_Synchronize, RE_Relaxed removed. RE_Lock_Free_Read_8,
|
||
RE_Lock_Free_Read_16, RE_Lock_Free_Read_32, RE_Lock_Free_Read_64,
|
||
RE_Lock_Free_Try_Write_8, RE_Lock_Free_Try_Write_16,
|
||
RE_Lock_Free_Try_Write_32, RE_Lock_Free_Try_Write_64 added.
|
||
* s-atopri.adb: New file.
|
||
* s-atopri.ads (Atomic_Compare_Exchange_8): Renaming of
|
||
parameters. Import primitive __sync_val_compare_and_swap_1.
|
||
(Atomic_Compare_Exchange_16): Renaming of parameters.
|
||
Import primitive __sync_val_compare_and_swap_2.
|
||
(Atomic_Compare_Exchange_32): Renaming of parameters.
|
||
Import primitive __sync_val_compare_and_swap_4.
|
||
(Atomic_Compare_Exchange_64): Renaming of parameters. Import
|
||
primitive __sync_val_compare_and_swap_8.
|
||
(Atomic_Load_8): Ptr renames parameter X.
|
||
(Atomic_Load_16): Ptr renames parameter X.
|
||
(Atomic_Load_32): Ptr renames parameter X.
|
||
(Atomic_Load_64): Ptr renames parameter X.
|
||
(Lock_Free_Read_8): New routine.
|
||
(Lock_Free_Read_16): New routine.
|
||
(Lock_Free_Read_32): New routine.
|
||
(Lock_Free_Read_64): New routine.
|
||
(Lock_Free_Try_Write_8): New routine.
|
||
(Lock_Free_Try_Write_16): New routine.
|
||
(Lock_Free_Try_Write_32): New routine.
|
||
(Lock_Free_Try_Write_64): New routine.
|
||
|
||
2012-07-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, exp_ch9.adb, sem_ch9.adb, exp_aggr.adb: Minor
|
||
reformatting.
|
||
|
||
2012-07-12 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Analyze_Dimension_Function_Call): Reformatting of error
|
||
msgs for elementary functions.
|
||
|
||
2012-07-12 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_attr.adb (Eval_Attribute): Minor reformatting.
|
||
|
||
2012-07-12 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Library_Attributes): Allow the same library
|
||
project in different project tree (different aggregated projects).
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-bytswa.adb, g-bytswa.adb, g-bytswa.ads, s-bytswa.ads: Further
|
||
reorganization of byte swapping routines.
|
||
|
||
2012-07-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_disp.adb (Check_Dispatching_Context): Refine legality
|
||
checks on tagg indeterminate calls to abstract operations,
|
||
that appear in the context of other calls.
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-bytswa.adb (Swapped2.Bswap16): Remove local function,
|
||
no longer needed.
|
||
|
||
2012-07-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): For
|
||
attributes 'access, 'unchecked_access and 'unrestricted_access,
|
||
iff the current instance reference is located in a protected
|
||
subprogram or entry then rewrite the access attribute to be the
|
||
name of the "_object" parameter.
|
||
|
||
2012-07-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise.h: Revert previous patch: structure is used in init.c
|
||
by vms.
|
||
|
||
2012-07-12 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Binding_Phase): If --subdirs was used, but not
|
||
-P, change the working directory to the specified subdirectory
|
||
before invoking gnatbind.
|
||
(Linking_Phase): If --subdirs was used, but not -P, change the working
|
||
directory to the specified subdirectory before invoking gnatlink.
|
||
|
||
2012-07-12 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
|
||
For a procedure, instead of replacing each Comp reference by a
|
||
reference to Current_Comp, make a renaming Comp of Current_Comp
|
||
that rewrites the original renaming generated by the compiler
|
||
during the analysis. Move the declarations of the procedure
|
||
inside the generated block.
|
||
(Process_Stmts): Moved in the body
|
||
of Build_Lock_Free_Unprotected_Subprogram_Body.
|
||
(Process_Node):
|
||
Moved in the body of Build_Lock_Free_Unprotected_Subprogram_Body.
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict any
|
||
non-elementary out parameters in protected procedures.
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
|
||
Scalar_Storage_Order): Attribute applies to base type only.
|
||
|
||
2012-07-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_aggr.adb (Convert_To_Positional): Increase acceptable size
|
||
of static aggregate when Static_Elaboration_Desired is requested.
|
||
Add a warning if the request cannot be satisfied either because
|
||
some components or some array bounds are non-static.
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb: Minor reformatting.
|
||
|
||
2012-07-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* tracebak.c: Fix warnings.
|
||
* raise-gcc.c (__gnat_adjust_context): New function
|
||
(__gnat_personality_seh0): Call __gnat_adjust_context to adjust
|
||
PC in machine frame for exceptions that occur in the current
|
||
function.
|
||
|
||
2012-07-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* g-bytswa.adb, g-bytswa.ads, s-bytswa.adb, s-bytswa.ads, Makefile.rtl:
|
||
Move GNAT.Byte_Swapping to System (with a renaming under GNAT)
|
||
so that it is usable in expanded code.
|
||
|
||
2012-07-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-osinte-hpux.ads: Increase alternate stack size on hpux.
|
||
|
||
2012-07-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Make_Neq_Body): Fix typo in comment.
|
||
|
||
2012-07-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* tb-gcc.c (trace_callback): On IA-64/HP-UX, use workaround only
|
||
if USE_LIBUNWIND_EXCEPTIONS is defined.
|
||
* init.c: Further tweaks for IA-64/HP-UX.
|
||
|
||
2012-07-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c: Do not include unwind-dw2-fde.h. Adjust comments.
|
||
(db_region_for): Second argument is ip. Do not recompute ip.
|
||
(action_kind): Remove typedef, add unhandler enum const.
|
||
(action_descriptor): Adjust type of kind field.
|
||
(db_action_for): Second argument is ip, do not recompute it.
|
||
(get_call_site_action_for): First argument is call_site, do not
|
||
recompute it. Remove useless return.
|
||
(is_handled_by): Now return enum action_kind.
|
||
Handle GNAT_ALL_OTHERS first.
|
||
Return unhandler for GNAT_UNHANDLED_OTHERS.
|
||
(get_action_description_for): First argument is now ip, do not
|
||
recompute it. Adjust code for call to is_handled_by.
|
||
(__gnat_notify_unhandled_exception): Add prototype.
|
||
(PERSONALITY_FUNCTION): Call get_ip_from_context. Adjust calls.
|
||
Handle unhandler case.
|
||
(__gnat_cleanupunwind_handler): Add comments, add
|
||
ATTRIBUTE_UNUSED on arguments.
|
||
(__gnat_Unwind_RaiseException, __gnat_Unwind_ForcedUnwind): Define
|
||
only once.
|
||
* raise.h: Makes struct Exception_Data opaque.
|
||
|
||
2012-07-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* make.adb, sem_ch9.adb, prj.adb, s-rident.ads, snames.ads-tmpl: Minor
|
||
reformatting.
|
||
|
||
2012-07-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Is_User_Defined_Equality): New subprogram.
|
||
(Make_Neq_Body): New subprogram.
|
||
(Make_Predefined_Primitive_Specs): Adding local variable
|
||
Has_Predef_Eq_ Renaming to ensure that we enable the machinery
|
||
which handles renamings of predefined primitive operators.
|
||
|
||
2012-07-09 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.adb (For_Every_Project_Imported_Context): Make sure we
|
||
callback with the project having sources.
|
||
Minor reformatting.
|
||
|
||
2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* make.adb: Fix typo.
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch9.adb (Check_Node): Allow attributes
|
||
that denote static function for lock-free implementation.
|
||
(Is_Static_Function): New routine.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* tracebak.c: Adjust skip_frames on Win64.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c: Add __gnat_adjust_context_for_raise for ia64/hpux.
|
||
* raise-gcc.c: __gnat_cleanupunwind_handler: Do not call
|
||
_Unwind_GetGR on hpux when using libgcc unwinder. Part of
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_attr.adb, sem_attr.adb: Minor reformatting.
|
||
* par-ch13.adb, par-ch4.adb, par-util.adb: Reformatting
|
||
considering that internal attribute names are not defined anymore
|
||
in the main attribute names list.
|
||
* snames.adb-tmpl (Get_Attribute_Id): Special processinf
|
||
for names CPU, Dispatching_Domain and Interrupt_Priority.
|
||
(Is_Internal_Attribute_Name): Minor reformatting.
|
||
* snames.ads-tmpl: New list of internal attribute names. Internal
|
||
attributes moved at the end of the attribute Id list.
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb: Minor code reorganization (use Ekind_In).
|
||
* exp_attr.adb, sem_ch9.adb par-ch4.adb, s-taprop-mingw.adb,
|
||
sem_attr.adb, exp_ch8.adb, snames.adb-tmpl, par-util.adb,
|
||
sem_ch13.adb, snames.ads-tmpl: Minor reformatting.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c: Adjust previous patch.
|
||
|
||
2012-07-09 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Compilation_Phase): Do not build libraries in
|
||
Codepeer mode (do not call Library_Phase).
|
||
|
||
2012-07-09 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb: Extend previous change to elementary types.
|
||
|
||
2012-07-09 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Reverse
|
||
previous patch since unconditionally handling as renaming_as_body
|
||
renamings of predefined dispatching equality and unequality operator
|
||
cause visibility problems with private overridings of the equality
|
||
operator (see ACATS C854001).
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_attr.adb (Signal_Bad_Attribute): Raise Program_Error in
|
||
case of internal attribute names (already rejected by the parser).
|
||
* par-ch13.adb (P_Representation_Clause): Complain if an internal
|
||
attribute name that comes from source occurs.
|
||
* par-ch4.adb (P_Name): Complain if an internal attribute name
|
||
occurs in the context of an attribute reference.
|
||
* par-util.adb (Signal_Bad_Attribute): Don't complain about
|
||
mispelling attribute with internal attributes.
|
||
* sem_attr.adb (Analyze_Attribute): Raise Program_Error in case
|
||
of internal attribute names (already rejected by the parser).
|
||
* snames.adb-tmpl (Is_Internal_Attribute_Name): New routine.
|
||
* snames.ads-tmpl: Attributes CPU, Dispatching_Domain and
|
||
Interrupt_Priority are marked as INT attributes since they
|
||
don't denote real attribute and are only used internally in
|
||
the compiler.
|
||
(Is_Internal_Attribute_Name): New routine.
|
||
|
||
2012-07-09 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.adb (Set_Reverse_Storage_Order): Update assertion,
|
||
flag is now valid for array types as well.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* tracebak.c: Implement __gnat_backtrace for Win64 SEH.
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads: Minor reformatting.
|
||
|
||
2012-07-09 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch8.adb (Expand_N_Subprogram_Renaming_Declaration): Handle as
|
||
renaming_as_body renamings of predefined dispatching equality
|
||
and unequality operators.
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* rident.ads: Do not instantiate r-ident.ads, this is now an
|
||
independent unit.
|
||
|
||
2012-07-09 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_disp.adb (Write_DT): Avoid runtime crash of this debugging
|
||
routine.
|
||
* sem_disp.adb (Find_Dispatching_Time): Protect this routine
|
||
against partially decorated entities.
|
||
|
||
2012-07-09 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Size): Reject a size clause that specifies
|
||
a value greater than Int'Last for a scalar type.
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): type must support
|
||
atomic operation moved to the protected body case. No non-elementary
|
||
out parameter moved to the protected declaration case. Functions have
|
||
only one lock-free restriction.
|
||
(Analyze_Protected_Type_Declaration): Issue a warning when
|
||
Priority given with Lock_Free.
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb: Grammar of aspect Dimension fixed.
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Code reorg in order to avoid
|
||
pushing and popping the scope stack whenever a delayed aspect occurs.
|
||
|
||
2012-07-09 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* s-os_lib.ads: Remove pragma Elaborate_Body, as
|
||
this is now unnecessary due to recently added pragma Preelaborate.
|
||
|
||
2012-07-09 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* s-taprop-mingw.adb (Set_Priority): Remove the code that was
|
||
previously in place to reorder the ready queue when a task drops
|
||
its priority due to the loss of inherited priority.
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* layout.adb, i-cstrea.ads, a-ststio.ads, prj-util.ads, sem_cat.adb,
|
||
s-commun.ads, s-ficobl.ads, s-os_lib.ads, s-fileio.ads: Minor
|
||
reformatting.
|
||
|
||
2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* raise-gcc.c: Update comments. Fix typo.
|
||
|
||
2012-07-09 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads, sem_attr.adb, sem_ch13.adb: Attribute
|
||
Scalar_Storage_Order can be defined or queried for array types as well
|
||
as record types.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (CleanupUnwind_Handler): Now imported from
|
||
raise-gcc.c
|
||
* raise-gcc.c (__gnat_cleanupunwind_handler): Defined.
|
||
Strictly follow the ABI convention on ia64.
|
||
|
||
2012-07-09 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-ststio.ads: Add pragma Preelaborate, per AI05-0283.
|
||
* i-cstrea.ads (max_path_len): Change from variable to deferred
|
||
constant to allow it to be used as a bound in string component
|
||
in type System.File_IO.Temp_File_Record.
|
||
* s-os_lib.ads, s-commun.ads, s-ficobl.ads, s-fileio.ads: Add pragma
|
||
Preelaborate.
|
||
* s-fileio.adb (Get_Case_Sensitive): Move function inside
|
||
procedure Open.
|
||
(File_Names_Case_Sensitive): Move variable inside
|
||
procedure Open, to avoid violation of Preelaborate restriction
|
||
(due to call to Get_Case_Sensitive).
|
||
|
||
2012-07-09 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* layout.adb (Set_Elem_Alignment): Protect against meaningless
|
||
size clause, to prevent overflow in internal computation of
|
||
alignment.
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* freeze.adb, prj-util.adb, prj-util.ads, sem_ch13.adb: Minor
|
||
reformatting.
|
||
|
||
2012-07-09 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* sem_cat.adb (Check_Categorization_Dependencies):
|
||
Allow dependence of both Remote_Types and Remote_Call_Interface
|
||
declarations (not just Remote_Types units) on preelaborated
|
||
units, but require that the dependence be made via a private
|
||
with_clause. Issue a specialized error message.
|
||
|
||
2012-07-09 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-util.adb, prj-util.ads (For_Interface_Sources): New routine.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* seh_init.c (__gnat_SEH_error_handler): On Win64 and SEH,
|
||
return for unknown exceptions.
|
||
* raise-gcc.c (__gnat_personality_seh0): Call __gnat_SEH_error_handler.
|
||
|
||
2012-07-09 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* exp_dbug.ads (No_Dollar_In_Label): Delete.
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Overloaded_Name): New routine.
|
||
|
||
2012-07-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Analyze the delayed aspects of the
|
||
components in a record type.
|
||
|
||
2012-07-09 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-util.ads: Minor reformatting.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (db_indent): Simplify style, improve comments.
|
||
Remove !IN_RTS part (dead).
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* usage.adb: Minor change to format of -gnatn line.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb: Reorder routine.
|
||
|
||
2012-07-09 Vincent Celier <celier@adacore.com>
|
||
|
||
* lib-writ.ads: Add documentation for the Z lines (implicitly
|
||
withed units) and Y lines (limited withed units).
|
||
|
||
2012-07-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib.ads, exp_attr.adb, exp_ch9.adb, sem_dim.adb, sem_ch9.adb,
|
||
sem_prag.adb, sem_ch12.adb, mlib-utl.adb, freeze.adb, sem_res.adb,
|
||
sem_attr.adb, sem_case.adb, gnatlink.adb, exp_ch4.adb, sem_ch6.adb,
|
||
sem_elim.adb, s-dimmks.ads, sem_ch13.adb: Minor code clean ups.
|
||
|
||
2012-07-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi (Switches for gcc): Document -gnatn[12] only
|
||
lightly in the summary and more thoroughly in inlining section.
|
||
(Performance Considerations): Document -gnatn[12] in inlining
|
||
section.
|
||
|
||
2012-07-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (Unhandled_Except_Handler): New procedure.
|
||
(Unhandled_Others_Value): New const.
|
||
* raise-gcc.c (GNAT_UNHANDLED_OTHERS): Define.
|
||
(action_descriptor): Remove ttype_entry.
|
||
(get_action_description_for): Do not assign ttype_entry.
|
||
(is_handled_by): Consider GNAT_UNHANDLED_OTHERS.
|
||
|
||
2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Call_to_gnu): Robustify test for function case
|
||
if the CICO mechanism is used.
|
||
|
||
2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_simple_component_ref): Do not look
|
||
through an extension if the type contains a placeholder.
|
||
|
||
2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_disp.adb (Expand_Dispatching_Call): Propagate the convention on
|
||
the designated subprogram type and also set Is_Dispatch_Table_Entity.
|
||
(Expand_Interface_Thunk): Propagate the convention on the thunk.
|
||
(Set_CPP_Constructors_Old): Set Is_Constructor and Convention_CPP on
|
||
the internal view of the constructors.
|
||
(Set_CPP_Constructors): Likewise.
|
||
* sem_prag.adb (Analyze_Pragma) <Pragma_CPP_Constructor>: Set the
|
||
convention on the function.
|
||
* gcc-interface/gigi.h (is_cplusplus_method): Declare.
|
||
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
|
||
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the `thiscall'
|
||
calling convention
|
||
(get_minimal_subprog_decl): Likewise.
|
||
(is_cplusplus_method): New predicate.
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Issue an
|
||
error on access to C++ constructor or member function.
|
||
|
||
2012-07-03 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_pushdecl): Set TYPE_CONTEXT for types
|
||
attached to a TYPE_DECL.
|
||
|
||
2012-06-26 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Init_Statements): Don't check the parents
|
||
in the Rep Item Chain of the task for aspects Interrupt_Priority,
|
||
Priority, CPU and Dispatching_Domain.
|
||
* exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
|
||
_CPU and _Domain are present in the corresponding record type
|
||
only if the task entity has a pragma, attribute definition
|
||
clause or aspect specification.
|
||
(Make_Initialize_Protection): Don't check the parents in the Rep Item
|
||
Chain of the task for aspects Interrupt_Priority, Priority, CPU and
|
||
Dispatching_Domain.
|
||
* freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
|
||
call replaced by Analyze_Aspects_At_Freeze_Point.
|
||
* sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
|
||
Renaming of Evaluate_Aspects_At_Freeze_Point.
|
||
|
||
2012-06-26 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
|
||
postcondition, and issue an error in such a case.
|
||
|
||
2012-06-26 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor editing.
|
||
|
||
2012-06-26 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c: Minor cleanup: remove unused prototype.
|
||
* seh_init.c: Do not create an image wide unwind info to catch
|
||
SEH when SEH unwind info are emitted by the compiler.
|
||
|
||
2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* gcc-interface/trans.c: Include target.h.
|
||
(gigi): Try to put out .ident with targetm.asm_out.output_ident.
|
||
Remove uses of ASM_OUTPUT_IDENT.
|
||
* gcc-interface/Make-lang.in: Fix dependencies.
|
||
|
||
2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/53592
|
||
* gcc-interface/gigi.h (maybe_vector_array): Make static inline.
|
||
* gcc-interface/utils.c (maybe_vector_array): Delete.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Indexed_Component>: Mark the
|
||
array object as addressable if it has vector type and is on the LHS.
|
||
|
||
2012-06-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR middle-end/53590
|
||
* gcc-interface/misc.c (gnat_init_options_struct): Set
|
||
opts->x_flag_delete_dead_exceptions to 1.
|
||
|
||
2012-06-14 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (ada.install-common, ada.uninstall):
|
||
Use the prefix specified with the --program-prefix configure option
|
||
to determine the install name of the Ada tools.
|
||
(ada.all.cross): Use a for loop to iterate over the set of Ada tools
|
||
instead of duplicate the same processing.
|
||
Update dependencies.
|
||
|
||
2012-06-14 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_Symbol
|
||
call replaced by Expand_Put_Call_With_Symbol call.
|
||
* sem_dim.adb: New fields Unit_Names, Unit_Symbols
|
||
and Dim_Symbols for record type System_Type.
|
||
(From_Dimension_To_String_Of_Symbols): Removed.
|
||
(From_Dim_To_Str_Of_Dim_Symbols): Renames previous
|
||
routine From_Dimension_To_String_Of_Symbols.
|
||
(From_Dim_To_Str_Of_Unit_Symbols): New routine.
|
||
(Analyze_Aspect_Dimension): argument Symbol in aspect
|
||
Dimension aggregate is optional. Named association implemented.
|
||
(Has_Compile_Time_Known_Expressions): Removed.
|
||
(Analyze_Aspect_Dimension_System): New
|
||
component Dim_Symbol in each Dimension aggregate in
|
||
aspect Dimension_System. Named associations implemented.
|
||
(Add_Dimension_Vector_To_Buffer): Removed.
|
||
(Add_Whole_To_Buffer): Removed.
|
||
(Expand_Put_Call_With_Dimension_Symbol.): Removed.
|
||
(Expand_Put_Call_With_Symbol): Renames previous routine
|
||
Expand_Put_Call_With_Dimension_Symbol.
|
||
(Has_Dimension_Symbols): Removed.
|
||
(Has_Symbols): Renames previous routine
|
||
Has_Dimension_Symbols. (Store_String_Oexpon): New routine.
|
||
* sem_dim.ads (Expand_Put_Call_With_Dimension_Symbol.): Removed.
|
||
(Expand_Put_Call_With_Symbol): Renames previous routine
|
||
Expand_Put_Call_With_Dimension_Symbol.
|
||
* s-diflio.adb, s-diinio.adb (Put): Symbol renames Symbols.
|
||
(Put_Dim_Of): New routines.
|
||
* s-diflio.ads, s-diinio.ads: documentation updated.
|
||
(Put): Symbol renames Symbols.
|
||
(Put_Dim_Of): New routines.
|
||
* s-dim.ads: documentation updated.
|
||
* s-dimmks.ads: dimensioned type and subtypes updated.
|
||
* snames.ads-tmpl: Name_Dim_Symbol, Name_Put_Dim_Of, Name_Symbol,
|
||
and Name_Unit_Symbol added. Name_Symbols removed.
|
||
|
||
2012-06-14 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* freeze.adb (In_Exp_Body): Expression function case added.
|
||
(Freeze_Expression): Insert the Freeze_Nodes
|
||
list before the correct current scope in case of a quantified
|
||
expression.
|
||
|
||
2012-06-14 Pascal Obry <obry@adacore.com>
|
||
|
||
* projects.texi: Document the Install package for gprinstall.
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_elim.adb (Check_For_Eliminated_Subprogram): Do not check within
|
||
a default expression.
|
||
* sem_res.adb (Resolve_Call): simplify code.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb (Check, Issue_Msg): within an instance, non-other
|
||
values in a variant part or a case expression do not have to
|
||
belong to the actual subtype.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Derived_Type_Instance): If parent is
|
||
an interface type, check whether it is itself a previous formal
|
||
already instantiated in the current list of actuals.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): The
|
||
expression for a stream attribute is a name that may be overloaded
|
||
with other declarations. To determine whether it matches the
|
||
aspect at the freeze point, it is necessary to verify that one
|
||
of its interpretations matches.
|
||
|
||
2012-06-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_util.adb, sem_aux.ads, exp_ch9.adb,
|
||
sem_ch10.adb, freeze.adb, sem_util.adb, exp_ch4.adb,
|
||
s-taprop-dummy.adb: Minor reformatting.
|
||
|
||
2012-06-14 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Lock_Free
|
||
attribute case added.
|
||
* par-prag.adb (Prag): Lock_Free pragma case added.
|
||
* sem_attr.adb (Analyze_Attribute_Reference): Lock_Free attribute
|
||
case added.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Record_Rep_Item
|
||
call added for Aspect_Lock_Free.
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): New Lock_Free
|
||
error messages for subprogram bodies.
|
||
(Lock_Free_Disabled): New routine.
|
||
(Analyze_Protected_Body): Call to Lock_Free_Disabled added.
|
||
* sem_prag.adb (Analyze_Pragma): Lock_Free pragma case added.
|
||
* snames.adb-tmpl (Get_Pragma_Id): Name_Lock_Free case added.
|
||
(Is_Pragma_Name): Name_Lock_Free case added.
|
||
* snames.ads-tmpl: Attribute_Lock_Free and Pragma_Lock_Free added.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* a-coorma.adb, a-cborma.adb, a-cbhama.adb, a-ciorma.adb: Add missing
|
||
aliased keyword.
|
||
|
||
2012-06-14 Bob Duff <duff@adacore.com>
|
||
|
||
* lib.ads, lib.adb, sem.adb (Write_Unit_Info): Move this
|
||
procedure from Sem body to Lib spec, so it can be used for
|
||
debugging elsewhere.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Conformance): Add Ada 2012 check on mode
|
||
conformance: "aliased" must apply to both or neither formal
|
||
parameters.
|
||
|
||
2012-06-14 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch9.adb: Minor reformatting.
|
||
|
||
2012-06-14 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Warn about useless bit order
|
||
specification [when there's no component clause] regardless
|
||
of whether the specified bit order is reversed or not.
|
||
|
||
2012-06-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (__gnat_personality_seh0): New function.
|
||
|
||
2012-06-14 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gnatname.adb (Gnatname): Make sure that dynamic table
|
||
argument_data is initialized.
|
||
|
||
2012-06-14 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_aux.adb: Minor code reorganization.
|
||
|
||
2012-06-14 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* einfo.adb einfo.ads (Get_Rep_Item): Removed.
|
||
(Get_Rep_Item_For_Entity): Removed.
|
||
(Get_Rep_Pragma): Removed.
|
||
(Get_Rep_Pragma_For_Entity): Removed.
|
||
(Has_Rep_Item): Removed.
|
||
(Has_Rep_Pragma): Removed.
|
||
(Has_Rep_Pragma_For_Entity): Removed.
|
||
* exp_ch9.adb (Expand_N_Task_Type_Declaration):
|
||
Has_Rep_Pragma_For_Entity replaced by Has_Rep_Pragma
|
||
and Get_Rep_Pragma_For_Entity replaced by Get_Rep_Pragma.
|
||
(Make_Task_Create_Call): Has_Rep_Pragma_For_Entity replaced
|
||
by Has_Rep_Pragma and Get_Rep_Pragma_For_Entity replaced by
|
||
Get_Rep_Pragma.
|
||
* exp_intr.adb: Dependency to Sem_Aux added for call to Get_Rep_Pragma.
|
||
* sem_aux.adb (Get_Rep_Item): New routine.
|
||
(Get_Rep_Pragma): New routine.
|
||
(Has_Rep_Item): New routine.
|
||
(Has_Rep_Pragma): New routine.
|
||
(Nearest_Ancestor): Minor reformatting.
|
||
* sem_aux.ads (Get_Rep_Item): New routine.
|
||
(Get_Rep_Pragma): New routine.
|
||
(Has_Rep_Item): New routine.
|
||
(Has_Rep_Pragma): New routine.
|
||
* sem_ch13.adb (Duplicate_Clause): Restore original error messages.
|
||
* sem_eval.adb (Subtypes_Statically_Match): Get_Rep_Item_For_Entity
|
||
replaced by Get_Rep_Item.
|
||
* sem_prag.adb (Analyze_Pragma): Restore original error messages.
|
||
(Check_Duplicate_Pragma): Restore original error messages.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Object_Reference): in Ada 2012, qualified
|
||
expressions are valid names.
|
||
|
||
2012-06-14 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Compilation_Unit): If the unit is an
|
||
instantiation do not emit warnings for obsolescent units. The
|
||
warnings belong on the corresponding generic.
|
||
|
||
2012-06-14 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb: Update the usage of Node15.
|
||
(Return_Flag_Or_Transient_Decl): Removed.
|
||
(Set_Return_Flag_Or_Transient_Decl): Removed.
|
||
(Set_Status_Flag_Or_Transient_Decl): New routine.
|
||
(Status_Flag_Or_Transient_Decl): New routine.
|
||
(Write_Field15_Name): Update the output for variables and constants.
|
||
* einfo.ads: Remove attribute
|
||
Return_Flag_Or_Transient_Decl along with occurrences in nodes.
|
||
(Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
|
||
(Set_Return_Flag_Or_Transient_Decl): Removed along with pragma Inline.
|
||
(Set_Status_Flag_Or_Transient_Decl): New routine along with pragma
|
||
Inline.
|
||
(Status_Flag_Or_Transient_Decl): New routine along with pragma Inline.
|
||
* exp_ch4.adb (Create_Alternative): New routine.
|
||
(Expand_N_Conditional_Expression): Handle the case
|
||
where at least one of the conditional expression
|
||
alternatives prodices a controlled temporary by means of a function
|
||
call.
|
||
(Is_Controlled_Function_Call): New routine.
|
||
(Process_Transient_Object): Update the call to
|
||
Set_Return_Flag_Or_Transient_Decl.
|
||
* exp_ch6.adb (Enclosing_Context): New routine.
|
||
(Expand_N_Extended_Return_Statement): Update all calls to
|
||
Set_Return_Flag_Or_Transient_Decl.
|
||
(Expand_Ctrl_Function_Call): Prohibit the finalization of a controlled
|
||
function result when the context is a conditional expression.
|
||
* exp_ch7.adb (Process_Declarations): Update all calls to
|
||
Return_Flag_Or_Transient_Decl. Add processing for intermediate
|
||
results of conditional expressions where one of the alternatives
|
||
uses a controlled function call.
|
||
(Process_Object_Declaration): Update all calls to
|
||
Return_Flag_Or_Transient_Decl and rearrange the logic to process
|
||
"hook" objects first.
|
||
(Process_Transient_Objects): Update the call to
|
||
Set_Return_Flag_Or_Transient_Decl.
|
||
* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean,
|
||
Boolean)): Update all calls to Return_Flag_Or_Transient_Decl. Add
|
||
detection for intermediate results of conditional expressions
|
||
where one of the alternatives uses a controlled function call.
|
||
|
||
2012-06-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
Revert
|
||
2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
|
||
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
|
||
calling convention
|
||
(get_minimal_subprog_decl): Likewise.
|
||
(gnat_first_param_is_class): New predicate.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* sem_ch9.ads, einfo.adb, einfo.ads, sem_prag.adb, freeze.adb,
|
||
sem_util.adb, sem_ch13.adb, sem_ch13.ads, exp_ch3.adb: Add comments.
|
||
Minor reformatting.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Formal_Subprogram): Remove code that
|
||
implements AI05-0296, because the actual may be overloaded.
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming): and move it here,
|
||
to be applied once the actual subprogram is properly resolved.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* switch-c.adb, a-exexpr-gcc.adb: Minor reformatting.
|
||
|
||
2012-06-12 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* checks.adb (Tag_Checks_Suppressed): Remove Kill_Tag_Checks check.
|
||
* einfo.adb (Universal_Aliasing): Apply to the implementation
|
||
base type instead of the base type.
|
||
(Get_Rep_Item_For_Entity):
|
||
Return a pragma if the pragma node is not present in the Rep
|
||
Item chain of the parent.
|
||
(Kill_Tag_Checks): Removed (unused flag).
|
||
(Set_Kill_Tag_Checks): Removed.
|
||
(Get_First_Rep_Item): New routine.
|
||
(Get_Rep_Pragma_For_Entity): New routine.
|
||
(Has_Rep_Item): New routine.
|
||
(Has_Rep_Pragma_For_Entity): New routine.
|
||
(Present_In_Rep_Item): New routine.
|
||
* einfo.ads (Kill_Tag_Checks): Removed.
|
||
(Set_Kill_Tag_Checks): Removed.
|
||
(Get_First_Rep_Item): New routine.
|
||
(Get_Rep_Pragma_For_Entity): New routine.
|
||
(Has_Rep_Item): New routine.
|
||
(Has_Rep_Pragma_For_Entity): New routine.
|
||
(Present_In_Rep_Item): New routine.
|
||
* exp_attr.adb, sem_attr.adb: Attribute_CPU,
|
||
Attribute_Dispatching_Domain and Attribute_Interrupt_Priority
|
||
case added.
|
||
* exp_ch13.adb (Expand_N_Attribute_Definition_Clause): For
|
||
attribute Storage_Size, insert the new assignement statement
|
||
after the Size variable declaration.
|
||
* exp_ch3.adb (Build_Init_Statements): Fill the CPU,
|
||
Dispatching_Domain, Priority and Size components with the Rep
|
||
Item expression (if any).
|
||
* exp_ch9.adb (Expand_N_Task_Type_Declaration): _CPU,
|
||
_Priority, _Domain fields are always present in the
|
||
corresponding record type.
|
||
(Find_Task_Or_Protected_Pragma): Removed.
|
||
(Get_Relative_Deadline_Pragma): New routine.
|
||
(Make_Initialize_Protection): Find_Task_Or_Protected_Pragma removed.
|
||
(Make_Task_Create_Call): Check CPU, Size or
|
||
Dispatching_Domain Rep Item is present using new routine Has_Rep_Item.
|
||
* freeze.adb (Freeze_All): Push_Scope_And_Install_Discriminants
|
||
and Uninstall_Discriminants_And_Pop_Scope calls added.
|
||
(Freeze_Entity): Evaluate_Aspects_At_Freeze_Point call added.
|
||
* sem_aux.adb (Nearest_Ancestor): Retrieve the nearest ancestor
|
||
for private derived types.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Clean-up
|
||
and reordering. Delay analysis for all aspects (except some
|
||
peculiar cases).
|
||
(Analyze_Attribute_Definition_Clause):
|
||
Attribute_CPU, Attribute_Dispatching_Domain,
|
||
Interrupt_Priority and Attribute_Priority cases added.
|
||
(Analyze_Freeze_Entity): Push_Scope_And_Install_Discriminants
|
||
and Uninstall_Discriminants_And_Pop_Scope calls added.
|
||
(Check_Aspect_At_Freeze_Point): Reordering and clean-up.
|
||
(Duplicate_Clause): Issue an explicit error msg when the current
|
||
clause duplicates an aspect specification, an attribute definition
|
||
clause or a pragma.
|
||
(Evaluate_Aspects_At_Freeze_Point): New routine.
|
||
* sem_ch13.ads (Evaluate_Aspects_At_Freeze_Point): New routine.
|
||
* sem_ch9.adb, sem_ch9.ads (Install_Discriminants): New routine.
|
||
(Push_Scope_And_Install_Discriminants): New routine.
|
||
(Uninstall_Discriminants): New routine.
|
||
(Uninstall_Discriminants_And_Pop_Scope): New routine.
|
||
* sem_prag.adb (Check_Duplicate_Pragma): Issue an explicit error
|
||
msg when the current pragma duplicates an aspect specification,
|
||
an attribute definition clause or a pragma.
|
||
(Analyze_Pragma): Remove use of flags Has_Pragma_CPU,
|
||
Has_Pragma_Priority and Has_Pragma_Dispatching_Domain.
|
||
* sem_util.adb (Compile_Time_Constraint_Error): Don't complain
|
||
about the type if the corresponding concurrent type doesn't come
|
||
from source.
|
||
* sinfo.adb, sinfo.ads (Has_Pragma_CPU): Removed.
|
||
(Has_Pragma_Dispatching_Domain): Removed.
|
||
(Has_Pragma_Priority): Removed.
|
||
(Has_Task_Info_Pragma): Removed.
|
||
(Has_Task_Name_Pragma): Removed.
|
||
(Set_Has_Pragma_CPU): Removed.
|
||
(Set_Has_Pragma_Dispatching_Domain): Removed.
|
||
(Set_Has_Pragma_Priority): Removed.
|
||
(Set_Has_Task_Info_Pragma): Removed.
|
||
(Set_Has_Task_Name_Pragma): Removed.
|
||
* snames.adb-tmpl (Get_Pragma_Id): Pragma_CPU,
|
||
Pragma_Dispatching_Domain and Pragma_Interrupt_Priority added.
|
||
(Is_Pragma_Name): Name_CPU, Name_Dispatching_Domain and
|
||
Name_Interrupt_Priority added.
|
||
* snames.ads-tmpl: Name_Dispatching_Domain, Name_CPU
|
||
and Name_Interrupt_Priority moved to the list of
|
||
Attribute_Name. Attribute_CPU, Attribute_Dispatching_Domain and
|
||
Attribute_Interrupt_Priority added. Pragma_Dispatching_Domain,
|
||
Pragma_CPU and Pragma_Interrupt_Priority moved to the end of
|
||
the Pragma_Name list.
|
||
|
||
2012-06-12 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* xref_lib.adb (Get_Full_Type): Add support for 'G'.
|
||
|
||
2012-06-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exexpr-gcc.adb (Unwind_Exception): Add 4 more private fields.
|
||
|
||
2012-06-12 Fedor Rybin <frybin@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update doc on gnattest.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb: Add comments.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* switch-c.adb, inline.adb, usage.adb, opt.ads: Minor reformatting.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch12.adb: Minor reformatting.
|
||
|
||
2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* opt.ads (Inline_Level): New variable.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Set it based on optimization
|
||
level if it has not been set by the user.
|
||
* switch-c.adb (Scan_Front_End_Switches): Accept -gnatn1 and -gnatn2
|
||
and set Inline_Level accordingly.
|
||
* inline.adb (Add_Inlined_Body): Declate new Inline_Level_Type type.
|
||
(Must_Inline): Return Inline_Level_T instead of Boolean to indicate
|
||
whether the package of the inlined subprogram must be compiled.
|
||
If Inline_Level is set to 1, only compile packages of subprograms
|
||
directly called from the main unit.
|
||
* usage.adb (Usage): Adjust line for -gnatn switch.
|
||
* gnat_ugn.texi (Switches for gcc): Document -gnatn1 and -gnatn2.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Instantiate_Formal_Subprogram): Do not apply
|
||
AI05-296 if the actual is overloaded. In this case The rule must
|
||
be applied after resolution, in Analyze_Subprogram_Renaming.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* stringt.adb: Minor reformatting.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* ali-util.adb, stringt.ads: Minor reformatting.
|
||
|
||
2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Declarations): Handle the case where
|
||
the original context has been wrapped in a block to avoid
|
||
interference between exception handlers and At_End handlers.
|
||
(Wrap_HSS_In_Block): Mark the block which contains the original
|
||
statements of the context as being a finalization wrapper.
|
||
* sinfo.adb (Is_Finalization_Wrapper): New routine.
|
||
(Set_Is_Finalization_Wrapper): New routine.
|
||
|
||
* sinfo.ads: Add new attribute Is_Finalization_Wrapper applicable
|
||
to block statemnts.
|
||
(Is_Finalization_Wrapper): New routine with corresponding pragma Inline.
|
||
(Set_Is_Finalization_Wrapper): New routine with corresponding pragma
|
||
Inline.
|
||
|
||
2012-06-12 Steve Baird <baird@adacore.com>
|
||
|
||
* gnat1drv.adb (Adjust_Global_Switches): No longer need to set
|
||
Exception_Extra_Info in CodePeer_Mode.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_dist.adb, exp_ch7.adb, sem_type.adb, exp_attr.adb,
|
||
sinfo.ads, sem_ch7.adb, exp_alfa.adb, sem_scil.adb, sem_ch12.adb,
|
||
sem_util.adb, sem_res.adb, sem_attr.adb, sem_elab.adb, exp_ch6.adb,
|
||
sem_ch4.adb, sem_warn.adb, scil_ll.adb, exp_cg.adb: Minor code
|
||
reorganization.
|
||
|
||
2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* s-tasini.ads: Minor fix in comment.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Warn on record with
|
||
Scalar_Storage_Order if there is no placed component.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor comment fix.
|
||
|
||
2012-06-12 Vincent Celier <celier@adacore.com>
|
||
|
||
* ali-util.adb (Time_Stamp_Mismatch): In minimal recompilation
|
||
mode, use Stringt Mark and Release to avoid growing the Stringt
|
||
internal tables uselessly.
|
||
* stringt.adb (Strings_Last): New global variable
|
||
(String_Chars_Last): New global variable.
|
||
(Mark, Release): New procedures.
|
||
* stringt.ads (Mark, Release) New procedures.
|
||
|
||
2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Transient_Objects): Renamed constant
|
||
Requires_Hooking to Must_Hook and replace all occurrences of the name.
|
||
(Requires_Hooking): New routine. Detect all contexts that require
|
||
transient variable export to the outer finalizer due to a potential
|
||
exception.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb: Small adjustment.
|
||
|
||
2012-06-12 Vincent Celier <celier@adacore.com>
|
||
|
||
* vms_cmds.ads (Command_Type): New enumeration value Test
|
||
* vms_conv.adb (Initialize): Add component at index Test in
|
||
Command_List
|
||
* vms_data.ads (Test_Switches): New global variable for the
|
||
switches of gnattest, currently empty.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Subtype_Declaration): if an incomplete
|
||
type is tagged, so is a subtype of it.
|
||
* sem_ch12.adb (Validate_Actual_Subprogram): implement AI05-0296,
|
||
concerning freeze rules in the presence of formal incomplete
|
||
types: a formal abstract subprogram cannot have an incomplete
|
||
controlling type, and the profile of the actual subprogram does
|
||
not freeze if it includes an incomplete untagged type.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-direct.adb: Minor reformatting.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add missing documentation for -gnatw.v and
|
||
-gnatw.V.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch7.adb, sem_prag.adb, sem_ch12.adb, sem_ch4.adb,
|
||
sem_ch13.adb: Minor rewording of error messages for unchecked unions.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-xref.ads: Minor reformatting.
|
||
|
||
2012-06-12 Pascal Obry <obry@adacore.com>
|
||
|
||
* a-direct.adb (Delete_File): Delete symbolic links silently
|
||
instead of raising the Name_Error exception when the symbolic
|
||
link is pointing to a non existent file.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* xref_lib.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
|
||
|
||
2012-06-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* lib-xref.ads Adding missing documentation.
|
||
|
||
2012-06-12 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Create_Finalizer): Add the
|
||
exception reraise mechanism at the very end of the finalizer
|
||
statements. This placement ensures that all objects are finalized,
|
||
the secondary stack mark released and aborts undeferred before
|
||
propagating an exception.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Remove_Unit_From_Visibility): if the unit is a
|
||
wrapper package. remove from visibility the original subprogram
|
||
instance.
|
||
|
||
2012-06-12 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Convention): Generate reference to entity
|
||
exported to foreign language. Needed for GPS navigation.
|
||
* xref_lib.adb (Parse_Identifier_Info): Parse exported entities.
|
||
* lib-xref (Output_References): Output exported entities.
|
||
|
||
2012-06-12 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-attr.adb: Add install package and corresponding attributes.
|
||
* snames.ads-tmpl (Name_Active): New constant.
|
||
(Name_Exec_Subdir): Likewise.
|
||
(Name_Install): Likewise.
|
||
(Name_Lib_Subdir): Likewise.
|
||
(Name_Project_Subdir): Likewise.
|
||
(Name_Sources_Subdir): Likewise.
|
||
|
||
2012-06-12 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_res.adb (Check_Infinite_Recursion):
|
||
Suppress spurious warning on recursion after "raise with ...".
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Do
|
||
not crash on illegal unchecked union that is a null record.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Has_Inferable_Discriminants): Reorganize code to
|
||
treat implicit dereferences with a constrained unchecked union
|
||
nominal subtype as having inferable discriminants.
|
||
|
||
2012-06-12 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor reformatting.
|
||
|
||
2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi: Couple of minor corrections.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_prag.adb (Check_Variant): An empty component list is not
|
||
illegal in an unchecked union variant.
|
||
|
||
2012-06-12 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* projects.texi: Remove comments.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* back_end.adb (Scan_Back_End_Switches): Treat -fdump-scos as
|
||
synonym of -gnateS.
|
||
(gnat_post_options): Disable gimple-based SCO generator.
|
||
* gnat_ugn.texi: Document that -gnateS is an obsolete synonym
|
||
of -fdump-scos.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Different_Generic_Profile): new predicate for
|
||
Find_Corresponding_Spec, to handle a rare case of accidental
|
||
overloading in an instance, when the profile of a subprogram body
|
||
that depends on a formal type becomes compatible with that of
|
||
a homonym whose profile in the generic mentions the actual type.
|
||
|
||
2012-06-12 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat1drv.adb: Minor reformatting.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Build_Explicit_Dereference): If the expression
|
||
is an entity, ensure that the type of the expression is the same
|
||
as that of the entity.
|
||
|
||
2012-06-12 Pat Rogers <rogers@adacore.com>
|
||
|
||
* projects.texi: Corrected instances of the word "build" that
|
||
should be "built" instead. Other similar changes and minor
|
||
punctuation changes.
|
||
|
||
2012-06-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_util.adb (Is_Atomic_Object): Return true for an atomic
|
||
component as well as a prefix which is an atomic component.
|
||
|
||
2012-06-12 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): revert previous
|
||
patch. The processing of interfacing aspects now generates a
|
||
proper Ada 2005 pragma.
|
||
* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
|
||
Pragma_Import): revert previous patch. The processing of
|
||
interfacing aspects now generates a proper Ada 2005 pragma.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): generate proper
|
||
pragam for aspects Convention, Import and Export. Scan list
|
||
of aspects to collect link name and external name if present,
|
||
and verify that a complete pragma can be generated.
|
||
|
||
2012-06-11 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Remove
|
||
$(PIC_FLAG_FOR_TARGET).
|
||
(gnatlib-shared-default): Add $(PIC_FLAG_FOR_TARGET) to
|
||
GNATLIBCFLAGS_FOR_C passed to gnatlib.
|
||
(gnatlib-shared-win32): Likewise.
|
||
(gnatlib-shared-darwin): Likewise.
|
||
(gnatlib-shared-dual-win32): Pass PIC_FLAG_FOR_TARGET to
|
||
gnatlib-shared-win32.
|
||
|
||
2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Convert GNU_SIZE
|
||
to units before invoking allocatable_size_p on it.
|
||
Remove orphaned comment. Do not use ssize_int.
|
||
<E_Record_Subtype>: Traverse list in original order. Minor tweak.
|
||
(allocatable_size_p): Adjust and simplify.
|
||
(build_subst_list): Use consistent terminology throughout.
|
||
(build_variant_list): Likewise. Traverse list in original order.
|
||
(create_field_decl_from): Likewise.
|
||
(copy_and_substitute_in_size): Likewise.
|
||
(create_variant_part_from): Add comment about field list order.
|
||
* gcc-interface/utils.c (build_vms_descriptor): Do not use ssize_int.
|
||
* gcc-interface/utils2.c (build_allocator): Likewise.
|
||
|
||
2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Test Is_Elementary_Type
|
||
instead of Is_Scalar_Type for a constant with an address clause.
|
||
Do not return the underlying constant for a constant used by reference
|
||
if it holds the address of a constant and an lvalue is required.
|
||
|
||
2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not specifically deal
|
||
with external constants wrt force_global here...
|
||
<E_Constant>: ...but here instead.
|
||
* gcc-interface/utils.c (gnat_pushdecl): Do not put external DECLs onto
|
||
the list of global DECLs.
|
||
|
||
2012-06-11 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Translate the Esize on
|
||
entry only for elementary types and abort if it is too large.
|
||
<E_Record_Type>: Make sure the Esize is known before using it.
|
||
|
||
2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* gcc-interface/utils2.c: Do not include output.h.
|
||
* gcc-interface/Make-lang.in: Fix dependencies.
|
||
|
||
2012-05-29 Michael Matz <matz@suse.de>
|
||
|
||
* gcc-interface/utils.c (create_var_decl_1): Don't call expand_decl.
|
||
|
||
2012-05-26 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (variant_desc): Rename 'record' to 'new_type'.
|
||
(build_variant_list): Adjust to above renaming.
|
||
(gnat_to_gnu_entity) <E_Record_Subtype>: Likewise. Give a unique name
|
||
to the type of the variant containers.
|
||
(create_variant_part_from): Likewise. Give a unique name to the type
|
||
of the variant part.
|
||
|
||
2012-05-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/52362
|
||
* link.c (__gnat_object_file_option): Set to "-Wl,@" for GNU linker.
|
||
(__gnat_using_gnu_linker): Delete.
|
||
* gnatlink.adb (Gnatlink): Declare Object_File_Option_Ptr here...
|
||
Declare Object_File_Option string constant and Using_GNU_response_file
|
||
boolean constant.
|
||
(Process_Binder_File): ...instead of here. Delete Using_GNU_Linker,
|
||
Opening and Closing local variables. Do not handle the GNU linker
|
||
specially.
|
||
(Write_RF): New procedure to write into the response file. Escape some
|
||
characters if a GNU response file is used. Keep track of error status.
|
||
Invoke Write_RF to write into the response file. Delete the file only
|
||
if the link was successful.
|
||
* mlib-utl.adb: Do not `with' package System.
|
||
(Gcc): Likewise. Declare Object_File_Option string constant and
|
||
Using_GNU_response_file boolean constant.
|
||
(Write_RF): Take a string instead of address and length. Escape some
|
||
characters if a GNU response file is used.
|
||
Invoke Write_RF to write into the response file. Delete the file only
|
||
if the link was successful. Do not warn if it cannot be deleted.
|
||
|
||
2012-05-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Put a name
|
||
on the dummy global variable.
|
||
|
||
2012-05-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
|
||
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
|
||
calling convention
|
||
(get_minimal_subprog_decl): Likewise.
|
||
(gnat_first_param_is_class): New predicate.
|
||
|
||
* gcc-interface/misc.c (gnat_handle_option): Fix formatting.
|
||
* gcc-interface/Makefile.in: Likewise.
|
||
|
||
2012-05-18 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
|
||
global level with unconstrained nominal subtype and a non-fixed size,
|
||
make a variable for the size.
|
||
|
||
2012-05-15 Andris Pavenis <andris.pavenis@iki.fi>
|
||
|
||
PR ada/52494
|
||
* s-taprop-dummy.adb (Specific): New package.
|
||
|
||
2012-05-15 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
|
||
instead of trying to mimic it.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
|
||
reformatting.
|
||
|
||
2012-05-15 Geert Bosch <bosch@adacore.com>
|
||
|
||
* uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
|
||
not needed.
|
||
(Sum_Digits): Remove, no longer used.
|
||
(Sum_Double_Digits): Likewise.
|
||
|
||
2012-05-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* aspects.ads: Minor typo.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
|
||
* sem_ch13.adb: Minor comment fix: incorrect RM reference.
|
||
|
||
2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
|
||
atomicity from an object to its underlying type only if it
|
||
is composite.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
|
||
loop variable after pre-analysis of iterator name, to prevent
|
||
premature usage of loop variable.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Variable): In Ada 2012, an explicit
|
||
dereference that is a rewriting of an expression whose type has
|
||
a declared Implicit_Derenference aspect is a variable.
|
||
|
||
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
|
||
routine performs address and size adjustments for dereferences
|
||
of heap-allocated controlled objects. This manipulation is needed
|
||
in order to restore the original state of the memory at the time
|
||
it was allocated by the finalization machinery.
|
||
* rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
|
||
RE_Id and RE_Unit_Table.
|
||
* sinfo.adb (Has_Dereference_Action): New routine.
|
||
(Set_Has_Dereference_Action): New routine.
|
||
* sinfo.ads: Add new semantic flag Has_Dereference_Action along
|
||
its association in nodes.
|
||
(Has_Dereference_Action): New routine and pragma Inline.
|
||
(Set_Has_Dereference_Action): New routine and pragma Inline.
|
||
* s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
|
||
routine.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
|
||
remainder of U / Base in a single operation.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
|
||
a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
|
||
vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
|
||
expression, use correct node for test on the subtype denoted by
|
||
the subtype mark.
|
||
|
||
2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Scope_In_Main_Unit): Rename into...
|
||
(In_Main_Unit_Or_Subunit): ...this. Also return
|
||
true if the subprogram is within a subunit of the
|
||
main unit.
|
||
(Add_Inlined_Body): Adjust for above renaming.
|
||
(Add_Inlined_Subprogram): Likewise. Pass the subprogram directly.
|
||
(Analyze_Inlined_Bodies): Really set aside inlined subprograms
|
||
not handled by Add_Inlined_Body.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch10.adb (Expand_With_Clause): In the context of a generic
|
||
package declaration, a private with-clause on a child unit implies
|
||
that the implicit with clauses on its parents are private as well.
|
||
|
||
2012-05-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (Is_Interface_Conformant): Add missing call to
|
||
Base_Type to handle subtypes.
|
||
* exp_ch6.adb (Expand_Call): For calls located in thunks handle
|
||
unchecked conversions of access types found in actuals.
|
||
* exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
|
||
conversion to actuals whose type is an access type. Done to
|
||
avoid reporting spurious errors.
|
||
|
||
2012-05-15 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-env.adb (Create_Mapping): Ignore sources that are
|
||
suppressed (Create_Mapping_File.Process): Ditto
|
||
* prj-nmsc.adb (Add_Source): Update to take into
|
||
account suppressed files that may hide inherited sources.
|
||
(Mark_Excluded_Sources): Mark excluded sources of the current
|
||
project as suppressed.
|
||
* prj.ads (Source_Data): New Boolean component Suppressed,
|
||
defaulted to False
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_intr.adb: Minor reformatting.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi: Document attribute Scalar_Storage_Order.
|
||
|
||
2012-05-15 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch3.adb (Build_Offset_To_Top): Modify the
|
||
expansion of the offset_to_top functions to ensure that their
|
||
profile is conformant with the profile specified in Ada.Tags. No
|
||
change in functionality.
|
||
|
||
2012-05-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* inline.adb (Subp_Info): Remove Count and Next_Nopred
|
||
components, add Processed component and move around Next component.
|
||
(Add_Call): Reverse meaning of Successors table to the natural one.
|
||
(Add_Inlined_Body): Do not inline a package if it is in the main unit.
|
||
(Add_Inlined_Subprogram): Do not add the subprogram to the list if the
|
||
package is in the main unit. Do not recurse on the successors.
|
||
(Add_Subp): Adjust to new contents of Subp_Info.
|
||
(Analyze_Inlined_Bodies): Do not attempt
|
||
to compute a topological order on the list of inlined subprograms,
|
||
but compute the transitive closure from the main unit instead.
|
||
(Get_Code_Unit_Entity): Always return the spec for a package.
|
||
|
||
2012-05-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* aspects.ads: Minor addition of comments to provide info on
|
||
how to add new aspects.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* osint.ads: Minor reformatting.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
|
||
(Expand_Assign_Array): Handle the case of a packed bit array within a
|
||
record with reverse storage order (assign element by element in that
|
||
case).
|
||
(In_Reverse_Storage_Order_Record): New subprogram,
|
||
code extracted from Exp_Pakd.
|
||
|
||
2012-05-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* a-ngelfu.ads: Add postconditions using Ada 2012
|
||
aspect syntax, reflecting some of the RM requirements for these
|
||
functions, from Annex A.5.1 or G.2.4.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* adaint.c: Minor fix: move misplaced comment.
|
||
|
||
2012-05-15 Doug Rupp <rupp@adacore.com>
|
||
|
||
* vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
|
||
use by customers.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exextr.adb: Add comment.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb: Minor reformatting (remove long dead code).
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads: Add aspects for Convention, Export,
|
||
External_Name, Import, and Link_Name.
|
||
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
|
||
pragma comes from an aspect specification, the entity is the
|
||
first argument.
|
||
* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
|
||
Pragma_Import): if the pragma comes from an aspect specification,
|
||
the entity is the first argument, and the second has the value
|
||
True by default.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
|
||
for aspect Convention. Add placeholders for Link_Name and
|
||
External_Name.
|
||
|
||
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
|
||
of the abortable part and triggering alternative after being processed
|
||
for controlled objects.
|
||
(Expand_N_Timed_Entry_Call): Code and comment reformatting.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor code reorganization.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
|
||
'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
|
||
even in those cases, a remote access type may only designate a
|
||
remote subprogram.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
|
||
(Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
|
||
checks on nested inlined subprograms.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* fe.h (Get_RT_Exception_Name): Declare.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
|
||
(get_region_description_for): Likewise.
|
||
(db_action_for): Likewise.
|
||
(get_call_site_action_for): Likewise.
|
||
(get_ttype_entry_for): Remove useless 'const'.
|
||
(PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
|
||
on the stack to avoid a dynamic memory allocation.
|
||
|
||
2012-05-15 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
|
||
E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
|
||
because those calls can destroy the Statements list.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* fe.h (Get_RT_Exception_Name): Define.
|
||
* types.ads (RT_Exception_Code): Update comment.
|
||
* exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
|
||
procedure to get the name of the rcheck subprograms.
|
||
* a-except-2005.adb (Rcheck_xx): Rename.
|
||
* a-except.adb Likewise, but also keep the old Rcheck_nn routines
|
||
for bootstrap.
|
||
* arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
|
||
instead of __gnat_rcheck_10.
|
||
* gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
|
||
to create the __gnat_rcheck routines name.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Exception_Handler): Save current
|
||
occurrence only if -gnateE.
|
||
(Build_Object_Declaration): Declare E_Id only if -gnateE.
|
||
(Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
|
||
-gnateE (else raise PE).
|
||
* s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
|
||
access.
|
||
* a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
|
||
Raise_From_Controlled_Operation only if the saved occurrence is
|
||
not null, otherwise raise PE.
|
||
|
||
2012-05-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* exp_alfa.ads: Add comments describing the Alfa mode.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
|
||
E is now of type Exception_Occurrence_Access.
|
||
* exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
|
||
call to Save_Library_Occurrence.
|
||
|
||
2012-05-15 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
|
||
insert temporary variable decl at the proper place in the tree.
|
||
|
||
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* g-calend.adb (Split_At_Locale): New routine.
|
||
(Time_Of_At_Locale): New routine.
|
||
* g-calend.ads (Split_At_Locale): New routine.
|
||
(Time_Of_At_Locale): New routine.
|
||
|
||
2012-05-15 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-except.ads: Minor reformatting.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
|
||
parameter specification is part of a quantified expression, and it
|
||
already carries a type, do not repeat the analysis to preserve
|
||
type information: a range attribute reference may have been
|
||
rewritten as a range with static bounds, and its re-analysis may
|
||
type it as Integer by default, instead of the original index type.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-osprim-mingw.adb: Minor reformatting.
|
||
|
||
2012-05-15 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
|
||
Mark this unit preelaborate.
|
||
* s-soflin.ads: Make package Preelaborate.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_eval.adb (Subtypes_Statically_Match): In Ada 2012, static
|
||
matching requires matching of static subtype predicates as well.
|
||
|
||
2012-05-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_case.adb (Analyze_Choices): If the subtype of the
|
||
expression has a non-static predicate, the case alternatives
|
||
must cover the base type.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-calend-vms.ads: Add pragma export to Split and Time_Of.
|
||
Merge comments from a-calend.ads to minimize differences.
|
||
|
||
2012-05-15 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: gnatmetric: add a small example that demonstrates
|
||
the difference between control coupling and unit coupling.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Header): Remove code to emit LE_Set.
|
||
(Gen_Finalize_Library): Replace test with
|
||
a call to __gnat_reraise_library_exception_if_any.
|
||
* s-soflin.ads (Library_Exception): Do not export.
|
||
(Library_Exception_Set): Likewise.
|
||
* a-except-2005.ads, a-except-2005.adb
|
||
(Reraise_Library_Exception_If_Any): New procedure.
|
||
|
||
2012-05-15 Geert Bosch <bosch@adacore.com>
|
||
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): out or in out
|
||
parameters can be access types as well, not just scalar types,
|
||
so relax the test to Is_Elementary_Type.
|
||
|
||
2012-05-15 Bob Duff <duff@adacore.com>
|
||
|
||
* s-atacco.ads s-atacco.adb: Replace pragma Elaborate_Body
|
||
with pragma No_Body.
|
||
(Xyz): Remove Xyz, which is apparently unnecessary.
|
||
|
||
2012-05-15 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* a-calend-vms.adb: Complete previous change.
|
||
|
||
2012-05-15 Bob Duff <duff@adacore.com>
|
||
|
||
* s-win32.ads: Minor comment fix.
|
||
* s-osprim-mingw.adb: Minor editing.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch9.adb, sem_ch9.adb, sem_ch13.adb: Minor reformatting.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* g-comlin.adb, g-comlin.ads: Minor reformatting.
|
||
|
||
2012-05-15 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* aspects.adb, aspects.adb: Reordering of the Aspect_Idi list. New
|
||
aspect Aspect_Lock_Free.
|
||
* einfo.adb, einfo.ads: New flag Uses_Lock_Free (flag 188).
|
||
(Set_Uses_Lock_Free): New routine.
|
||
(Uses_Lock_Free): New routine.
|
||
* exp_ch7.adb (Is_Simple_Protected_Type): Return False for
|
||
lock-free implementation.
|
||
* exp_ch9.adb (Allows_Lock_Free_Implementation): Moved to Sem_Ch9.
|
||
(Build_Lock_Free_Unprotected_Subprogram_Body): Protected
|
||
procedure uses __sync_synchronise. Check both Object_Size
|
||
and Value_Size.
|
||
(Expand_N_Protected_Body): Lock_Free_Active
|
||
renames Lock_Free_On.
|
||
(Expand_N_Protected_Type_Declaration):
|
||
_Object field removed for lock-free implementation.
|
||
(Install_Private_Data_Declarations): Protection object removed
|
||
for lock-free implementation.
|
||
(Make_Initialize_Protection):
|
||
Protection object initialization removed for lock-free implementation.
|
||
* rtsfind.ads: RE_Atomic_Synchronize and RE_Relaxed added.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Aspect_Lock_Free
|
||
analysis added.
|
||
* sem_ch9.adb (Allows_Lock_Free_Implementation): New routine.
|
||
(Analyze_Protected_Body): Allows_Lock_Free_Implementation call added.
|
||
(Analyze_Protected_Type_Declaration):
|
||
Allows_Lock_Free_Implementation call added.
|
||
(Analyze_Single_Protected_Declaration): Second analysis of
|
||
aspects removed.
|
||
* s-atopri.ads: Header added.
|
||
(Atomic_Synchronize): New routine.
|
||
|
||
2012-05-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch7.ads: Add comment.
|
||
|
||
2012-05-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend.adb (Day_Of_Week): The routine once again treats
|
||
all dates as historic. (Formatting_Operations.Split): All
|
||
calls to UTC_Time_Offset are now controlled through formal
|
||
parameter Is_Historic. (Formatting_Operations.Time_Of):
|
||
All calls to UTC_Time_Offset are now handled through
|
||
formal parameter Is_Historic.
|
||
(Split): Update the call to Formatting_Operations.Split.
|
||
(Time_Of): Update the call to Formatting_Operations.Time_Of.
|
||
(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
|
||
(To_Strict_Tm): Update the call to Formatting_Operations.Split.
|
||
* a-calend.ads (Split): Add new formal Is_Historic along with
|
||
comment on usage. This routine is now exported for the purposes
|
||
of GNAT.Calendar.Locale.
|
||
(Time_Of): Remove defaults. Add new
|
||
formal Is_Historic along with comment on usage. This routine is
|
||
now exported for the purposes of GNAT.Calendar.Locale.
|
||
* a-calend-vms.adb (Split): Update the call to
|
||
Formatting_Operations.Split.
|
||
(Time_Of): Update the call to Formatting_Operations.Time_Of.
|
||
* a-calend-vms.ads (Split): Add new formal Is_Historic along
|
||
with comment on usage. (Time_Of): Remove defaults. Add new
|
||
formal Is_Historic along with comment on usage.
|
||
* a-calfor.adb (Split): Update the call to
|
||
Formatting_Operations.Split.
|
||
(Time_Of): Update the call to Formatting_Operations.Time_Of.
|
||
|
||
2012-05-15 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Add_Source): Always add the source if it is
|
||
excluded, to avoid incorrect duplicate checks.
|
||
|
||
2012-05-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_aux.ads: Correct typo.
|
||
* sem_eval.adb (Compile_Time_Known_Value): Return False in Alfa
|
||
mode for a deferred constant when outside of the scope of its
|
||
full view.
|
||
|
||
2012-05-15 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-comlin.adb, g-comlin.ads (Define_Switch): Allow specifying the name
|
||
of the argument, for the automatic help message.
|
||
(Getopt): do not systematically initialize switches with string values
|
||
to the empty string, when the user has already specified a default.
|
||
|
||
2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
|
||
|
||
* gcc-interface/utils.c (DEF_ATTR_STRING): New.
|
||
|
||
2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR 53063
|
||
* gcc-interface/misc.c: Include opts.h and options.h before tm.h.
|
||
(gnat_handle_option): Call lang-specific generated function.
|
||
|
||
2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* gcc-interface/lang.opt (I): Comment out help text with no effect.
|
||
(nostdinc): Comment out help text with no effect.
|
||
|
||
2012-05-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
|
||
|
||
2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR 53063
|
||
* gcc-interface/misc.c (gnat_parse_file): Move before ...
|
||
(gnat_handle_option): ... this. Use handle_generated_option.
|
||
|
||
2012-05-10 Richard Guenther <rguenther@suse.de>
|
||
|
||
* gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
|
||
|
||
2012-05-06 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
|
||
|
||
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
|
||
case, use the padded type if the renamed object has an unconstrained
|
||
type with default discriminant.
|
||
|
||
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): Also handle invariant
|
||
conditions with only one bound.
|
||
(Raise_Error_to_gnu): Likewise. New function extracted from...
|
||
(gnat_to_gnu) <N_Raise_Constraint_Error>: ...here. Call above function
|
||
in regular mode only.
|
||
|
||
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/misc.c (gnat_post_options): Disable caret by default.
|
||
|
||
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (make_packable_type): Declare.
|
||
(make_type_from_size): Likewise.
|
||
(relate_alias_sets): Likewise.
|
||
(maybe_pad_type): Adjust.
|
||
(init_gnat_to_gnu): Delete.
|
||
(destroy_gnat_to_gnu): Likewise.
|
||
(init_dummy_type): Likewise.
|
||
(destroy_dummy_type): Likewise.
|
||
(init_gnat_utils): Declare.
|
||
(destroy_gnat_utils): Likewise.
|
||
(ceil_pow2): New inline function.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use ceil_pow2.
|
||
<object>: Pass True for the final processing of alignment and size.
|
||
<E_Subprogram_Type>: Only create the TYPE_DECL for a padded return
|
||
type if necessary.
|
||
(round_up_to_align): Delete.
|
||
(ceil_alignment): Likewise.
|
||
(relate_alias_sets): Move to...
|
||
(make_aligning_type): Likewise.
|
||
(make_packable_type): Likewise.
|
||
(maybe_pad_type): Likewise.
|
||
(make_type_from_size): Likewise.
|
||
* gcc-interface/utils.c (MAX_BITS_PER_WORD): Delete.
|
||
(struct pad_type_hash): New type.
|
||
(pad_type_hash_table): New static variable.
|
||
(init_gnat_to_gnu): Merge into...
|
||
(init_dummy_type): Likewise.
|
||
(init_gnat_utils): ...this. New function.
|
||
(destroy_gnat_to_gnu): Merge into...
|
||
(destroy_dummy_type): Likewise.
|
||
(destroy_gnat_utils): ...this. New function.
|
||
(pad_type_hash_marked_p): New function.
|
||
(pad_type_hash_hash): Likewise.
|
||
(pad_type_hash_eq): Likewise.
|
||
(relate_alias_sets): ...here.
|
||
(make_aligning_type): Likewise.
|
||
(make_packable_type): Likewise.
|
||
(maybe_pad_type): Likewise. Change same_rm_size parameter into
|
||
set_rm_size; do not set TYPE_ADA_SIZE if it is false. Do not set
|
||
null as Ada size. Do not set TYPE_VOLATILE on the padded type. If it
|
||
is complete and has constant size, canonicalize it. Bail out earlier
|
||
if a warning need not be issued.
|
||
(make_type_from_size): Likewise.
|
||
<INTEGER_TYPE>: Bail out if size is too large
|
||
(gnat_types_compatible_p): Do not deal with padded types.
|
||
(convert): Compare main variants for padded types.
|
||
* gcc-interface/trans.c (gigi): Call {init|destroy}_gnat_utils.
|
||
(gnat_to_gnu): Do not convert at the end for a call to a function that
|
||
returns an unconstrained type with default discriminant.
|
||
(Attribute_to_gnu) <Attr_Size>: Simplify handling of padded objects.
|
||
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Likewise.
|
||
Do not use the padded type if it is BLKmode and the inner type is
|
||
non-BLKmode.
|
||
|
||
2012-05-02 Pascal Obry <obry@adacore.com>
|
||
|
||
Revert
|
||
2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
|
||
* gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
|
||
Windows-specific make variable.
|
||
(WIN_SO_INSTALL_DIR [windows targets]): Likewise.
|
||
(install-gnatlib): Respect the above during installation when set,
|
||
and also install any windows import library that has been built.
|
||
(gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
|
||
build a corresponding import library.
|
||
|
||
2012-04-30 Jan Hubicka <jh@suse.cz>
|
||
|
||
* gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
|
||
comment.
|
||
(gnat_write_global_declarations): Use finalize_compilation_unit.
|
||
|
||
2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): In type annotation mode,
|
||
do not adjust the size of a tagged type if there is a representation
|
||
clause on it. Otherwise, round the adjustment up to the alignment
|
||
of the first field and use the appropriate helper routine.
|
||
(maybe_pad_type): Do not warn in type annotation mode on a tagged type.
|
||
(gnat_to_gnu_field): Do not error out under the same circumstances.
|
||
(annotate_rep): In type annotation mode, do not adjust the offset of
|
||
components of a tagged type with representation clause. Otherwise,
|
||
round the adjustment up to the alignment of the first field.
|
||
|
||
2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (finish_record_type): Force the traditional GCC
|
||
layout for bitfields on the type if it is packed or has a representation
|
||
clause and an alternate layout is available.
|
||
|
||
2012-04-30 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (mark_out_of_scope): Delete.
|
||
(destroy_gnat_to_gnu): Declare.
|
||
(destroy_dummy_type): Likewise.
|
||
* gcc-interface/decl.c (mark_out_of_scope): Delete.
|
||
* gcc-interface/utils.c (destroy_gnat_to_gnu): New function.
|
||
(destroy_dummy_type): Likewise.
|
||
* gcc-interface/trans.c (gnat_validate_uc_list): New variable.
|
||
(gigi): Call validate_unchecked_conversion on gnat_validate_uc_list
|
||
after the translation is completed. Call destroy_gnat_to_gnu and
|
||
destroy_dummy_type at the end.
|
||
(Subprogram_Body_to_gnu): Do not call mark_out_of_scope.
|
||
(gnat_to_gnu) <N_Block_Statement>: Likewise.
|
||
<N_Validate_Unchecked_Conversion>: Do not process the node, only push
|
||
it onto gnat_validate_uc_list.
|
||
(validate_unchecked_conversion): New function.
|
||
|
||
2012-04-26 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
Remove s-traceb and tracebak objects from gnat1 and gnatbind (not used).
|
||
Remove s-tasdeb and s-vaflop rules (not used).
|
||
|
||
2012-04-26 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* gcc-interface/targtyps.c (WIDEST_HARDWARE_FP_SIZE): Default to
|
||
DOUBLE_TYPE_SIZE instead of LONG_DOUBLE_TYPE_SIZE.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend.adb (Day_Of_Week): Keep the internal
|
||
usage of UTC_Time_Offset consistent with Time_Of and Split.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Do not freeze
|
||
the loop variable while preanalyzing a quantified expression.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend.adb (Split, Time_Of): Rename parameter Is_Ada_05
|
||
to Use_TZ to better illustrate its function. Update all
|
||
references to the parameter.
|
||
(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
|
||
* a-calend.ads (Split, Time_Of): Rename parameter Is_Ada_05
|
||
to Use_TZ to better illustrate its function. Update the related
|
||
comment on usage.
|
||
* a-calend-vms.adb (Split, Time_Of): Rename parameter
|
||
Is_Ada_05 to Use_TZ to better illustrate its function. Update
|
||
all references to the parameter.
|
||
(To_Ada_Time): Update the call to Formatting_Operations.Time_Of.
|
||
* a-calend-vms.ads (Split, Time_Of): Rename parameter Is_Ada_05
|
||
to Use_TZ to better illustrate its function. Update the related
|
||
comment on usage.
|
||
* a-calfor.adb (Split, Time_Of): Update the call to
|
||
Formatting_Operations.Time_Of.
|
||
* sysdep.c (__gnat_localtime_tzoff): Dereference pointer
|
||
"is_historic" and rewrite the check as a comparison. Add a
|
||
comment on flag values.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch2.adb, sem_ch8.adb: Minor reformatting.
|
||
|
||
2012-04-26 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* a-stzunb-shared.adb, gnat_ugn.texi, a-strunb-shared.adb,
|
||
a-strunb-shared.ads, uintp.adb, a-stwiun-shared.adb,
|
||
a-stwiun-shared.ads, a-cbhama.ads, vms_data.ads, a-cobove.adb,
|
||
a-convec.adb, sem_ch13.adb, a-cbhase.ads: Fix common misuses of the
|
||
word "then" where "than" should be used in English.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb (Check_Unreachable_Code): Skip past pragmas.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* s-finroo.ads: Remove with clause for
|
||
Ada.Streams. Type Root_Controlled is now abstract tagged null
|
||
record. Remove internal package Stream_Attributes. Root_Controlled
|
||
doesn't need stream attribute redeclaration and avoids the
|
||
dependency on streams.
|
||
|
||
2012-04-26 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* adaint.c (to_host_path_spec): Removed (unused).
|
||
Minor reformatting.
|
||
|
||
2012-04-26 Steve Baird <baird@adacore.com>
|
||
|
||
* gnat_rm.texi Improve description of Valid_Scalars attribute.
|
||
|
||
2012-04-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Can_Override_Operator): If the formal is a
|
||
generic type the operator cannot be overriding.
|
||
|
||
2012-04-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch8.adb (Spec_Reloaded_For_Body): Check whether the type
|
||
is declared in a package specification, and current unit is the
|
||
corresponding package body. The use clauses themselves may be
|
||
within a nested package.
|
||
|
||
2012-04-26 Bob Duff <duff@adacore.com>
|
||
|
||
* exp_ch2.adb (Param_Entity): Take into account the case where
|
||
the type of the entry parameter has a representation clause.
|
||
|
||
2012-04-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_ugn.texi: Tweak dimensionality doc.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_eval.adb: Minor reformatting.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads, sem_res.adb, sem_ch4.adb,
|
||
sem_eval.adb: Minor reformatting.
|
||
|
||
2012-04-26 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb: Minor change in error wording.
|
||
|
||
2012-04-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* gnat_ugn.texi: Documentation on dimensional analysis.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads: Remove synthesized attribute
|
||
Proper_First_Index along with its associations in various nodes.
|
||
(Proper_First_Index): Removed.
|
||
* sem_ch4.adb (Analyze_Slice): Alphabetize constants. Add new
|
||
local variable Index_Type. The index type of a string literal
|
||
subtype is that of the stored low bound.
|
||
* sem_eval (Get_Static_Length): Remove the use of Proper_First_Index.
|
||
* sem_res.adb (Resolve_Slice): Alphabetize constants. Add
|
||
new local variable Index_Type. The index type of a
|
||
string literal subtype is that of the stored low bound.
|
||
(Set_String_Literal_Subtype): Code reformatting.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Expand_Cleanup_Actions): Update the call to
|
||
Requires_Cleanup_Actions.
|
||
* exp_util.adb (Requires_Cleanup_Actions (List_Id; Boolean;
|
||
Boolean)): Rename formal parameter For_Package to Lib_Level to
|
||
better reflect its purpose. Update the related comment and all
|
||
occurrences of For_Package in the body.
|
||
(Requires_Cleanup_Actions
|
||
(Node_Id; Boolean)): Add new formal parameter Lib_Level. Add
|
||
local constant At_Lib_Level to keep monitor whether the path
|
||
taken from the top-most context to the current construct involves
|
||
package constructs. Update all calls to Requires_Cleanup_Actions.
|
||
* exp_util.ads (Requires_Cleanup_Actions): Add new formal
|
||
parameter Lib_Level and associated comment.
|
||
|
||
2012-04-26 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): If the type of the formal is
|
||
a non null access type, mark the generated subtype as having a
|
||
delayed freeze only if the designated type is not frozen yet.
|
||
|
||
2012-04-26 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-attr.adb: New package Clean with attributes
|
||
Object_Artifact_Extensions and Source_Artifact_Extensions.
|
||
* prj-nmsc.adb (Process_Clean): Process new package Clean
|
||
* prj.ads (Language_Config): New components
|
||
Clean_Object_Artifacts and Clean_Source_Artifacts.
|
||
* snames.ads-tmpl: New standard names Clean,
|
||
Object_Artifact_Extensions and Source_Artifact_Extensions.
|
||
|
||
2012-04-26 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* einfo.adb (Proper_First_Index): Moved from Sem_Util.
|
||
* einfo.ads: Add new synthesized attribute Proper_First_Index
|
||
along with usage in nodes.
|
||
(Proper_First_Index): Moved from Sem_Util.
|
||
* sem_util.ads, sem_util.adb (Proper_First_Index): Moved to Einfo.
|
||
|
||
2012-04-26 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* layout.adb (Layout_Component_List): Test for the case of a
|
||
single variant and the size of its component list was computed
|
||
as an integer literal, and use that size (which is in bits)
|
||
as is rather than converting to storage units.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_aggr.adb: Minor reformatting.
|
||
|
||
2012-04-26 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting.
|
||
|
||
2012-04-26 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_aggr.adb, exp_pakd.adb (Setup_Inline_Packed_Array_Reference,
|
||
Packed_Array_Aggregate_Handled.Get_Component_Val):
|
||
Reverse bit numbering within PAT when Reverse_Storage_Order
|
||
applies to the enclosing record.
|
||
|
||
2012-04-26 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): Improve error message for
|
||
Scalar_Storage_Order inconsistent with Bit_Order.
|
||
|
||
2012-04-25 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch9.adb: Add comments on the usage of the
|
||
lock-free data structures.
|
||
|
||
2012-04-25 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_intr.adb (Expand_Shift): Convert the left
|
||
operand and the operator when the type of the call differs from
|
||
the type of the operator.
|
||
|
||
2012-04-25 Geert Bosch <bosch@adacore.com>
|
||
|
||
* stand.ads: Minor comment fix.
|
||
|
||
2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Slice): Handle the case where the prefix
|
||
is a string literal. Retrieve the first index from the base type
|
||
when slicing a string literal.
|
||
* sem_ch12.adb (Check_Private_View): Move the initialization
|
||
of the type inside the loop to reflect the changing index.
|
||
* sem_eval.adb (Eval_Relational_Op): Retrieve the first index
|
||
from the base type when dealing with a string literal.
|
||
* sem_res.adb (Resolve_Slice): Retrieve the first index from
|
||
the base type when slicing a string literal.
|
||
* sem_util.adb (Is_Internally_Generated_Renaming): New routine.
|
||
(Is_Object_Reference): String literals may act
|
||
as object references only when they are renamed internally.
|
||
(Proper_First_Index): New routine.
|
||
* sem_util.ads (Proper_First_Index): New routine.
|
||
|
||
2012-04-25 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb, csinfo.adb, lib-writ.adb, sem_ch12.adb,
|
||
lib-xref.adb: Minor reformatting.
|
||
|
||
2012-04-25 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch9.adb: Rename Lock_Free_Sub_Type
|
||
to Lock_Free_Subprogram. Remove type Subprogram_Id.
|
||
Rename LF_Sub_Table to Lock_Free_Subprogram_Table.
|
||
(Allow_Lock_Free_Implementation): Renamed to
|
||
Allows_Lock_Free_Implementation. Update the comment on
|
||
lock-free restrictions. Code clean up and restructuring.
|
||
(Build_Lock_Free_Protected_Subprogram_Body): Update the
|
||
profile and related comments. Code clean up and restructuring.
|
||
(Build_Lock_Free_Unprotected_Subprogram_Body): Update the
|
||
profile and related comments. Code clean up and restructuring.
|
||
(Comp_Of): Removed.
|
||
|
||
2012-04-25 Vincent Celier <celier@adacore.com>
|
||
|
||
* sem_ch12.adb (Inherit_Context): Compare library units, not
|
||
names of units, when checking if a unit is already in the context.
|
||
|
||
2012-04-25 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch3.adb: Reverse_Storage_Order must be propagated to
|
||
untagged derived record types.
|
||
|
||
2012-04-25 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb: Adjust position of end label.
|
||
|
||
2012-04-22 Jan Hubicka <jh@suse.cz>
|
||
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Do not mark
|
||
needed node.
|
||
|
||
2012-04-20 Jan Hubicka <jh@suse.cz>
|
||
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Update for new
|
||
force_output placement.
|
||
|
||
2012-04-14 Jan Hubicka <jh@suse.cz>
|
||
|
||
* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
|
||
cgraph/varpool layout.
|
||
|
||
2012-04-09 Mike Stump <mikestump@comcast.net>
|
||
|
||
* a-assert.ads: Remove execute permission.
|
||
* a-chacon.ads: Likewise.
|
||
* a-coteio.ads: Likewise.
|
||
* a-envvar.ads: Likewise.
|
||
* a-exetim-mingw.ads: Likewise.
|
||
* a-fzteio.ads: Likewise.
|
||
* a-izteio.ads: Likewise.
|
||
* a-lcteio.ads: Likewise.
|
||
* a-llctio.ads: Likewise.
|
||
* a-scteio.ads: Likewise.
|
||
* a-suenco.ads: Likewise.
|
||
* a-suenst.ads: Likewise.
|
||
* a-suewst.ads: Likewise.
|
||
* a-suezst.ads: Likewise.
|
||
* a-tirsfi.ads: Likewise.
|
||
* a-wichha.ads: Likewise.
|
||
* a-zchara.ads: Likewise.
|
||
* a-zchhan.ads: Likewise.
|
||
* a-zchuni.ads: Likewise.
|
||
* a-zrstfi.ads: Likewise.
|
||
* aspects.ads: Likewise.
|
||
* g-byorma.ads: Likewise.
|
||
* g-decstr.ads: Likewise.
|
||
* g-encstr.ads: Likewise.
|
||
* g-spchge.ads: Likewise.
|
||
* g-u3spch.ads: Likewise.
|
||
* g-wispch.ads: Likewise.
|
||
* g-zspche.ads: Likewise.
|
||
* namet-sp.ads: Likewise.
|
||
* s-os_lib.ads: Likewise.
|
||
* s-regexp.ads: Likewise.
|
||
* s-regpat.ads: Likewise.
|
||
* s-string.ads: Likewise.
|
||
* s-tasloc.ads: Likewise.
|
||
* s-utf_32.ads: Likewise.
|
||
* sem_aux.ads: Likewise.
|
||
* a-assert.adb: Likewise.
|
||
* a-chacon.adb: Likewise.
|
||
* a-envvar.adb: Likewise.
|
||
* a-exetim-mingw.adb: Likewise.
|
||
* a-suenco.adb: Likewise.
|
||
* a-suenst.adb: Likewise.
|
||
* a-suewst.adb: Likewise.
|
||
* a-suezst.adb: Likewise.
|
||
* a-tirsfi.adb: Likewise.
|
||
* a-wichha.adb: Likewise.
|
||
* a-zchhan.adb: Likewise.
|
||
* a-zchuni.adb: Likewise.
|
||
* a-zrstfi.adb: Likewise.
|
||
* aspects.adb: Likewise.
|
||
* g-byorma.adb: Likewise.
|
||
* g-decstr.adb: Likewise.
|
||
* g-encstr.adb: Likewise.
|
||
* g-spchge.adb: Likewise.
|
||
* g-u3spch.adb: Likewise.
|
||
* g-wispch.adb: Likewise.
|
||
* g-zspche.adb: Likewise.
|
||
* namet-sp.adb: Likewise.
|
||
* s-except.adb: Likewise.
|
||
* s-inmaop-vxworks.adb: Likewise.
|
||
* s-os_lib.adb: Likewise.
|
||
* s-regexp.adb: Likewise.
|
||
* s-regpat.adb: Likewise.
|
||
* s-string.adb: Likewise.
|
||
* s-tasloc.adb: Likewise.
|
||
* s-utf_32.adb: Likewise.
|
||
* s-wchcon.adb: Likewise.
|
||
* sem_aux.adb: Likewise.
|
||
|
||
2012-04-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-atopri.ads: Minor reformatting.
|
||
|
||
2012-04-02 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_util.adb: Minor reformatting, minor code cleanup.
|
||
|
||
2012-04-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* lib-xref.adb (Generate_Reference): For a reference to an
|
||
operator symbol, set the sloc to point to the first character
|
||
of the operator name, and not to the initial quaote.
|
||
(Output_References): Ditto for the definition of an operator
|
||
symbol.
|
||
|
||
2012-04-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* ali.adb (Scan_Ali): Recognize Z lines. Set
|
||
Implicit_With_From_Instantiation to True in the With_Record for
|
||
Z lines.
|
||
* ali.ads (With_Record): New Boolean component
|
||
Implicit_With_From_Instantiation, defaulted to False.
|
||
* csinfo.adb: Indicate that Implicit_With_From_Instantiation
|
||
is special
|
||
* lib-writ.adb (Write_ALI): New array Implicit_With.
|
||
(Collect_Withs): Set Implicit_With for the unit is it is not Yes.
|
||
(Write_With_Lines): Write a Z line instead of a W line if
|
||
Implicit_With is Yes for the unit.
|
||
* sem_ch12.adb (Inherit_Context): Only add a unit in the context
|
||
if it is not there yet.
|
||
* sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
|
||
added.
|
||
|
||
2012-04-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* osint.adb, osint.ads (Add_Default_Search_Dirs): Add library
|
||
search dirs in file specified with option -gnateO.
|
||
|
||
2012-04-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb: Minor
|
||
reformatting.
|
||
|
||
2012-04-02 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* g-sse.ads: Add x86-solaris and x86_64-darwin to the set of
|
||
platforms where the use of this spec is supported. Add current
|
||
year to the copyright notice.
|
||
* gcc-interfaces/Makefile.in: Add g-sse.o and g-ssvety.o to
|
||
EXTRA_GNATRTL_NONTASKING_OBJS on x86 32/64 targets that support
|
||
it and where they were missing (x86-solaris, x86-freebsd,
|
||
x86_64-freebsd, and x86-darwin).
|
||
|
||
2012-04-02 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* bindgen.adb (Gen_Ada_Init): When compiling for the AAMP small
|
||
library, where we no longer suppress the Standard_Library,
|
||
generate an empty body rather than the usual generation of
|
||
assignments to imported globals, since those aren't present in
|
||
the small library.
|
||
|
||
2012-04-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads: Minor documentation fix.
|
||
|
||
2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Conditional_Expression): Add local variables
|
||
Else_Typ and Then_Typ. Add missing type conversions to the "then" and
|
||
"else" expressions when their respective types are scalar.
|
||
|
||
2012-04-02 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch9.adb: Reordering of the local subprograms. New Table
|
||
for the lock free implementation that maps each protected
|
||
subprograms with the protected component it references.
|
||
(Allow_Lock_Free_Implementation): New routine. Check if
|
||
the protected body enables the lock free implementation.
|
||
(Build_Lock_Free_Protected_Subprogram_Body): New routine.
|
||
(Build_Lock_Free_Unprotected_Subprogram_Body): New routine.
|
||
(Comp_Of): New routine.
|
||
* Makefile.rtl: Add s-atopri.o
|
||
* debug.adb: New compiler debug flag -gnatd9 for lock free
|
||
implementation.
|
||
* rtsfind.ads: RE_Atomic_Compare_Exchange_8,
|
||
RE_Atomic_Compare_Exchange_16, RE_Atomic_Compare_Exchange_32,
|
||
RE_Atomic_Compare_Exchange_64, RE_Atomic_Load_8,
|
||
RE_Atomic_Load_16, RE_Atomic_Load_32, RE_Atomic_Load_64, RE_Uint8,
|
||
RE_Uint16, RE_Uint32, RE_Uint64 added.
|
||
* s-atropi.ads: New file. Defines atomic primitives used
|
||
by the lock free implementation.
|
||
|
||
2012-04-02 Emmanuel Briot <briot@adacore.com>
|
||
|
||
* g-expect.adb (Expect_Internal): Fix leak of the input file descriptor.
|
||
|
||
2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Quantified_Expression): Reimplemented.
|
||
The expansion no longer uses the copy of the original QE created
|
||
during analysis.
|
||
* sem.adb (Analyze): Add processing for loop parameter specifications.
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Reimplemented. The
|
||
routine no longer creates a copy of the original QE. All
|
||
constituents of a QE are now preanalyzed and resolved.
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): Remove the guard which
|
||
bypasses all processing when the iteration scheme is related to a
|
||
QE. Relovate the code which analyzes loop parameter specifications
|
||
to a separate routine. (Analyze_Iterator_Specification):
|
||
Preanalyze the iterator name. This action was originally
|
||
done in Analyze_Iteration_Scheme. Update the check which
|
||
detects an iterator specification in the context of a QE.
|
||
(Analyze_Loop_Parameter_Specification): New routine. This
|
||
procedure allows for a stand-alone analysis of a loop parameter
|
||
specification without the need of a parent iteration scheme. Add
|
||
code to update the type of the loop variable when the range
|
||
generates an itype and the context is a QE.
|
||
(Pre_Analyze_Range): Renamed to Preanalyze_Range. Update all references
|
||
to the routine.
|
||
* sem_ch5.ads: Code reformatting.
|
||
(Analyze_Loop_Parameter_Specification): New routine.
|
||
* sem_ch6.adb (Fully_Conformant_Expressions): Detect a case
|
||
when establishing conformance between two QEs utilizing different
|
||
specifications.
|
||
* sem_res.adb (Proper_Current_Scope): New routine.
|
||
(Resolve): Do not resolve a QE as there is nothing to be done now.
|
||
Ignore any loop scopes generated for QEs when detecting an expression
|
||
function as the scopes are cosmetic and do not appear in the tree.
|
||
(Resolve_Quantified_Expression): Removed. All resolution of
|
||
QE constituents is now performed during analysis. This ensures
|
||
that loop variables appearing in array aggregates are properly
|
||
resolved.
|
||
|
||
2012-04-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Build_Default_Subtype): If the base type is
|
||
private and its full view is available, use the full view in
|
||
the subtype declaration.
|
||
|
||
2012-04-02 Jose Ruiz <ruiz@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add some minimal documentation about how to
|
||
use GNATtest for cross platforms.
|
||
|
||
2012-04-02 Vincent Celier <celier@adacore.com>
|
||
|
||
* opt.ads (Object_Path_File_Name): New variable.
|
||
* prj-attr.adb: New Compiler attribute Object_Path_Switches.
|
||
* prj-nmsc.adb (Process_Compiler): Recognize new attribute
|
||
Object_Path_Switches.
|
||
* snames.ads-tmpl: New standard name Object_Path_Switches.
|
||
* switch-c.adb (Scan_Front_End_Switches): Recognize new switch
|
||
-gnateO= and put its value in Opt.Object_Path_File_Name.
|
||
|
||
2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Declarations): Detect a case where
|
||
a source object was initialized by another source object,
|
||
but the expression was rewritten as a class-wide conversion
|
||
of Ada.Tags.Displace.
|
||
* exp_util.adb (Initialized_By_Ctrl_Function): Removed.
|
||
(Is_Controlled_Function_Call): New routine.
|
||
(Is_Displacement_Of_Ctrl_Function_Result): Removed.
|
||
(Is_Displacement_Of_Object_Or_Function_Result): New routine.
|
||
(Is_Source_Object): New routine.
|
||
(Requires_Cleanup_Actions): Detect a case where a source object was
|
||
initialized by another source object, but the expression was rewritten
|
||
as a class-wide conversion of Ada.Tags.Displace.
|
||
* exp_util.ads (Is_Displacement_Of_Ctrl_Function_Result): Removed.
|
||
(Is_Displacement_Of_Object_Or_Function_Result): New routine.
|
||
|
||
2012-04-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Call): A call to an expression function
|
||
does not freeze if it appears in a different scope from the
|
||
expression function itself. Such calls appear in the generated
|
||
bodies of other expression functions, or in pre/postconditions
|
||
of subsequent subprograms.
|
||
|
||
2012-04-02 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb: Code clean up.
|
||
|
||
2012-04-02 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Subprogram_Instantiation): Do not suppress
|
||
style checks, because the subprogram instance itself may contain
|
||
violations of syle rules.
|
||
* style.adb (Missing_Overriding): Check for missing overriding
|
||
indicator on a subprogram instance.
|
||
|
||
2012-04-02 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch6.adb (Last_Implicit_Declaration): New routine.
|
||
(Process_PPCs): Insert the body of _postconditions after the
|
||
last internally generated declaration. This ensures that actual
|
||
subtypes created for formal parameters are visible and properly
|
||
frozen as _postconditions may reference them.
|
||
|
||
2012-04-02 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.adb (First_Component_Or_Discriminant) Now applies to
|
||
all types with discriminants, not just records.
|
||
* exp_attr.adb (Expand_N_Attribute): Add Scalar_Values handling
|
||
for arrays, scalars and non-variant records.
|
||
* sem_attr.adb (Analyze_Attribute): Handle Valid_Scalars
|
||
* sem_attr.ads (Valid_Scalars): Update description
|
||
* sem_util.ads, sem_util.adb (No_Scalar_Parts): New function.
|
||
|
||
2012-03-31 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
Revert
|
||
2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (SS_MARK_NAME): New define.
|
||
(gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
|
||
whose name is SS_MARK_NAME.
|
||
|
||
2012-03-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb, sem_util.adb, exp_ch4.adb: Minor comment updates.
|
||
|
||
2012-03-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Add_Alfa_File): Treat possibly 2 units at the same
|
||
time, putting all scopes in the same Alfa file.
|
||
(Add_Alfa_Xrefs): Correct errors in comparison function. Correct value
|
||
of Def component.
|
||
(Collect_Alfa): Possibly pass 2 units to Add_Alfa_File.
|
||
|
||
2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Is_Secondary_Stack_BIP_Func_Call): Handle a case where
|
||
a build-in-place call appears as Prefix'Reference'Reference.
|
||
|
||
2012-03-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb: Minor refactoring to remove internal package.
|
||
|
||
2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): Preanalyze the subtype
|
||
definition of a loop when the context is a quantified expression.
|
||
|
||
2012-03-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.ads: Minor comment update.
|
||
|
||
2012-03-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb, alloc.ads, lib-xref.ads: Minor addition of
|
||
comments and refactoring.
|
||
|
||
2012-03-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* lib-xref.adb, lib-xref-alfa.adb: Minor reformatting & code
|
||
reorganization.
|
||
|
||
2012-03-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Generate_Dereference): Use Get_Code_Unit
|
||
instead of Get_Source_Unit to get file for reference.
|
||
(Traverse_Compilation_Unit): Do not add scopes for generic units.
|
||
* lib-xref.adb (Generate_Reference): Use Get_Code_Unit instead
|
||
of Get_Source_Unit to get file for reference.
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): Enable
|
||
instantiation in Alfa mode.
|
||
|
||
2012-03-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Process_Declarations): Replace
|
||
the call to Is_Null_Access_BIP_Func_Call with
|
||
Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
|
||
* exp_util.adb (Is_Null_Access_BIP_Func_Call): Removed.
|
||
(Is_Secondary_Stack_BIP_Func_Call): New routine.
|
||
(Requires_Cleanup_Actions): Replace
|
||
the call to Is_Null_Access_BIP_Func_Call with
|
||
Is_Secondary_Stack_BIP_Func_Call. Update the related comment.
|
||
* exp_util.ads (Is_Null_Access_BIP_Func_Call): Removed.
|
||
(Is_Secondary_Stack_BIP_Func_Call): New routine.
|
||
|
||
2012-03-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb, lib-xref.adb: Code clean ups.
|
||
|
||
2012-03-30 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): For the case of a
|
||
loop entity which is rewritten as a renaming
|
||
of the indexed array, explicitly mark the entity as needing
|
||
debug info so that Materialize entity will be set later by
|
||
Debug_Renaming_Declaration when the renaming is expanded.
|
||
|
||
2012-03-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_attr.ads: Update comment.
|
||
|
||
2012-03-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj.ads: New Dependency_Kind: ALI_Closure.
|
||
|
||
2012-03-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_pakd.adb: Minor reformatting.
|
||
|
||
2012-03-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* lib-xref-alfa.adb (Add_Alfa_File): Take into account possible absence
|
||
of compilation unit for unit in Sdep_Table.
|
||
|
||
2012-03-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Record_Type): For a type with reversed bit
|
||
order and reversed storage order, disable front-end relayout.
|
||
|
||
2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Copy
|
||
the TYPE_PACKED flag from the base type.
|
||
|
||
2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (SS_MARK_NAME): New define.
|
||
(gnat_to_gnu_entity) <E_Function>: Prepend leaf attribute on entities
|
||
whose name is SS_MARK_NAME.
|
||
|
||
2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (add_parallel_type): Take a TYPE instead of a
|
||
DECL and adjust. Move around.
|
||
(has_parallel_type): New predicate.
|
||
(rest_of_record_type_compilation): Return early if the type already
|
||
has a parallel type.
|
||
* gcc-interface/gigi.h (add_parallel_type): Adjust.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes.
|
||
|
||
2012-03-25 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (finish_record_type): Return early for padded
|
||
types and tidy up.
|
||
|
||
2012-03-20 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* hlo.ads, hlo.adb: Removed, no longer used.
|
||
* gcc-interface/Make-lang.in: Remove hlo.o. Update dependencies.
|
||
* gcc-interface/Makefile.in: Remove EXTRA_LIBGNAT_SRCS (temporarly)
|
||
and compute it from EXTRA_LIBGNAT_OBJS.
|
||
Clean up comments, reorder LIBGNAT_SRCS and LIBGNAT_OBJS.
|
||
|
||
2012-03-20 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_attr.ads: Update documentation.
|
||
|
||
2012-03-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb: Minor code clean up.
|
||
|
||
2012-03-19 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Scan_Make_Arg): Make sure all significant -m switches
|
||
on the command line are counted.
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_elab.adb (Generate_Elab_Warnings): Fix spec, fix attribute
|
||
reference case
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch4.adb (Check_Bad_Exp): New procedure
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb, sem_attr.adb, sem_attr.ads, snames.ads-tmpl: Add
|
||
initial framework for Valid_Scalars attribute.
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* scng.adb (Scan): Recognize incorrect preprocessor directive
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* atree.adb (Allocate_Initialize_Node): Use Num_Extension_Nodes
|
||
* atree.ads (Num_Extension_Nodes): New variable
|
||
* debug.adb: New debug flag -gnatd.N
|
||
* gnat1drv.adb (Adjust_Global_Switches): Adjust
|
||
Num_Extension_Nodes if -gnatd.N set
|
||
|
||
2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* einfo.ads: Minor update to First_Rep_Item and Has_Gigi_Rep_Item
|
||
descriptions.
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* opt.ads: Remove HLO_Active flag.
|
||
* sem.adb: Remove call of high level optimizer.
|
||
* sem.ads (New_Nodes_OK): Removed.
|
||
* sem_ch10.adb: Remove references to New_Nodes_OK.
|
||
* switch-c.adb: Remove handling of -gnatH switch.
|
||
|
||
2012-03-19 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Subprogram_Contract): Do not emit warnings
|
||
on trivially True or False postconditions and Ensures components
|
||
of contract-cases.
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix index entry for -gnatei (now we have
|
||
ug_words entry).
|
||
|
||
2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch3.adb (Get_Discriminant_Value): Instead of looking
|
||
at the immediate correcponsing discriminant, traverse a
|
||
potential chain of discriminants produced by type derivations.
|
||
(Root_Corresponding_Discriminant): Traverse a chain of inherited
|
||
discriminants and return the topmost discriminant.
|
||
|
||
2012-03-19 Bob Duff <duff@adacore.com>
|
||
|
||
* debug.adb: Minor comment change.
|
||
* gnat_ugn.texi: Update documentation for elaboration regarding
|
||
indirect calls.
|
||
|
||
2012-03-19 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): In
|
||
the case of an object of a class-wide interface type, where the
|
||
declaration is rewritten as a renaming, call Set_Debug_Info_Needed
|
||
on the renaming entity so that Materialize_Entity will be
|
||
set. Also, change existing call (for other than interface cases)
|
||
to call Set_Debug_Info_Needed rather than Set_Needs_Debug_Info
|
||
(as specified for that flag).
|
||
|
||
2012-03-19 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Allocator): Detect an allocator generated
|
||
by the build-in-place machinery where the designated type is
|
||
indefinite, but the underlying type is not. Do not emit errors
|
||
related to missing initialization in this case.
|
||
|
||
2012-03-19 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add documentation for -gnateinnn switch.
|
||
* sem_elab.adb, put_alfa.adb, lib-xref-alfa.adb: Minor reformatting.
|
||
* sem_prag.adb: Minor comment update.
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* errout.ads: Add entry for translating -gnateinn to
|
||
/MAX_INSTANTIATIONS for VMS.
|
||
* hostparm.ads (Max_Instantiations): Moved to Opt.
|
||
* opt.ads (Maximum_Instantiations): Moved from Hostparm, and renamed.
|
||
* sem_ch12.adb (Maximum_Instantiations): New name of
|
||
Max_Instantiations (Analyze_Package_Instantiation): Change error
|
||
msg for too many instantiations (mention -gnateinn switch).
|
||
* switch-c.adb (Scan_Front_End_Switches): Implement -gnateinn switch.
|
||
* switch.ads: Minor comment update.
|
||
* usage.adb (Usage): Output line for -maxeinn switch.
|
||
* vms_data.ads: Add entry for MAX_INSTANTIATIONS (-gnateinn).
|
||
|
||
2012-03-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* alfa.ads Update the decription of ALI sections.
|
||
(Alfa_File_Record): Add a component Unit_File_Name to store the
|
||
unit file name for subunits.
|
||
* get_alfa.adb, put_alfa.adb Adapt to the possible presence of
|
||
a unit file name.
|
||
* lib-xref-alfa.adb (Add_Alfa_File): For subunits, retrieve the
|
||
file name of the unit.
|
||
|
||
2012-03-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Subprogram_Contract): Do
|
||
not issue warning on missing 'Result in postcondition if all
|
||
postconditions and contract-cases already get a warning for only
|
||
referring to pre-state.
|
||
|
||
2012-03-15 Bob Duff <duff@adacore.com>
|
||
|
||
* debug.adb: Add new debug switch -gnatd.U, which disables the
|
||
support added below, in case someone trips over a cycle, and needs
|
||
to disable this.
|
||
* sem_attr.adb (Analyze_Access_Attribute):
|
||
Treat Subp'Access as a call for elaboration purposes.
|
||
* sem_elab.ads, sem_elab.adb (Check_Elab_Call): Add support
|
||
for Subp'Access.
|
||
|
||
2012-03-15 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem.ads, sem.adb (Preanalyze): New routine.
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Call to the
|
||
Preanalyze routine in Sem added. Renaming of Needs_Expansion
|
||
into Need_Preanalysis.
|
||
* sem_ch6.adb (Preanalyze): Removed.
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Add comment.
|
||
* sem_prag.adb: Minor comment additions.
|
||
* sem_attr.adb (Check_First_Last_Valid): Make sure prefix type
|
||
is frozen.
|
||
|
||
2012-03-15 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch4.adb (Analyze_Quantified_Expression):
|
||
Preanalyze the condition when the quantified expression will be
|
||
further expanded.
|
||
|
||
2012-03-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, sem_ch6.adb,
|
||
sem_warn.adb: Minor refactoring, renaming Case_Pragma in CTC_Pragma,
|
||
to refer to both Test_Case pragma and Contract_Case pragma (same
|
||
acronym as in Spec_CTC_List).
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb, sem_prag.ads, sem_util.ads, sem_attr.adb, sem_ch6.adb,
|
||
sem_warn.adb: Minor reformatting.
|
||
|
||
2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Initialized_By_Ctrl_Function): Do not loop over
|
||
selector names as the function call always appears at the top selected
|
||
component.
|
||
|
||
2012-03-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch12.adb (Validate_Access_Subprogram_Instance): keep
|
||
Mode_Conformance check for older versions of the language.
|
||
|
||
2012-03-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_ugn.texi Document the extension of option -gnatw.t.
|
||
* sem_ch3.adb (Analyze_Declaration): Check for suspicious
|
||
contracts only after contract cases have been semantically
|
||
analyzed.
|
||
* sem_ch6.adb (Check_Subprogram_Contract): Consider also Ensures
|
||
components of contract cases for detecting suspicious contracts.
|
||
|
||
2012-03-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* aspects.adb, aspects.ads (Aspect_Id): New GNAT aspect
|
||
Aspect_Contract_Case.
|
||
* gnat_rm.texi Document the new pragma/aspect
|
||
Contract_Case. Correct the documentation of the existing
|
||
pragma/aspect Test_Case with the new semantics.
|
||
* sem_attr.adb (Analyze_Attribute): Allow use of 'Result in the
|
||
Ensures component of a Contract_Case pragma.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Check new aspect
|
||
and translate it into a pragma.
|
||
(Check_Aspect_At_Freeze_Point): Take into account the new aspect.
|
||
* sem_ch3.adb, sinfo.adb, sinfo.ads Renaming of TC (for test case)
|
||
into CTC (for contract and test case).
|
||
* sem_ch6.adb (Process_PPCs): Generate Check pragmas from
|
||
Contract_Case pragmas, similarly to what is done already for
|
||
postconditions.
|
||
* sem_prag.adb, sem_prag.ads (Check_Contract_Or_Test_Case):
|
||
Renaming of Check_Test_Case.
|
||
(Analyze_Pragma, Sig_Flags): Take into account the new pragma.
|
||
* sem_util.adb, sem_util.ads Renaming to take into account the
|
||
new pragma, so that functions which applied only to Test_Case
|
||
now apply to both Test_Case and Contract_Case.
|
||
* par-prag.adb, sem_warn.adb, snames.ads-tmpl Take into account
|
||
the new pragma.
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch6.ads: Minor comment updates.
|
||
* sem_ch12.adb: Minor comment clarification.
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb: Minor reformatting.
|
||
|
||
2012-03-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch3.adb (Expand_N_Object_Declaration): When rewriting the
|
||
declaration of a class-wide object, retain the Ekind to prevent
|
||
subsequent misuse of constants.
|
||
|
||
2012-03-15 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi, gnat_ugn.texi: Minor correction of invariant
|
||
terminology.
|
||
|
||
2012-03-15 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Initialized_By_Ctrl_Function): Add code to
|
||
process the case when a function call appears in object.operation
|
||
format.
|
||
|
||
2012-03-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.ads, sem_ch6.adb (Check_Subtype_Conformant): add
|
||
Get_Inst formal, so that conformance within an instantiation
|
||
follows renamings of formals. This is similar to what is already
|
||
done in Check_Mode_conformant.
|
||
* sem_ch12.adb (Vailidate_Access_Subprogram_Instance): check that
|
||
formal and actual are subtype conformant. Previously only mode
|
||
conformance was required.
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch6.adb, einfo.ads, sem_eval.adb, sem_eval.ads,
|
||
sem_case.adb: Minor reformatting.
|
||
|
||
2012-03-15 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Add handling
|
||
of First_Valid/Last_Valid.
|
||
* sem_attr.adb (Check_First_Last_Valid): New procedure
|
||
(Analyze_Attribute): Add handling of First_Valid and Last_Valid
|
||
(Eval_Attribute): ditto.
|
||
* snames.ads-tmpl: Add entries for First_Valid and Last_Valid.
|
||
|
||
2012-03-15 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Predicated_Loop): Suppress warnings on
|
||
loop variable, for the unusual case where the range has a single
|
||
element and the loop variable has no visible assignment to it.
|
||
|
||
2012-03-15 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Quantified_Expression): Expand the
|
||
original quantified expression node.
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Properly analyze
|
||
the quantified expression and preserve the original non-analyzed
|
||
quantified expression when an expansion is needed.
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): Special treatment
|
||
for quantified expressions.
|
||
(Analyze_Iterator_Specification): Special treatment for quantified
|
||
expressions.
|
||
|
||
2012-03-15 Ed Falis <falis@adacore.com>
|
||
|
||
* s-vxwork-ppc.ads: Update FP_CONTEXT so name of former pad
|
||
field matches VxWorks headers.
|
||
|
||
2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Makefile.in (mips-sgi-irix6*): Remove.
|
||
|
||
* a-intnam-irix.ads, mlib-tgt-specific-irix.adb,
|
||
s-intman-irix.adb, s-mastop-irix.adb, s-osinte-irix.adb,
|
||
s-osinte-irix.ads, s-proinf-irix-athread.adb,
|
||
s-proinf-irix-athread.ads, s-taprop-irix.adb, s-tasinf-irix.ads,
|
||
system-irix-n32.ads, system-irix-n64.ads, system-irix-o32.ads:
|
||
Remove.
|
||
|
||
* adaint.c [__mips && __sgi]: Remove.
|
||
(__gnat_number_of_cpus) [__mips && __sgi]: Remove.
|
||
[IS_CROSS && !(__mips && __sgi)]: Remove.
|
||
* adaint.h [sgi && _LFAPI]: Remove.
|
||
* cstreams.c (__gnat_full_name) [sgi]: Remove.
|
||
* env.c (__gnat_unsetenv) [__mips && __sgi]: Remove.
|
||
(__gnat_clearenv) [__mips && __sgi]: Remove.
|
||
* errno.c (_SGI_MP_SOURCE): Remove.
|
||
* gsocket.h [sgi]: Remove.
|
||
* init.c: Remove IRIX reference.
|
||
[sgi]: Remove.
|
||
* link.c [sgi]: Remove.
|
||
* s-oscons-tmplt.c [__mips && __sgi] (IOV_MAX): Don't define.
|
||
(main) [__mips && __sgi] (MAX_tv_sec): Don't define.
|
||
(CLOCK_SGI_FAST, CLOCK_SGI_CYCLE): Remove.
|
||
* sysdep.c [sgi]: Remove.
|
||
(getc_immediate_common) [sgi]: Remove.
|
||
(__gnat_localtime_tzoff) [sgi]: Remove.
|
||
* terminals.c [__mips && __sgi] (IRIX): Don't define.
|
||
[IRIX] (USE_GETPTY): Don't define.
|
||
(allocate_pty_desc) [USE_GETPTY]: Remove.
|
||
|
||
* g-traceb.ads: Remove IRIX reference.
|
||
* g-trasym.ads: Likewise.
|
||
* memtrack.adb: Likewise.
|
||
* s-interr-sigaction.adb: Likewise.
|
||
|
||
* gnat_rm.texi (Implementation Advice): Remove SGI info.
|
||
(Implementation Defined Characteristics): Likewise.
|
||
* gnat_ugn.texi (Summary of Run-Time Configurations, mips-irix):
|
||
Remove.
|
||
(Irix-Specific Considerations): Remove.
|
||
|
||
2012-03-13 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (flag_vms_malloc64): Refine condition.
|
||
|
||
2012-03-13 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* sysdep.c: Adjust condition after removal of __osf__.
|
||
|
||
2012-03-12 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (shift_unc_components_for_thin_pointers): Kill.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Remove call
|
||
to above function.
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Adjust
|
||
handling of thin pointers.
|
||
<Attr_Descriptor_Size>: Likewise.
|
||
(gnat_to_gnu) <N_Free_Statement>: Likewise.
|
||
* gcc-interface/utils.c (shift_unc_components_for_thin_pointers): Kill.
|
||
(convert_to_fat_pointer): Adjust handling of thin pointers.
|
||
(convert) <POINTER_TYPE>: Likewise.
|
||
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
|
||
|
||
2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* gcc-interface/Makefile.in (alpha*-dec-osf*): Remove.
|
||
* a-intnam-tru64.ads, mlib-tgt-specific-tru64.adb,
|
||
s-mastop-tru64.adb, s-osinte-tru64.adb, s-osinte-tru64.ads,
|
||
s-taprop-tru64.adb, s-tasinf-tru64.ads, s-taspri-tru64.ads,
|
||
system-tru64.ads: Remove.
|
||
|
||
* adaint.c (__gnat_number_of_cpus) [__alpha__ && __osf__]:
|
||
Remove.
|
||
[IS_CROSS] [!(__alpha__ && __osf__)]: Remove.
|
||
* env.c [__alpha__ && __osf__]: Remove.
|
||
* gsocket.h (_OSF_SOURCE): Remove.
|
||
(HAVE_THREAD_SAFE_GETxxxBYyyy) [__osf__]: Remove.
|
||
* init.c [__alpha__ && __osf__]: Remove.
|
||
* link.c [__osf__]: Remove.
|
||
* s-oscons-tmplt.c [__alpha__ && __osf__]: Remove.
|
||
[__osf__ && !_SS_MAXSIZE]: Remove.
|
||
* sysdep.c [__osf__]: Remove.
|
||
* terminals.c [__alpha__ && __osf__]: Remove.
|
||
[OSF1]: Remove.
|
||
|
||
* g-traceb.ads: Remove Tru64 reference.
|
||
* g-trasym.ads: Likewise.
|
||
* gnat_ugn.texi (Linking a Mixed C++ & Ada Program): Likewise.
|
||
(Summary of Run-Time Configurations): Likewise.
|
||
* memtrack.adb: Likewise.
|
||
|
||
2012-03-12 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_param): Use flag_vms_malloc64
|
||
instead of TARGET_MALLOC64.
|
||
* gcc-interface/gigi.h (flag_vms_malloc64): Define instead
|
||
of TARGET_MALLOC64.
|
||
|
||
2012-03-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-direct.adb, comperr.adb, freeze.adb: Minor reformatting.
|
||
|
||
2012-03-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-taskin.adb (Initialize_ATCB): Set Task_Image_Len to
|
||
0 so that we never access this field uninitialized (e.g. in
|
||
Task_Primitives.Operations.Enter_Task for the environment task).
|
||
|
||
2012-03-09 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_Iterator_Loop):
|
||
Call to Expand_Iterator_Loop_Over_Array added.
|
||
(Expand_Iterator_Loop_Over_Array): New routine. Expansion of
|
||
"of" iterator loop over arrays. Multidimensional array case added.
|
||
|
||
2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* uintp.ads: Fix minor pasto in comment.
|
||
|
||
2012-03-09 Vasiliy Fofanov <fofanov@adacore.com>
|
||
|
||
* a-direct.adb: Do not strip the trailing directory separator
|
||
from path, as this is already done inside Normalize_Pathname;
|
||
doing it again produces the wrong result on Windows for the
|
||
drive's root dir (i.e. "X:\" becomes "X:").
|
||
|
||
2012-03-09 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_attr.adb, freeze.adb, sem_attr.adb, aspects.adb, aspects.ads,
|
||
sem_ch13.adb, snames.ads-tmpl (Exp_Attr.Expand_N_Attribute_Reference):
|
||
Add Attribute_Scalar_Storage_Order.
|
||
(Sem_Attr.Analyze_Attribute, Eval_Attribute): Ditto.
|
||
(Aspects): Add Aspect_Scalar_Storage_Order (Snames): Add
|
||
Name_Scalar_Storage_Order and Attribute_Scalar_Storage_Order.
|
||
(Sem_Ch13.Analyze_Attribute_Definition_Clause): Add processing
|
||
for Scalar_Storage_Order.
|
||
(Freeze): If Scalar_Storage_Order is specified, check that it
|
||
is compatible with Bit_Order.
|
||
|
||
2012-03-09 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-osinte-linux.ads, sem_util.adb, s-taprop-linux.adb, exp_ch4.adb,
|
||
a-strsup.ads, sem_ch6.adb, a-stwisu.ads, exp_ch3.adb,
|
||
a-stzsup.ads: Minor reformatting.
|
||
|
||
2012-03-09 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-ransee-vms.adb: Minor reformatting.
|
||
|
||
2012-03-09 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* comperr.adb (Delete_SCIL_Files): Fix handling of
|
||
N_Package_Renaming_Declaration and N_Generic_Package_Declaration.
|
||
|
||
2012-03-09 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch6.adb (Check_Body_To_Inline): In AAMP and VM targets
|
||
use frontend inlining at all optimization levels.
|
||
* sem_util.adb (Must_Inline): In AAMP and VM targets, given that
|
||
there is no inlining support in the backend, use also frontend
|
||
inlining when compiling with optimizations enabled.
|
||
* exp_ch6.adb (Expand_Call): Minor code reorganization.
|
||
|
||
2012-03-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_VAX_FLOATING_POINT_P): Move around.
|
||
(TYPE_UNCONSTRAINED_ARRAY): Adjust comment.
|
||
* gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Tidy
|
||
up. Add comment and use canonical predicate for thin pointers.
|
||
(gnat_to_gnu) <N_Free_Statement>: Tidy up and reorder. Add comment
|
||
and use canonical predicate for thin pointers.
|
||
* gcc-interface/utils.c (convert_to_fat_pointer): Remove superfluous
|
||
'else' and use standard name.
|
||
(convert_to_thin_pointer): Delete.
|
||
(convert) <POINTER_TYPE>: Do the difference in sizetype directly and
|
||
change obsolete idioms. Do not call above function.
|
||
(unchecked_convert): Fix formatting.
|
||
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: In the thin
|
||
pointer case, use byte_position to get the field position.
|
||
|
||
2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set flags on the
|
||
DECL node built for a type which has a non-trivial equivalent type.
|
||
|
||
2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (rest_of_type_decl_compilation): Delete.
|
||
* gcc-interface/decl.c (defer_finalize_level): Likewise.
|
||
(defer_finalize_list): Likewise.
|
||
(gnat_to_gnu_entity): Delete references to above variables and do not
|
||
call rest_of_type_decl_compilation.
|
||
(rest_of_type_decl_compilation): Delete.
|
||
(rest_of_type_decl_compilation_no_defer): Likewise.
|
||
* gcc-interface/utils.c (rest_of_record_type_compilation): Do not call
|
||
rest_of_type_decl_compilation.
|
||
(create_type_decl): Likewise.
|
||
(update_pointer_to): Likewise.
|
||
|
||
2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Don't unshare initializer.
|
||
(add_decl_expr): Mark external DECLs as used.
|
||
* gcc-interface/utils.c (convert) <CONSTRUCTOR>: Copy the vector.
|
||
|
||
2012-03-07 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-ransee-vms.adb: New file.
|
||
* gcc-interface/Makefile.in: Use s-ransee-vms.adb on VMS.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-03-07 Bob Duff <duff@adacore.com>
|
||
|
||
* rtsfind.ads: Add support for finding Super_String types.
|
||
* sem_util.ads, sem_util.adb (Is_Bounded_String): New function
|
||
to determine whether a given type is a bounded string type.
|
||
(Is_Fully_Initialized_Type): Return True for bounded
|
||
string types, to suppress bogus warnings.
|
||
* exp_ch4.adb (Expand_Composite_Equality): Special case for bounded
|
||
strings: equality composes. This allows us to remove default values in
|
||
super strings.
|
||
* a-strsup.ads, a-stwisu.ads, a-stzsup.ads: Update comments.
|
||
* exp_ch3.adb (Expand_Freeze_Record_Type): Comment.
|
||
|
||
2012-03-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_util.adb, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb: Minor
|
||
reformatting.
|
||
|
||
2012-03-07 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* gnat_ugn.texi: gnatpp: fix paragraph about sources with
|
||
preprocessor directives.
|
||
|
||
2012-03-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-osinte-linux.ads, s-taprop-linux.adb (prctl): New function.
|
||
(Enter_Task): Call prctl when relevant.
|
||
|
||
2012-03-07 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-osinte-vms.ads: pthread_mutex_setname_np: new function.
|
||
|
||
2012-03-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Process_Formals): a generic subprogram with
|
||
a formal incomplete type does not require a freeze node.
|
||
|
||
2012-03-07 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_util.ads: Minor reformatting.
|
||
|
||
2012-03-07 Geert Bosch <bosch@adacore.com>
|
||
|
||
* targparm.ads: New target parameter Atomic_Sync_Default,
|
||
defaulting to True.
|
||
* targparm.adb (Get_Target_Parameters): Add processing for
|
||
Atomic_Sync_Default.
|
||
* gnat1drv.adb (Adjust_Global_Switches): Adjust Supress_Options
|
||
based on ASD.
|
||
|
||
2012-03-07 Javier Miranda <miranda@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): If the object
|
||
declaration has an init expression then stop the analysis of the
|
||
object declaration if the expression which initializes the object
|
||
is a call to an inlined function which returns an unconstrained
|
||
and has been expanded into a procedure call.
|
||
* sem_ch5.adb (Has_Call_Using_Secondary_Stack): Add missing
|
||
support to handle selected components.
|
||
* sem_ch6.ads (Cannot_Inline): Adding parameter Is_Serious plus
|
||
documentation.
|
||
* sem_ch6.adb (Check_And_Build_Body_To_Inline): New
|
||
subprogram which implements the checks required by the
|
||
new rules for frontend inlining and builds the body to inline.
|
||
(Analyze_Subprogram_Body_Helper): Move code that
|
||
checks inlining of subprogram that has nested subprogram
|
||
to Check_And_Build_Body_To_Inline. Replace call to
|
||
Build_Body_To_Inline by call to the new subprogram
|
||
Check_And_Build_Body_To_Inline.
|
||
(Cannot_Inline): New implementation.
|
||
* sem_ch12.adb (Analyze_Package_Instantiation.Must_Inline_Subp):
|
||
New subprogram.
|
||
* sem_util.ad[sb] (Must_Inline): New subprogram.
|
||
(Returns_Unconstrained_Type): New subprogram.
|
||
* sem_res.adb (Resolve_Call): Do not create a transient scope
|
||
for inlined calls.
|
||
* inline.ads (Analyzing_Inlined_Bodies): Remove unreferenced variable.
|
||
* inline.adb (Analyze_Inlined_Bodies, Initialize): Remove setting
|
||
to false the variable Analyzing_Inlined_Bodies. Fix comments.
|
||
* exp_ch4.adb (Expand_N_Allocator): Fix handling of finalization master.
|
||
* exp_ch6.ads (List_Inlining_Info): New subprogram.
|
||
* exp_ch6.adb (Expand_Call.Do_Inline): New subprogram.
|
||
(Expand_Call.Do_Inline_Always): New subprogram.
|
||
(In_Unfrozen_Instance): Move the declaration of this subprogram.
|
||
(Expand_Inlined_Call.Reset_Dispatching_Calls): New subprogram.
|
||
(Expand_Inlined_Call): Adding new support for inlining functions
|
||
that return unconstrained types.
|
||
(List_Inlining_Info): New subprogram.
|
||
* debug.adb Document flags -gnatd.j and -gnatd.k
|
||
* gnat1drv.adb Add call to generate the new listing of inlined
|
||
calls and calls passed to the backend.
|
||
|
||
2012-03-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch5.adb, s-vaflop.adb, s-taprop-vms.adb, exp_ch6.adb,
|
||
s-gearop.adb, sem_ch6.adb, g-trasym.adb: Minor reformatting.
|
||
|
||
2012-03-07 Javier Miranda <miranda@adacore.com>
|
||
|
||
* a-ngrear.ads: Add documentation.
|
||
|
||
2012-03-07 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-taprop-vms.adb (Create_Task): set thread name.
|
||
* s-osinte-vms.ads (pthread_attr_setname_np): Declare.
|
||
|
||
2012-03-07 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* g-trasym.adb: Minor reformatting.
|
||
|
||
2012-03-07 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-ngrear.ads: Minor addition of ??? comment.
|
||
|
||
2012-03-07 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Apply_Accessibility_Check): Call
|
||
Remove_Side_Effects in the build-in-place case, to ensure that
|
||
we capture the call and don't end up with two calls.
|
||
|
||
2012-03-07 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch6.adb (Expand_Inlined_Call): Skip inlining of functions
|
||
that return unconstrained types using an extended return statement
|
||
since the support for inlining these functions has not been yet
|
||
added to the frontend.
|
||
* s-vaflop.adb, s-vaflop-vms-alpha.adb: Code reorganization.
|
||
* a-ngrear.ads: Replace all the Inline_Always pragmas by pragma
|
||
Inline.
|
||
* a-ngrear.adb (Eigenvalues, Transpose): Restructured to use
|
||
extended return statement.
|
||
* a-strsup.adb, a-stzsup.adb, a-stwisu.adb (Concat, Super_Slice,
|
||
Super_To_String): Restructured to use extended return statement.
|
||
* a-chahan.adb (To_Basic, To_Lower, To_Upper): Restructured to
|
||
use extended return statement.
|
||
* s-gearop.adb (Diagonal, Matrix_Elementwise_Operation,
|
||
Vector_Elementwise_Operation, Matrix_Elementwise_Operation,
|
||
Matrix_Matrix_Scalar_Elementwise_Operation,
|
||
Vector_Vector_Elementwise_Operation,
|
||
Vector_Vector_Scalar_Elementwise_Operation,
|
||
Matrix_Scalar_Elementwise_Operation,
|
||
Vector_Scalar_Elementwise_Operation,
|
||
Scalar_Matrix_Elementwise_Operation,
|
||
Scalar_Vector_Elementwise_Operation, Matrix_Matrix_Product,
|
||
Matrix_Vector_Product, Outer_Product, Unit_Matrix, Unit_Vector,
|
||
Vector_Matrix_Product): Restructured to use extended return
|
||
statement.
|
||
|
||
2012-03-07 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch5.adb (One_Bound): Minor reformatting.
|
||
|
||
2012-03-07 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* s-osinte-vms-ia64.adb, s-osinte-vms-ia64.ads, s-osinte-vms.adb,
|
||
s-osinte-vms.ads, gcc-interface/Makefile.in: Merge s-osinte-vms and
|
||
s-osinte-vms-ia64.
|
||
|
||
2012-03-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* checks.adb (Apply_Predicate_Check): Do not generate a predicate
|
||
check is the context is an internally generated type-specific
|
||
function.
|
||
* sem_ch6.adb (Process_PPCs); the formals of internally generated
|
||
type-specific functions do not get assertion checks.
|
||
|
||
2012-03-07 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor renaming of title.
|
||
* gnat_ugn.texi: Minor correction.
|
||
|
||
2012-03-07 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_N_Quantified_Expression): Minor
|
||
reformating.
|
||
* sem_ch4.adb (Analyze_Quantified_Expression): Creation and
|
||
analysis of the iteration scheme added in all cases.
|
||
* sem_ch5.adb (Analyze_Iteration_Scheme): Minor reformating.
|
||
(Analyze_Iterator_Specification): Minor reformating.
|
||
* sem_res.adb (Resolve_Quantified_Expression): Resolution of
|
||
the condition added in all cases.
|
||
|
||
2012-03-07 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads: Add flag Reverse_Storage_Order.
|
||
|
||
2012-03-07 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi, gnat_ugn.texi: Rewording of GNAT UG and GNAT RM to
|
||
account for Ada 2012 assertions, and their pragma counterparts in GNAT.
|
||
|
||
2012-03-07 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_attr.adb, sem_attr.adb: Minor reformatting.
|
||
|
||
2012-03-07 Bob Duff <duff@adacore.com>
|
||
|
||
* hostparm.ads (Max_Instantiations): Increase parameter.
|
||
|
||
2012-03-07 Bob Duff <duff@adacore.com>
|
||
|
||
* par-prag.adb: Minor code rearrangement.
|
||
|
||
2012-03-07 Bob Duff <duff@adacore.com>
|
||
|
||
* a-strsup.ads, a-stwisu.ads, a-stzsup.ads (Super_String):
|
||
Remove default initial value for Data. It is no longer needed
|
||
because "=" now composes properly for untagged records. This
|
||
default has caused efficiency problems.
|
||
|
||
2012-03-07 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): If the actual is a selected
|
||
component of an anonymous access type, whose prefix is a variable,
|
||
treat the variable as if it may be modified by the call, to
|
||
suppress spurious warnings that a variable might be declared as
|
||
a constant.
|
||
|
||
2012-03-07 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.adb, einfo.ads: Remove unused entity flags.
|
||
|
||
2012-03-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnat_ugn.texi (Inline Assembler): Fix swapping of Input and
|
||
Output operands throughout.
|
||
|
||
2012-03-07 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Earlier): When two nodes come from the same
|
||
generic instantiation, compare their locations. Otherwise always
|
||
use the top level locations of the nodes.
|
||
|
||
2012-03-07 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* einfo.ads, sem_prag.adb: Minor reformatting.
|
||
|
||
2012-03-05 Jason Merrill <jason@redhat.com>
|
||
|
||
* gcc-interface/Make-lang.in (doc/gnat_ugn.texi): Build xgnatugn
|
||
before using it.
|
||
|
||
2012-03-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Library_Version): Bump to 4.8.
|
||
|
||
2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* init.c (__gnat_adjust_context_for_raise): Also check
|
||
"orq $0x0,(%esp)" for x32.
|
||
|
||
* link.c (__gnat_default_libgcc_subdir): Set to libx32 for x32.
|
||
|
||
* gcc-interface/Makefile.in (arch): Set to x32 if MULTISUBDIR
|
||
is /x32 and add support for x32.
|
||
|
||
2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (components_to_record): Add ARTIFICIAL parameter
|
||
and set TYPE_ARTIFICIAL according to it. Adjust recursive call.
|
||
(gnat_to_gnu_entity) <E_Record_Type>: Adjust call to above function.
|
||
* gcc-interface/utils.c (rest_of_record_type_compilation): Do not
|
||
invoke rest_of_type_decl_compilation on the parallel type, if any.
|
||
|
||
2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/utils.c (gnat_write_global_declarations): Make sure the
|
||
dummy global built for global types is preserved.
|
||
|
||
2012-02-27 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
|
||
E_Array_Type]: Reuse dummy fat type for gnu_ptr_template and
|
||
gnu_template_type.
|
||
|
||
2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Add checking.
|
||
(TYPE_BY_REFERENCE_P): New flag.
|
||
(TYPE_IS_BY_REFERENCE_P): New macro.
|
||
(TYPE_DUMMY_P): Add checking and remove VOID_TYPE.
|
||
(TYPE_IS_DUMMY_P): Adjust for above change.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity): Use TYPE_BY_REFERENCE_P
|
||
and TYPE_IS_BY_REFERENCE_P instead of TREE_ADDRESSABLE.
|
||
(gnat_to_gnu_param): Likewise.
|
||
(maybe_pad_type): Likewise.
|
||
(make_type_from_size): Use TYPE_IS_PACKED_ARRAY_TYPE_P.
|
||
* gcc-interface/misc.c (must_pass_by_ref): Use TYPE_IS_BY_REFERENCE_P
|
||
instead of TREE_ADDRESSABLE.
|
||
* gcc-interface/trans.c (finalize_nrv): Likewise.
|
||
(call_to_gnu): Likewise. Do not create a temporary for return values
|
||
with by-reference type here.
|
||
(gnat_to_gnu): Test TYPE_IS_DUMMY_P instead of TYPE_DUMMY_P.
|
||
(gnat_gimplify_expr) <ADDR_EXPR>: Don't do anything for non-constant
|
||
CONSTRUCTORs and calls.
|
||
* gcc-interface/utils.c (make_dummy_type): Get the equivalent type of
|
||
the underlying type and use it throughout. Use TYPE_IS_BY_REFERENCE_P
|
||
instead of TREE_ADDRESSABLE.
|
||
* gcc-interface/utils2.c (build_cond_expr): Deal with by-reference
|
||
types explicitly.
|
||
|
||
2012-02-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Revert previous
|
||
change that creates a special VAR_DECL for debugging purposes. For an
|
||
aliased object with an unconstrained nominal subtype, make its type a
|
||
thin reference to the underlying object.
|
||
* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Deal with
|
||
expressions built for the initialization of above objects.
|
||
|
||
2012-02-24 Dave Korn <dave.korn.cygwin@gmail.com>
|
||
|
||
* gcc-interface/Makefile.in (WIN_SO_PREFIX [windows targets]): New
|
||
Windows-specific make variable.
|
||
(WIN_SO_INSTALL_DIR [windows targets]): Likewise.
|
||
(install-gnatlib): Respect the above during installation when set,
|
||
and also install any windows import library that has been built.
|
||
(gnatlib-shared-win32): Use WIN_SO_PREFIX to name output DLL and also
|
||
build a corresponding import library.
|
||
|
||
2012-02-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_util.adb, make.adb, sem_dim.adb, sem_ch4.adb, exp_disp.adb: Minor
|
||
reformatting.
|
||
|
||
2012-02-22 Geert Bosch <bosch@adacore.com>
|
||
|
||
* g-bytswa-x86.adb, g-bytswa.adb, gcc-interface/Makefile.in: Remove
|
||
x86-specific version of byteswap and use GCC builtins instead.
|
||
|
||
2012-02-22 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) [E_String_Type,
|
||
E_Array_Type]: Translate component ealier.
|
||
|
||
2012-02-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* par-ch3.adb (P_Signed_Integer_Type_Definition): Specialize
|
||
error message for 'Range.
|
||
|
||
2012-02-22 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-taprop-mingw.adb (Finalize_TCB): Do not wait on thread handle as
|
||
this is our own thread.
|
||
|
||
2012-02-22 Sergey Rybin <rybin@adacore.com frybin>
|
||
|
||
* tree_io.ads: Update ASIS_Version_Number because of the changes
|
||
in Snames.
|
||
|
||
2012-02-22 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Create_Finalizer): Suppress elaboration checks on
|
||
stack-related finalizers.
|
||
|
||
2012-02-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Expression_Function): If the construct
|
||
is a completion, indicate that its formals are the formals of
|
||
a completion, and as such do not get a cross- reference entry.
|
||
(Analyze_Subprogram_Specification): Do not generate a definition
|
||
for the entity of an expression function, because it may be a
|
||
completion. Definition will be generated if needed when analyzing
|
||
the generated subprogram declaration.
|
||
|
||
2012-02-22 Vincent Celier <celier@adacore.com>
|
||
|
||
* make.adb (Check): When checking if an object file is in the
|
||
correct object directory, get the unit name from a previous call
|
||
to Check_Source_Info_In_ALI.
|
||
* makeutl.adb (Check_Source_Info_In_ALI): Return the name of
|
||
the unit when everything is OK, otherwise return No_Name.
|
||
* makeutl.ads (Check_Source_Info_In_ALI): Return Name_Id instead
|
||
of Boolean
|
||
|
||
2012-02-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch4.adb (Find_Equality_Types, Try_One_Interp): In an
|
||
instance, the operator is visible if an operand is of some
|
||
numeric type which is not in use or directly visible, and the
|
||
other operand is a numeric literal.
|
||
|
||
2012-02-22 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* init.c: Minor code clean up.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-02-22 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* gnatlink.adb (Gnatlink): Use -gnatcC in CodePeer_Node,
|
||
otherwise GCC will generate an object file.
|
||
|
||
2012-02-22 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Correct typo related to "**" in Source_Dirs.
|
||
|
||
2012-02-22 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_PPC_In_Decl_Part): Clean up generation of
|
||
error message text.
|
||
|
||
2012-02-22 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* rtsfind.adb (Get_Unit_Name): Ada_Numerics_Child and
|
||
System_Dim_Child cases added.
|
||
* rtsfind.ads: Ada_Numerics,
|
||
Ada_Numerics_Generic_Elementary_Functions, System_Dim,
|
||
System_Dim_Float_IO and System_Dim_Integer_IO added to the list
|
||
of RTU_Id. Ada_Numerics_Child and System_Dim_Child added as
|
||
new RTU_Id subtypes.
|
||
* sem_dim.adb (Is_Dim_IO_Package_Entity): Use of
|
||
Rtsfind to verify the package entity is located either
|
||
in System.Dim.Integer_IO or in System.Dim.Float_IO.
|
||
(Is_Dim_IO_Package_Instantiation): Minor
|
||
changes. (Is_Elementary_Function_Call): Removed.
|
||
(Is_Elementary_Function_Entity): New routine.
|
||
(Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity call added.
|
||
* snames.ads-tmpl: Name_Dim and Name_Generic_Elementary_Functions
|
||
removed.
|
||
|
||
2012-02-22 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2012-02-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Find_Type_Name): When analyzing a private type
|
||
declaration that is the completion of a tagged incomplete type, do
|
||
not associate the class-wide type already created with the private
|
||
type to prevent order-of-elaboration issues in the back-end.
|
||
* exp_disp.adb (Find_Specific_Type): Find specific type of
|
||
a class-wide type, and handle the case of an incomplete type
|
||
coming either from a limited_with clause or from an incomplete
|
||
type declaration. Used when expanding a dispatchin call and
|
||
generating tag checks (minor refactoring).
|
||
|
||
2012-02-22 Robert Dewar <dewar@adacore.com>
|
||
|
||
* exp_ch5.adb: Add comment.
|
||
* sem_ch12.adb, exp_ch6.adb: minor reformatting
|
||
|
||
2012-02-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* freeze.adb (Freeze_Entity): Do not perform type layout within
|
||
a generic unit.
|
||
|
||
2012-02-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* init.c (__gnat_error_handler) [Linux]: Map SIGBUS to
|
||
Storage_Error.
|
||
|
||
2012-02-22 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch5.adb (Expand_N_Assignment_Statement): Reject an
|
||
assignment to a classwide type whose type is limited, as
|
||
can happen in an instantiation in programs that run afoul or
|
||
AI05-0087.
|
||
|
||
2012-02-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch6.adb (Legal_Copy): If layout is not
|
||
determined in the front-end, do not emit error message when
|
||
by-reference actual is potentially unaligned.
|
||
* gcc-interface/decl.c (gnat_to_gnu_field): Better error message for
|
||
illegal representation clause on tagged or aliased component, or on
|
||
by-reference type with forced alignment.
|
||
|
||
2012-02-17 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Ensure FORCE_DEBUG_ADAFLAGS variables is
|
||
propagated by gnatlib-sjlj and gnatlib-zcx targets.
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
|
||
2012-02-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Package_Instantiation): For an
|
||
instantiation in an RCI library unit, omit the instance body
|
||
if the RCI library unit is the instance itself (E.2.3(18)),
|
||
but include the body if the instantiation is within the RCI
|
||
declaration (12.3(12)).
|
||
|
||
2012-02-17 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_PPC_In_Decl_Part): Pre'Class and
|
||
Post'Class aspects can only be specified for a primitive operation
|
||
of a tagged type.
|
||
|
||
2012-02-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor shuffling.
|
||
|
||
2012-02-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* aspects.adb: Expression functions can carry pre/postconditions.
|
||
* par-ch6.adb (P_Subprogram): look for optional pre/postconditions
|
||
in an expression function.
|
||
* sem_prag (Check_Precondition_Postcondition): legal on expression
|
||
functions.
|
||
|
||
2012-02-17 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cidlli.adb, a-cihama.adb, a-cimutr.adb,
|
||
* a-ciorma.adb, a-cohama.adb, a-coinve.adb, a-comutr.adb,
|
||
* a-convec.adb, a-coorma.adb (Adjust): New routine.
|
||
(Constant_Reference): Increment Busy and Lock counters.
|
||
(Reference): Increase Busy and Lock counters.
|
||
(Finalize): New routine.
|
||
* a-cihase.adb, a-ciorse.adb, a-cohase.adb, a-coorse.adb:
|
||
(Adjust): New routine. (Constant_Reference): Increment Busy
|
||
and Lock counters.
|
||
(Finalize): New routine.
|
||
* a-cdlili.ads, a-cidlli.ads, a-cihama.ads, a-cihase.ads,
|
||
* a-cimutr.ads, a-ciorma.ads, a-ciorse.ads, a-cohama.ads,
|
||
* a-cohase.ads, a-coinve.ads, a-comutr.ads, a-convec.ads,
|
||
* a-coorma.ads, a-coorse: Controlled component added to the
|
||
reference types.
|
||
|
||
2012-02-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* restrict.adb (Check_Restriction): Add special handling for
|
||
No_Obsolescent_Features.
|
||
|
||
2012-02-17 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_util.adb (Find_Finalize_Address): When dealing with an
|
||
internally built full view for a type with unknown discriminants,
|
||
use the original record type.
|
||
|
||
2012-02-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_dim.adb: Minor reformatting.
|
||
|
||
2012-02-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor rewording.
|
||
|
||
2012-02-17 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_aggr.adb: Minor reformatting.
|
||
|
||
2012-02-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Update doc for -gnatw.m to include 2*x case.
|
||
|
||
2012-02-17 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Is_Dim_IO_Package_Entity): New routine.
|
||
(Is_Dim_IO_Package_Instantiation): Is_Dim_IO_Package_Entity
|
||
call added.
|
||
(Is_Procedure_Put_Call): Is_Dim_IO_Package_Entity
|
||
call added.
|
||
* s-dim.ads: Make package Pure.
|
||
|
||
2012-02-17 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* prj-nmsc.adb: Minor reformatting.
|
||
|
||
2012-02-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Update GNAT RM with a separate chapter on restrictions.
|
||
|
||
2012-02-17 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_ugn.texi: Fix typos.
|
||
|
||
2012-02-17 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb: prj-nmsc.adb (Check_Aggregated): Check that an
|
||
aggregate is not Externally_Built.
|
||
|
||
2012-02-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_aggr.adb (Resolve_Record_Aggregate): If a composite
|
||
component has a box association, copy the default value using
|
||
the current scope as the scope of internal types, to prevent
|
||
scoping anomalies in gigi.
|
||
|
||
2012-02-17 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_dim.adb, sem_dim.ads, s-tasren.adb, prj.adb, prj.ads, freeze.adb,
|
||
sem_res.adb, exp_ch4.adb, sinput.adb, sinput.ads, exp_aggr.adb,
|
||
exp_intr.adb, s-os_lib.adb: Minor reformatting.
|
||
|
||
2012-02-17 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Is_Non_Overriding_Operation): Add warning if the
|
||
old operation is abstract, the relevant type is not abstract,
|
||
and the new subprogram fails to override.
|
||
|
||
2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Identifier_to_gnu): Move block retrieving the
|
||
type of the result to the end and execute it for a deferred constant of
|
||
a discriminated type whose full view can be elaborated statically.
|
||
|
||
2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Qualified_Expression>: If the
|
||
type is tagged, mark it as used for debugging purposes.
|
||
<N_Allocator>: Likewise for a qualified expression.
|
||
|
||
2012-02-15 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (call_to_gnu): Create the temporary for the
|
||
return value in the by-reference return type case if this isn't the
|
||
expression of an object declaration. Tidy up.
|
||
|
||
2012-02-09 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/Makefile.in: Remove .sym rule (not used).
|
||
Remove adamsg.o object (requires native message compiler).
|
||
* init.c (CMA$_EXIT_THREAD, MTH$_FLOOVEMAT, SS$_INTDIV): Define as a
|
||
macro instead of as extern int.
|
||
(ADA$_ALREADY_OPEN, ADA$_CONSTRAINT_ERRO, ADA$_DATA_ERROR)
|
||
(ADA$_DEVICE_ERROR, ADA$_END_ERROR, ADA$_FAC_MODE_MISMAT)
|
||
(ADA$_IOSYSFAILED, ADA$_KEYSIZERR, ADA$_KEY_MISMATCH)
|
||
(ADA$_LAYOUT_ERROR, ADA$_LINEXCMRS, ADA$_MAXLINEXC)
|
||
(ADA$_MODE_ERROR, ADA$_MRN_MISMATCH, ADA$_MRS_MISMATCH)
|
||
(ADA$_NAME_ERROR, ADA$_NOT_OPEN, ADA$_ORG_MISMATCH)
|
||
(ADA$_PROGRAM_ERROR, ADA$_RAT_MISMATCH, ADA$_RFM_MISMATCH)
|
||
(ADA$_STAOVF, ADA$_STATUS_ERROR, ADA$_STORAGE_ERROR)
|
||
(ADA$_UNSUPPORTED, ADA$_USE_ERROR): Likewise.
|
||
(struct cond_except): Field cond is now an unsigned int.
|
||
(dec_ada_cond_except_table): Adjust.
|
||
(cond_except_table): Likewise.
|
||
(cond_resignal_table): Likewise.
|
||
(__gnat_default_resignal_p): Fix style.
|
||
|
||
2012-02-08 Vincent Celier <celier@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Add g-byorma.o to gnatbind objects
|
||
(g-buorma is now imported by sinput).
|
||
Update dependencies.
|
||
* scn.adb (Initialize_Scanner): Call Check_For_BOM
|
||
* sinput-p.adb (Source_File_Is_Subunit): Call Check_For_BOM
|
||
* sinput.adb: New procedure Check_For_BOM
|
||
* sinput.ads: New procedure Check_For_BOM
|
||
|
||
2012-02-08 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* impunit.adb: Dimension package names updated
|
||
* Makefile.rtl: s-dim added
|
||
* sem_dim.adb (Is_Procedure_Put_Call): minor changes
|
||
(Is_Dim_IO_Package_Instantiation): minor changes
|
||
* sem_dim.ads: minor changes in comments
|
||
* snames.ads-tmpl: Name_Dim added Name_Dim_Float_IO and
|
||
Name_Dim_Integer_IO removed
|
||
* s-dim.ads: New package. Define the dimension terminology.
|
||
* s-diflio.adb, s-diinio.adb, s-dimkio.ads, s-dimmks.ads,
|
||
* s-dmotpr.ads: Package names updated.
|
||
* s-diflio.ads, s-diinio.ads: Documentation added and package
|
||
names updated.
|
||
|
||
2012-02-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* gcc-interface/utils2.c (build_call_alloc_dealloc_proc): Revise test
|
||
for storage pools to test for an underlying record type rather than
|
||
testing Is_Tagged_Type, so that simple storage pools will be handled
|
||
the same as normal Ada storage pools.
|
||
|
||
2012-02-08 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_rm.texi: Minor reshuffling to place restriction at
|
||
appropriate place.
|
||
|
||
2012-02-08 Bob Duff <duff@adacore.com>
|
||
|
||
* warnsw.adb (Set_Warning_Switch): Set Warn_On_Suspicious_Modulus_Value
|
||
False for '-gnatwA', to suppress these warnings.
|
||
|
||
2012-02-08 Vincent Celier <celier@adacore.com>
|
||
|
||
* sinput-p.adb (Source_File_Is_Subunit): Check for BOM before
|
||
starting to scan, so that UTF8 encoding is taken into account.
|
||
|
||
2012-02-08 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* s-tasren.adb, s-tasren.ads (Internal_Complete_Rendezvous): New
|
||
function.
|
||
(Complete_Rendezvous): Now call Internal_Complete_Rendezvous.
|
||
(Exceptional_Complete_Rendezvous): Mark No_Return.
|
||
|
||
2012-02-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* exp_aggr.adb (Compile_Time_Known_Composite_Value):
|
||
New predicate to compute whether a composite value can be
|
||
evaluated at compile time.
|
||
(Component_Not_OK_For_Backend): Use Compile_Time_Known_Value for all
|
||
expressions of elementary type and Compile_Time_Known_Composite_Value
|
||
for all other expressions.
|
||
(Expand_Record_Aggregate): Convert to assignments in the case
|
||
of a type with mutable components if the aggregate cannot be
|
||
built statically.
|
||
|
||
2012-02-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* aspects.ads (type Aspect_Id): Add Simple_Storage_Pool_Type.
|
||
(Impl_Defined_Aspects): Add association for
|
||
Aspect_Simple_Storage_Pool_Type.
|
||
(Aspect_Names): Add
|
||
association for Aspect_Simple_Storage_Pool_Type.
|
||
* aspects.adb:
|
||
(Canonical_Aspect): Add association for Simple_Storage_Pool_Type.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference):
|
||
Change name to Name_Simple_Storage_Pool_Type.
|
||
* exp_ch4.adb (Expand_N_Allocator): Change
|
||
name to Name_Simple_Storage_Pool_Type.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): Change name to
|
||
Name_Simple_Storage_Pool_Type. * freeze.adb (Freeze_Entity):
|
||
Change names to Name_Simple_Storage_Pool_Type. * par-prag.adb:
|
||
Change names to Name_Simple_Storage_Pool_Type. * sem_attr.adb:
|
||
(Analyze_Attribute): Change name to Name_Simple_Storage_Pool_Type.
|
||
* sem_ch13.adb (Analyze_Attribute_Definition_Clause):
|
||
Change name to Name_Simple_Storage_Pool_Type.
|
||
* sem_prag.adb:
|
||
(Analyze_Pragma): Change name to Name_Simple_Storage_Pool_Type.
|
||
(Sig_Flags): Change name to Name_Simple_Storage_Pool_Type.
|
||
* sem_res.adb (Resolve_Allocator): Change name to
|
||
Name_Simple_Storage_Pool_Type. * snames.ads-tmpl:
|
||
(Name_Simple_Storage_Pool_Type): New name constant.
|
||
(type Pragma_Id): Change name to Name_Simple_Storage_Pool_Type and
|
||
move to main pragma section because it no longer matches the
|
||
attribute name.
|
||
* snames.adb-tmpl (Get_Pragma_Id): Remove test for
|
||
Name_Simple_Storage_Pool.
|
||
(Is_Pragma_Name): Remove test for Name_Simple_Storage_Pool.
|
||
|
||
2012-02-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_ugn.texi: Add some clarification to -gnatwA and -gnatws.
|
||
|
||
2012-02-08 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.adb (Compute_All_Imported_Projects): Use new
|
||
For_Project_And_Aggregated_Context to ensure proper context is
|
||
used for encapsulated aggregate libraries.
|
||
* prj-proc.adb (Recursive_Process): Call
|
||
Process_Aggregated_Projects earlier to ensure that all dependent
|
||
projects are set with the proper encapsulated status.
|
||
|
||
2012-02-08 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-os_lib.adb (Normalize_Arguments): Properly escape last \ in null
|
||
terminated string.
|
||
|
||
2012-02-08 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads, prj.adb (For_Project_And_Aggregated_Context): New
|
||
generic routine with a context parameter.
|
||
|
||
2012-02-08 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-coinve.adb, sem_util.adb, sem_ch8.adb, a-cobove.adb,
|
||
a-convec.adb: Minor reformatting and code reorganization.
|
||
|
||
2012-02-08 Steve Baird <baird@adacore.com>
|
||
|
||
* sem_cat.adb (In_Preelaborated_Unit): A child
|
||
unit instantiation does not inherit preelaboration requirements
|
||
from its parent.
|
||
|
||
2012-02-08 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* aspects.ads (type Aspect_Id): Add Aspect_Simple_Storage_Pool.
|
||
(Impl_Defined_Aspects): Add entry for Aspect_Simple_Storage_Pool.
|
||
(Aspect_Argument): Add Name entry for Aspect_Simple_Storage_Pool.
|
||
(Aspect_Names): Add entry for Aspect_Simple_Storage_Pool.
|
||
* aspects.adb (Canonical_Aspect): Add entry for
|
||
Aspect_Simple_Storage_Pool.
|
||
* exp_attr.adb (Expand_N_Attribute_Reference): Handle case of
|
||
Attribute_Simple_Storage_Pool in the same way as Storage_Pool
|
||
(add conversion, analyze/resolve). For the Storage_Size attribute,
|
||
for the simple pool case, locate and use the simple pool type's
|
||
Storage_Size function (if any), otherwise evaluate to zero.
|
||
* exp_ch4.adb (Expand_N_Allocator): In the case of an allocator
|
||
for an access type with an associated simple storage pool,
|
||
locate and use the pool type's Allocate.
|
||
* exp_intr.adb (Expand_Unc_Deallocation): In the case where the
|
||
access type has a simple storage pool, locate the pool type's
|
||
Deallocate procedure (if present) and use it as the procedure
|
||
to call on the Free operation.
|
||
* freeze.adb (Freeze_Entity): In the case of a full type for
|
||
a private type defined with pragma Simple_Storage_Pool, check
|
||
that the full type is also appropriate for the pragma. For
|
||
a simple storage pool type, validate that the operations
|
||
Allocate, Deallocate (if present), and Storage_Size
|
||
(if present) are defined with appropriate expected profiles.
|
||
(Validate_Simple_Pool_Op_Formal): New procedure
|
||
(Validate_Simple_Pool_Operation): New procedure Add with and
|
||
use of Rtsfind.
|
||
* par-prag.adb: Add Pragma_Simple_Storage_Pool to case statement
|
||
(no action required).
|
||
* sem_attr.adb (Analyze_Attribute): For the case of the
|
||
Storage_Pool attribute, give a warning if the prefix type has an
|
||
associated simple storage pool, and rewrite the attribute as a
|
||
raise of Program_Error. In the case of the Simple_Storage_Pool
|
||
attribute, check that the prefix type has an associated simple
|
||
storage pool, and set the attribute type to the pool's type.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Add
|
||
Aspect_Simple_Storage_Pool case choice.
|
||
(Analyze_Attribute_Definition_Clause): Add
|
||
Aspect_Simple_Storage_Pool to case for Ignore_Rep_Clauses
|
||
(no action). Add handling for Simple_Storage_Pool attribute
|
||
definition, requiring the name to denote a simple storage pool
|
||
object.
|
||
(Check_Aspect_At_Freeze_Point): For a simple storage pool
|
||
aspect, set the type to that of the name specified for the aspect.
|
||
* sem_prag.adb (Analyze_Pragma): Add handling for pragma
|
||
Simple_Storage_Pool, requiring that it applies to a library-level
|
||
type declared in a package declaration that is a limited private
|
||
or limited record type.
|
||
* sem_res.adb (Resolve_Allocator): Flag an attempt to call a
|
||
build-in-place function in an allocator for an access type with
|
||
a simple storage pool as unsupported.
|
||
* snames.ads-tmpl: Add Name_Simple_Storage_Pool.
|
||
(type Attribute_Id): Add Attribute_Simple_Storage_Pool.
|
||
(type Pragma_Id): Add Pragma_Simple_Storage_Pool.
|
||
* snames.adb-tmpl (Get_Pragma_Id): Handle case of
|
||
Name_Simple_Storage_Pool.
|
||
(Is_Pragma_Name): Return True for Name_Simple_Storage_Pool.
|
||
|
||
2012-02-08 Cyrille Comar <comar@adacore.com>
|
||
|
||
* projects.texi: Clarify doc for interfaces.
|
||
|
||
2012-02-07 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in (GCC_LINKERFLAGS): New variable.
|
||
(GCC_LINK): Use it.
|
||
|
||
2012-02-01 Tristan Gingold <gingold@adacore.com>
|
||
|
||
* gcc-interface/trans.c (Loop_Statement_to_gnu): Use sizetype
|
||
instead of size_type_node.
|
||
|
||
2012-01-30 Nicolas Roche <roche@adacore.com>
|
||
|
||
* gcc-interface/Make-lang.in: Update dependencies.
|
||
* gcc-interface/Makefile.in: Use system-vxworks-system-ppc-mils.ads
|
||
when needed.
|
||
Remove Linker_Options -crtbe when building sjlj run-time.
|
||
|
||
2012-01-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem.adb (Analyze): Call Analyze_Mod for N_Op_Mod mode.
|
||
* sem_ch3.adb (Modular_Type_Declaration): Warn on mod value of
|
||
form 2 * small-literal.
|
||
* sem_ch4.adb (Analyze_Mod): New procedure (warn on suspicious
|
||
mod value).
|
||
* sem_ch4.ads (Analyze_Mod): New procedure.
|
||
|
||
2012-01-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb: sem_ch6.adb (Analyze_Expression_Function): Copy
|
||
types and return expression when building spec for implicit
|
||
body, to preserve global references that may be present in an
|
||
instantiation.
|
||
|
||
2012-01-30 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-convec.adb, a-coinve.adb, a-cobove.adb (Sort,
|
||
Reverse_Elements): Check for cursor tampering.
|
||
|
||
2012-01-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_util.adb (Is_Fully_Initialized_Type): In Ada 2012, a
|
||
type with aspect Default_Value or Default_Component_Value is
|
||
fully initialized, and use of variables of such types do not
|
||
generate warnings.
|
||
|
||
2012-01-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
PR ada/15846
|
||
* sem_ch8.adb (Analyze_Subprogram_Renaming):
|
||
Handle self-renaming when the renamed entity is referenced using
|
||
its expanded name.
|
||
|
||
2012-01-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* projects.texi: Add documentation for attribute Interfaces.
|
||
|
||
2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Finalizer_Call): Set loc again.
|
||
* exp_ch11.adb (Expand_At_End_Handler): Do not provide a source
|
||
location for the wrapped call to the original AT_END routine
|
||
and the subsequent return statement.
|
||
|
||
2012-01-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* s-rannum.adb: Minor reformatting.
|
||
|
||
2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend-vms.adb, a-calend.adb: Increment the number of leap seconds
|
||
to 25 and add the hard time value for 2012-06-30.
|
||
|
||
2012-01-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-strhas.ads, einfo.adb, einfo.ads, exp_ch7.adb, exp_ch9.adb,
|
||
freeze.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-proc.adb, s-llflex.ads,
|
||
s-ransee.adb, s-ransee.ads, sem_ch13.adb, sem_dim.adb, sem_prag.adb:
|
||
Minor reformatting/code reorganization.
|
||
|
||
2012-01-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-rannum.adb, s-ransee.adb, s-ransee.ads (Get_Seed): Return
|
||
Unsigned_64 rather than Duration.
|
||
(System.Random_Numbers.Reset): Use full value of seed
|
||
(do not truncate sub-second bits).
|
||
|
||
2012-01-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_cat.adb, sem_ch12.adb: Minor reformatting.
|
||
|
||
2012-01-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor correction of GNAT UG, to take into
|
||
account changes to -gnatwa and more recent warnings.
|
||
|
||
2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch7.adb (Build_Finalizer_Call): Do not provide a source
|
||
location when creating a call to a finalizer.
|
||
* exp_ch11.adb (Expand_Exception_Handlers): Do not provide
|
||
a source location for the first actual of Save_Occurrence for
|
||
consistency sake.
|
||
|
||
2012-01-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* einfo.ads, einfo,adb: New attribute on scalar types:
|
||
Default_Aspect_Value New attribute on array types:
|
||
Default_Aspect_Component_Value Move attribute Related_Array_Object
|
||
to a different position to accomodate new aspect attributes.
|
||
* freeze.adb (Freeze_Entity): Use new attributes to retrieve value
|
||
of defaults set with an aspect specification, rather than using
|
||
the list of aspects attached to the type, to prevent issues with
|
||
partial views.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): For aspects
|
||
Default_Value and Default_Component _Value, store corresponding
|
||
expression in type entity.
|
||
(Check_Aspect_At_End_Of_Declaration): If the default aspects
|
||
are declared on the full view, use the full view to resolve the
|
||
correseponding expression.
|
||
* exp_ch3.adb (Init_Component): Use attribute
|
||
Default_Aspect_Component_Value to perform default initialization,
|
||
rather than relying on the rep item list for the type.
|
||
(Get_Simple_Init_Val): Ditto.
|
||
|
||
2012-01-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-strhas.ads: Document risk of collision attack.
|
||
|
||
2012-01-30 Yannick Moy <moy@adacore.com>
|
||
|
||
* gnat_ugn.texi: Minor update wrt warning switches.
|
||
|
||
2012-01-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Interfaces): Report an error when a
|
||
unit from Library_Interface is not a unit of the project.
|
||
|
||
2012-01-30 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_prag.adb (Make_Aspect_For_PPC_In_Gen_Sub_Decl): Parent
|
||
links fixed inside PPC pragmas.
|
||
* sem_ch12.adb: Move call to Make_Aspect_For_PPC_In_Gen_Sub_Decl.
|
||
|
||
2012-01-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* s-ransee.ads: Minor reformatting.
|
||
|
||
2012-01-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads, prj.adb (For_Each_Source): Add support for skipping
|
||
sources coming from an encapsulated library.
|
||
|
||
2012-01-30 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch3.adb (Process-Full_View): fix typo.
|
||
* sem_ch13.adb (Aalyze_Aspect_Specifications): if predicates
|
||
appear on a private type and the full view is available, ensure
|
||
existence of freeze node for full view.
|
||
(Build_Predicate_Function): Attach predicate function to both
|
||
views of a private type.
|
||
|
||
2012-01-30 Vincent Celier <celier@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Interfaces): Compute the Lib_Interface_ALIs
|
||
for the project if either attribute Library_Interface or
|
||
Interfaces is declared.
|
||
(Check_Stand_Alone_Library): Use Lib_Interface_ALIs computed in
|
||
Check_Interfaces.
|
||
|
||
2012-01-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-proc.adb (Recursive_Process): Set From_Encapsulated_Lib
|
||
boolean value to true in the process list created by this routine.
|
||
* prj.ads (Project_List_Element): New field From_Encapsulated_Lib.
|
||
Continued work for KA06-021.
|
||
* prj.adb (Compute_All_Imported_Projects): Set
|
||
From_Encapsulated_Lib boolean flag.
|
||
|
||
2012-01-30 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Minor
|
||
code clean up.
|
||
* s-diflio.ads: Minor change.
|
||
|
||
2012-01-30 Javier Miranda <miranda@adacore.com>
|
||
|
||
* exp_ch9.adb (Build_Dispatching_Requeue): Add missing call
|
||
to Get_Entry_Index. Required to generate code which provides
|
||
the correct value of Entry_Index in the target entry.
|
||
|
||
2012-01-30 Nicolas Roche <roche@adacore.com>
|
||
|
||
* system-vxworks-ppc.ads: Add pragma Linker_Options -crtbe to
|
||
fix issue with zcx on VxWorks5.
|
||
|
||
2012-01-30 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.ads, prj.adb (For_Every_Project_Imported): Remove
|
||
In_Aggregate_Lib.
|
||
(For_Every_Project_Imported_Context): New generic routine with
|
||
a context parameter.
|
||
* prj-nmsc.adb: Revert to use For_Every_Project_Imported Avoid
|
||
distributed complexity.
|
||
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb: Ditto.
|
||
|
||
2012-01-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* exp_aggr.adb (Expand_Record_Aggregate): After creating the
|
||
_parent aggregate for an extension aggregate, check whether it
|
||
requires delayed (top-down) expansion.
|
||
|
||
2012-01-30 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_dim.adb (Expand_Put_Call_With_Dimension_Symbol): Rewritten.
|
||
* snames.ads-tmpl: Name_Item and Name_Symbols added.
|
||
* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads: Rename
|
||
and change the position of parameter Symbols in every Put routine.
|
||
* s-dimmks.ads: Convert long float type Mks_Type into long
|
||
long float.
|
||
* s-llflex.ads: Modifications in comments.
|
||
|
||
2012-01-30 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Earlier): Do not use the
|
||
top level source locations of the two input nodes.
|
||
|
||
2012-01-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* einfo.ads, sem_prag.adb, sem_attr.adb, aspects.ads,
|
||
sem_cat.adb, sem_aggr.adb, exp_aggr.adb: Minor reformatting.
|
||
|
||
2012-01-30 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
|
||
|
||
2012-01-30 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* sigtramp-ppcvxw.c (CFI_COMMON_REGS): Add rule for r1 back +
|
||
comments.
|
||
|
||
2012-01-30 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* gnat_rm.texi, sem_dist.adb, sem_dist.ads, einfo.ads, sem_prag.adb,
|
||
sem_ch12.adb, sem_attr.adb, aspects.adb, aspects.ads, par-prag.adb,
|
||
sem_cat.adb, snames.ads-tmpl (Sem_Dist.Is_Valid_Remote_Object_Type):
|
||
New subprogram (extracted from
|
||
Sem_Cat.Validate_Remote_Access_Object_Type_Declaration).
|
||
(Einfo.Is_Remote_Types): Now applies to generic types. Update
|
||
documentation accordingly.
|
||
(Sem_Ch12.Analyze_Associations): A RACW type is acceptable as
|
||
actual for a formal type to which a pragma Remote_Access_Type
|
||
applies.
|
||
(Aspects, Par.Prag, Sem_Prag): Support for new pramga/aspect
|
||
Remote_Access_Type.
|
||
(Sem_Attr.Analyze_Attribute, case Stub_Type): Attribute can
|
||
be applied to a generic type if pragma Remote_Access_Type
|
||
applies, in which case the type of the attribute is
|
||
System.Partition_Interface.RACW_Stub_Type.
|
||
|
||
2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not set
|
||
an alignment on fields of the RETURN type built for the CICO mechanism.
|
||
|
||
2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (gnat_to_gnu): Avoid making a SAVE_EXPR for
|
||
a call to a function that returns an unconstrained type with default
|
||
discriminant. Similarly, avoid doing the conversion to the nominal
|
||
result type in this case.
|
||
|
||
2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/ada-tree.h (DECL_ALIASED_P): New flag.
|
||
* gcc-interface/decl.c (is_variable_size): Rename to...
|
||
(type_has_variable_size): ...this.
|
||
(adjust_packed): Adjust to above renaming.
|
||
(gnat_to_gnu_field): Set DECL_ALIASED_P on the field.
|
||
(field_is_artificial): New predicate.
|
||
(field_is_aliased): Likewise.
|
||
(field_has_self_size): Likewise.
|
||
(field_has_variable_size): Likewise.
|
||
(components_to_record): Record information for the final layout during
|
||
the first pass on fields.
|
||
If there is an aliased field placed after a field whose length depends
|
||
on discriminants, put all the fields of the latter sort, last.
|
||
|
||
2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (get_minimal_subprog_decl): Declare.
|
||
* gcc-interface/decl.c (get_minimal_subprog_decl): New function.
|
||
* gcc-interface/trans.c (Attribute_to_gnu): Use it for the prefix of an
|
||
Access-like attribute in a dispatch table if the subprogram is public.
|
||
|
||
2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/gigi.h (create_label_decl): Adjust.
|
||
* gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter
|
||
and invoke gnat_pushdecl on it. Remove obsolete settings.
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to
|
||
create_label_decl.
|
||
* gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the
|
||
label for debugging purposes.
|
||
|
||
2012-01-27 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an aliased
|
||
object with an unconstrained nominal subtype and if optimization isn't
|
||
enabled, create a special VAR_DECL for debugging purposes.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.ads, sem_prag.adb: Minor reformatting.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Check for
|
||
language defined aspect applied to renaming or formal type
|
||
declaration (not permitted)
|
||
|
||
2012-01-23 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Vet): Replaced
|
||
comment with pragma Assert.
|
||
|
||
2012-01-23 Vincent Pucci <pucci@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Call
|
||
to Make_Aspect_For_PPC_In_Gen_Sub_Decl added in ASIS mode.
|
||
* sem_prag.adb, sem_prag.ads (Make_Aspect_For_PPC_In_Gen_Sub_Decl): New
|
||
routine. In ASIS mode, convert any PPC pragmas into aspects in generic
|
||
subprogram declaration in order to enable the analysis of PPC boolean
|
||
expressions.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch3.adb (Analyze_Object_Declaration): Properly
|
||
handle Current_Value for volatile variables (also propagate
|
||
Treat_As_Volatile from type to object).
|
||
|
||
2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Install_Body): Detect the case
|
||
where the enclosing context is a package with a stub body that
|
||
has already been replaced by the actual body. In such cases,
|
||
the freeze node for the enclosing context must be inserted after
|
||
the real body.
|
||
|
||
2012-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_prag.adb (Analyze_Pragma, case Debug): Freeze the called
|
||
subprogram before expanding the pragma into an if-statement with
|
||
a block, to ensure that when the subprogram is null its body is
|
||
properly generated before expansion.
|
||
|
||
2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* sem_ch12.adb (Analyze_Associations): Alphabetize local variables and
|
||
constants. Rename Actual_Types to Actuals_To_Freeze. Rename Next_Formal
|
||
to Saved_Formal.
|
||
Freeze all eligible subprograms which appear as actuals in
|
||
the instantiation.
|
||
(Has_Fully_Defined_Profile): New routine.
|
||
(Renames_Standard_Subprogram): New routine.
|
||
(Earlier): Add local variable N. Comment update. Do not use source
|
||
locations when trying to determine whether one node precedes another.
|
||
|
||
2012-01-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_ch4.adb (Expand_Concatenate): In the case
|
||
where the result of a concatentation can be null, set the to
|
||
result have both the low and high bounds of the right operand (not
|
||
just the high bound, as was the case prior to this fix). Also,
|
||
fix the saved high bound setting (Last_Opnd_High_Bound) in the
|
||
empty string literal case (should have been low bound minus one,
|
||
rather than plus one).
|
||
|
||
2012-01-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* scos.ads, put_scos.adb, get_scos.adb (Get_SCOs, Put_SCOs): Do not
|
||
omit statement SCOs for disabled pragmas.
|
||
|
||
2012-01-23 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cohase.ads, a-cihase.ads, a-cbhase.ads, a-coorse.ads,
|
||
a-ciorse.ads, a-cborse.ads, a-cohama.ads, a-cihama.ads, a-cbhama.ads,
|
||
a-coorma.ads, a-ciorma.ads, a-cborma.ads, a-cdlili.ads, a-cidlli.ads,
|
||
a-cbdlli.ads, a-convec.ads, a-coinve.ads, a-cobove.ads (Cursor'Read,
|
||
Cursor'Write): Declare in private part.
|
||
(Reference_Type'Read, Reference_Type'Write): Ditto.
|
||
(Constant_Reference_Type'Read, Constant_Reference_Type'Write): Ditto.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-catizo.ads, a-calend.adb, a-calend.ads, par-ch13.adb: Minor
|
||
reformatting.
|
||
|
||
2012-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_ch6.adb (Analyze_Subprogram_Declaration): Do not set the
|
||
Corresponding_Body on a defaulted null formal subprogram.
|
||
* sem_ch12.adb (Check_Formal_Package_Instance): No check needed
|
||
on a defaulted formal subprogram that is a null procedure.
|
||
|
||
2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* exp_ch9.adb: Update the comments involving pragma Implemented.
|
||
* sem_ch3.adb (Check_Pragma_Implemented (Entity_Id)): Add local
|
||
constant Subp_Alias and local variable Impl_Subp. Properly
|
||
handle aliases of synchronized wrappers. Code cleanup.
|
||
(Check_Pragma_Implemented (Entity_Id; Entity_Id)): Add
|
||
Name_Optional as part of the condition.
|
||
* sem_prag.adb (Analyze_Pragma): Add "Optional" as one of the
|
||
valid choices of implementation kind.
|
||
(Check_Arg_Is_One_Of): New routine.
|
||
* snames.ads-tmlp: Add Name_Optional.
|
||
|
||
2012-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* par-ch13.adb: Better error recovery in illegal aspect
|
||
specification.
|
||
|
||
2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend.adb: Add with clause for Interfaces.C. Add constant
|
||
Unix_Max.
|
||
(Day_Of_Week): Call the internal UTC_Time_Offset.
|
||
(Split): Call the internal UTC_Time_Offset.
|
||
(Time_Of): Call the internal UTC_Time_Offset.
|
||
(Time_Zone_Operations.UTC_Time_Offset): Call internal UTC_Time_Offset.
|
||
(UTC_Time_Offset): New library-level routine.
|
||
* a-calend.ads (UTC_Time_Offset): Remove parameter
|
||
Is_Historic. Update related comment on usage.
|
||
* a-catizo.adb (UTC_Time_Offset): Removed.
|
||
(UTC_Time_Offset (Time)): Call Time_Zone_Operations.UTC_Time_Offset.
|
||
* a-caltizo.ads (UTC_Time_Offset): Removed.
|
||
(UTC_Time_Offset (Time)): Add back the default expression of parameter
|
||
Date.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sprint.ads, sprint.adb (Sprint_Node_List): Add New_Lines parameter
|
||
(pg,po,ps): Make sure each entry starts on new line.
|
||
|
||
2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* a-calend.ads, a-calend.adb: Define types int and int_Pointer. Update
|
||
the parameter profile of procedure localtime_tzoff and its associated
|
||
comment.
|
||
(Day_Of_Week): Do not treat the input date as historical
|
||
with respect to time zones.
|
||
(Split): Do not treat the input
|
||
date as historical with respect to time zones. (Time_Of): Do
|
||
not treat the input constituents as forming a historical date
|
||
with respect to time zones.
|
||
(UTC_Time_Offset): Add new formal
|
||
parameter Is_Historic. Add local variable Flag. Update the call
|
||
to localtime_tzoff.
|
||
* a-catizo.ads, a-catizo.adb (UTC_Time_Offset): New routine.
|
||
(UTC_Time_Offset (Time)): Update the call to
|
||
Time_Zone_Operations.UTC_Time_Offset.
|
||
* sysdep.c (__gnat_localtime_tzoff): Update parameter
|
||
profile. Split the processing of offsets on Windows into two - one
|
||
part of historic time stamps and the other for the current time.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-calend.adb: Minor reformatting.
|
||
|
||
2012-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* exp_ch9.adb, sem_ch9.adb: Handle array of access to synchronized
|
||
interface in requeue statement.
|
||
|
||
2012-01-23 Cyrille Comar <comar@adacore.com>
|
||
|
||
* projects.texi: Remove references to main units and replace
|
||
with references to main programs to be coherent with the
|
||
documentation.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* s-utf_32.adb: Minor reformatting.
|
||
|
||
2012-01-23 Vincent Celier <celier@adacore.com>
|
||
|
||
* snames.ads-tmpl: Minor comment addition Indicate that
|
||
Name_Library_Encapsulated_Options is only used in gprbuild.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch10.adb (Analyze_Subunit): Properly save/restore cunit
|
||
restrictions.
|
||
|
||
2012-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* snames.ads-tmpl: Add Name_Synchronization.
|
||
* aspects.ads, aspects.adb: Add Aspect_Synchronization to
|
||
enumeration type and related maps.
|
||
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle Aspect
|
||
Synchronization, build corresponding pragma Implemented.
|
||
* sem_util.adb (Implementation_Kind): Handle both explicit and
|
||
implicit pragma_argument association to retrieve the given
|
||
synchronization mode.
|
||
|
||
2012-01-23 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_ch10.adb, errout.adb: Minor reformatting.
|
||
|
||
2012-01-23 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sem_res.adb (Resolve_Actuals): An actual in a call to an
|
||
Ada 2012 Reference function does not lead to a dangerous order
|
||
dependence.
|
||
|
||
2012-01-23 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* exp_util.adb (Is_Iterated_Container): Test
|
||
Is_Entity_Name when searching for calls to the default iterator,
|
||
to avoid blowing up on indirect calls which have an explicit
|
||
dereference as the call name.
|
||
|
||
2012-01-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* errout.adb (Set_Msg_Node): For an N_Expanded_Name, output
|
||
the complete expanded name, rather than just its Selector_Name.
|
||
|
||
2012-01-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* a-textio.adb (Put): Rewrite one-parameter Character version to
|
||
just call the two-parameter one with Current_Out.
|
||
|
||
2012-01-23 Hristian Kirtchev <kirtchev@adacore.com>
|
||
|
||
* freeze.adb (Check_Current_Instance): Issue an
|
||
error when the prefix of 'Unchecked_Access or 'Access does not
|
||
denote a legal aliased view of a type.
|
||
(Freeze_Record_Type): Do not halt the processing of record components
|
||
once the Has_Controlled_Component is set as this bypasses the remaining
|
||
checks.
|
||
(Is_Aliased_View_Of_Type): New routine.
|
||
|
||
2012-01-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* errout.ads, freeze.adb: Minor reformatting.
|
||
|
||
2012-01-23 Thomas Quinot <quinot@adacore.com>
|
||
|
||
* sem_ch10.adb, sem_prag.adb: Remove redundant apostrophes in error
|
||
messages.
|
||
|
||
2012-01-23 Olivier Hainque <hainque@adacore.com>
|
||
|
||
* adadecode.c (__gnat_decode): Deal with empty input early,
|
||
preventing potential erroneous memory access later on.
|
||
|
||
2012-01-21 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR ada/46192
|
||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the case of a
|
||
renaming, preserve the volatileness through the indirection, if any.
|
||
|
||
2012-01-14 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
* gcc-interface/Makefile.in (OSCONS_EXTRACT): Add
|
||
$(GNATLIBCFLAGS).
|
||
|
||
2012-01-10 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj-nmsc.adb (Check_Library_Attributes):
|
||
Kill check for object/source directories for aggregate libraries.
|
||
|
||
2012-01-10 Matthew Heaney <heaney@adacore.com>
|
||
|
||
* a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
|
||
a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
|
||
a-cborma.adb, a-cborma.ads, a-cidlli.adb, a-cidlli.ads, a-cimutr.adb,
|
||
a-cimutr.ads, a-cihase.adb, a-cihase.ads, a-cohama.adb, a-cohama.ads,
|
||
a-coorse.adb, a-coorse.ads, a-cbhama.adb, a-cbhama.ads, a-cborse.adb,
|
||
a-cborse.ads, a-comutr.adb, a-comutr.ads, a-ciorma.adb, a-cobove.adb,
|
||
a-ciorma.ads, a-cobove.ads, a-convec.adb, a-convec.ads, a-cohase.adb,
|
||
a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbmutr.adb, a-cbmutr.ads,
|
||
a-cbhase.adb, a-cbhase.ads (Reference, Constant_Reference): Declare
|
||
container parameter as aliased in/in out.
|
||
Code clean ups.
|
||
|
||
2012-01-10 Bob Duff <duff@adacore.com>
|
||
|
||
* s-os_lib.ads: Improve comment.
|
||
|
||
2012-01-10 Geert Bosch <bosch@adacore.com>
|
||
|
||
* s-gearop.adb (Forward_Eliminate): Avoid improper aliasing
|
||
for complex Scalar.
|
||
|
||
2012-01-10 Bob Duff <duff@adacore.com>
|
||
|
||
* sem_intr.adb (Check_Shift): Use RM_Size instead of Esize, when
|
||
checking that the 'Size is correct. If the type is "mod 2**12",
|
||
for example, it's illegal, but Esize is the 'Object_Size, which
|
||
will be something like 16 or 32, so the error ('Size = 12) was
|
||
not detected.
|
||
* gnat_rm.texi: Improve documentation of shift
|
||
and rotate intrinsics.
|
||
|
||
2012-01-10 Pascal Obry <obry@adacore.com>
|
||
|
||
* prj.adb (For_Every_Project_Imported): Fix
|
||
implementation to make sure we return each project only once
|
||
for aggragte libraries. It is fine to return a project twice for
|
||
aggregate projects, this was the case as a Project_Id is different
|
||
in each project tree. The new implementation use a table based on
|
||
the project name to ensure proper detection of duplicate project
|
||
in aggregate library. A new context is then created to continue
|
||
retrurning duplicate project for aggregate libraries.
|
||
|
||
2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (call_to_gnu): Create the temporary for the
|
||
return value in the variable-sized return type case if the target is
|
||
an array with fixed size. However, do not create it if this is the
|
||
expression of an object declaration.
|
||
|
||
2012-01-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gcc-interface/trans.c (addressable_p) <COMPONENT_REF>: Fix thinko.
|
||
|
||
2012-01-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* a-wichha.ads, a-wichun.ads, a-zchhan.ads, a-zchuni.ads,
|
||
s-utf_32.ads: Add pragma Pure
|
||
* s-utf_32.adb: Suppress warnings on non-static constants (now
|
||
that this is Pure).
|
||
|
||
2012-01-06 Bob Duff <duff@adacore.com>
|
||
|
||
* s-rpc.ads (Read, Write): Add overriding indicators.
|
||
|
||
2012-01-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* gnat_rm.texi: Add documentation for conventions
|
||
Ada_Pass_By_Copy and Ada_Pass_By_Reference.
|
||
|
||
2012-01-06 Gary Dismukes <dismukes@adacore.com>
|
||
|
||
* a-tienio.adb (Put): Add exception message on
|
||
raise statements. Remove unneeded blocks and object declarations.
|
||
|
||
2012-01-06 Robert Dewar <dewar@adacore.com>
|
||
|
||
* sem_prag.adb: Minor reformatting.
|
||
|
||
2012-01-06 Ed Schonberg <schonberg@adacore.com>
|
||
|
||
* sinfo.ads, sinfo.adb (Has_Prefixed_Call): New flag to indicate
|
||
that a selected component within a generic unit has been resolved
|
||
as a prefixed call with local references.
|
||
* sem_ch3.adb (Is_Visible_Component): In an instance body a selected
|
||
component is always visible.
|
||
* sem_ch4.adb (Analyze_Selected_Component): If the node is a
|
||
prefixed call in an instance, do not look for visible components
|
||
of the type.
|
||
* sem_ch12.adb (Reset_Entity): If a selected component has resolved
|
||
to a prefixed call, mark the node accordingly when prefix and
|
||
selector are local references.
|
||
|
||
2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* gnatvsn.ads (Current_Year): Bump to 2012.
|
||
|
||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|