2013-07-05 Claire Dross <dross@adacore.com>
* a-cfdlli.ads: Add preconditions when needed.
2013-07-05 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb: Minor reformatting.
2013-07-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Access_Subprogram_Declaration): Use
Generate_Reference_To_Formals.
* lib-xref.adb (Generate_Reference_To_Formals): In the case of
access to subprograms, the formals are found in the designated
subprogram type.
2013-07-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document that comments can be lined up with
previous non-blank line.
* styleg.adb (Check_Comment): Allow indentation to match previous
non-blank line (Same_Column_As_Previous_Line): New function
From-SVN: r200705
2013-07-05 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Add missing documentation for pragmas.
* sem_ch8.adb: Minor reformatting.
* gnat_ugn.texi: Document that -gnatR and -gnatD cannot be used
together.
2013-07-05 Yannick Moy <moy@adacore.com>
* sem_ch12.ads, sem_ch12.adb (Need_Subprogram_Instance_Body): Force
instance of subprogram body in SPARK mode, by testing Expander_Active
(set in SPARK mode) instead of Full_Expander_Active (not set in
SPARK mode).
* sem_ch8.adb: Minor reformatting.
From-SVN: r200700
2013-04-25 Robert Dewar <dewar@adacore.com>
* sem_util.adb: Minor reformatting.
2013-04-25 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Expand_N_Aggregate): Use special circuitry to
fold strings with a single others choice only if there are no
expressions in the aggregate.
2013-04-25 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Update doc on Ada 2012 default mode.
From-SVN: r198293
2013-04-24 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Document new gnatls switch -aPdir.
* gnatcmd.adb: Pass switch -aP<dir> to gnatls.
* gnatls.adb (Scan_Ls_Arg): Process new switch -aP<dir>. Issue
a warning for unknown switches.
(Usage): Add line for new switch -aPdir.
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb, sem_util.ads (Is_Limited_Class_Wide_Type): Return true
if the type comes from a limited view, so that task attributes can be
constructed.
2013-04-24 Yannick Moy <moy@adacore.com>
* checks.adb (Apply_Float_Conversion_Check): Do not apply checks if
full expansion is not enabled.
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Create_Extra_Formals): In Ada 2012, create extra
formals if the type does not yet have a completion, and thus
has no underlying view.
2013-04-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications): Treat an aspect
specification for Address as a reference, to suppress warnings
on entities that may be read by an external device.
From-SVN: r198237
* gnat_ugn.texi: Add description of '--help' and '--version'
options for ASIS tools: gnatelim, gnatmetric, gnatstub, gnatpp.
2013-04-24 Arnaud Charlet <charlet@adacore.com>
* gnat_rm.texi: Minor syntax fix.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute): Add extra comments on
what and why is being analyzed. Remove the decoration of renamings as
this simply falls out of the general analysis mechanism.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_res.adb (Explain_Redundancy): New routine.
(Resolve_Equality_Op): Place the error concerning a redundant
comparison to True at the "=". Try to explain the nature of the
redundant True.
2013-04-24 Javier Miranda <miranda@adacore.com>
* checks.adb, exp_ch6.adb (Install_Null_Excluding_Check): No
check in interface thunks since it is performed at the caller
side.
(Expand_Simple_Function_Return): No accessibility check
needed in thunks since the check is done by the target routine.
2013-04-24 Vincent Celier <celier@adacore.com>
* xref_lib.adb (Add_Entity): Use the canonical file names
so that source file names with capital letters are found on
platforms where file names are case insensitive.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* par-ch4.adb (P_Name): Continue to parse the name extension when the
construct is attribute Loop_Entry. Do not convert the attribute
reference into an indexed component when there is at least one
expression / range following 'Loop_Entry.
2013-04-24 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch6.adb (Contains_Enabled_Pragmas): New routine.
(Process_PPCs): Generate procedure _Postconditions
only when the context has invariants or predicates or enabled
aspects/pragmas.
From-SVN: r198236
2013-04-22 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi, prj-nmsc.adb, projects.texi: Add check for
Library_Standalone and Library_Kind.
2013-04-22 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Actuals): If the call is to an
inherited operation and the actual is a by-reference type with
predicates, add predicate call to post-call actions.
* sem_util.adb (Is_Inherited_Operation_For_Type): Fix coding
error: a type declaration has a defining identifier, not an Etype.
* sem_res.adb: Restore code removed because of above error.
2013-04-22 Doug Rupp <rupp@adacore.com>
* init.c (__gnat_handle_vms_condition): Also match C$_SIGINT.
From-SVN: r198130
2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications):
Insert the corresponding pragma for aspect Abstract_State at
the top of the visible declarations of the related package.
Previously this was only done when the package is a compilation
unit.
2013-04-12 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Further menu clean ups.
* sem_prag.adb, opt.ads: Minor reformatting.
* sem_util.ads: Minor comment fix.
From-SVN: r197901
2013-04-12 Bob Duff <duff@adacore.com>
* par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
stack entry.
2013-04-12 Robert Dewar <dewar@adacore.com>
* switch-c.adb: Minor fix to wording of error message for
-gnatet/eT.
2013-04-12 Robert Dewar <dewar@adacore.com>
* impunit.adb: Add s-multip and s-mudido to list of impl defined
system units.
* gnat_rm.texi: Add documentation for
System.Multiprocessors[.Dispatching_Domains].
2013-04-12 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Completion of menu cleanups.
2013-04-12 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
in Relaxed_RM_Semantics.
2013-04-12 Arnaud Charlet <charlet@adacore.com>
* set_targ.adb (elab code): Add support for non gcc back-ends
where save_argv is null.
From-SVN: r197899
2013-04-11 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Remove obsolete comment about DLL calling
convention.
2013-04-11 Javier Miranda <miranda@adacore.com>
* exp_ch6.adb (Expand_Call): For the call to the target primitive
of an interface thunks do not compute the extra actuals; just
propagate the extra actuals received by the thunk.
* exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
Thunk_Entity.
* sem_ch6.adb (Create_Extra_Formals): Do not generate extra
formals in interface thunks whose target primitive has no extra
formals.
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Pragma): Detect
a renaming by looking at the Renamed_Object attribute.
(Is_Renaming): Removed.
2013-04-11 Vincent Celier <celier@adacore.com>
* prj-env.adb (Initialize_Default_Project_Path): Take
into account a project path file, specified by environment
variable GPR_PROJECT_PATH_FILE, before taking into account
GPR_PROJECT_PATH.
* projects.texi: Add documentation for GPR_PROJECT_PATH_FILE
2013-04-11 Ed Schonberg <schonberg@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-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
a-cidlli.ads, a-ciormu.adb, a-ciormu.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-ciorma.adb, a-cobove.adb,
a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
Move Iterator operations from body to private part of spec.
From-SVN: r197797
2013-04-11 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Minor clean ups.
2013-04-11 Robert Dewar <dewar@adacore.com>
* nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
function p from Nlists to Treepr.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Dispatching_Context): If the context is
a contract for a null procedure defer error reporting until
postcondition body is created.
* exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
null procedure, complete the analysis of its contracts so that
calls within classwide conditions are properly rewritten as
dispatching calls.
From-SVN: r197794
2013-04-11 Doug Rupp <rupp@adacore.com>
* gnatlink.adb: Fold program basename to lower case on VMS for
consistency.
2013-04-11 Matthew Heaney <heaney@adacore.com>
* a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
entering loop.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
needed, and seems to confuse some versions of makeinfo.
2013-04-11 Javier Miranda <miranda@adacore.com>
* einfo.adb (Is_Thunk): Remove assertion.
(Set_Is_Thunk): Add assertion.
* einfo.ads (Is_Thunk): Complete documentation.
* exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
* exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
(Is_Variable_Size_Record): Moved to sem_util
* exp_ch6.adb (Expand_Call): Code cleanup.
(Expand_N_Extended_Return_Statement): Code cleanup.
(Expand_Simple_Function_Return): Code cleanup.
* exp_disp.adb Remove dependency on exp_ch3
(Expand_Interface_Thunk): Add minimum decoration needed to set
attribute Is_Thunk.
* sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
* sem_util.ad[sb] (Is_Constant_Bound): Moved from
sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
(Is_Variable_Size_Record): Moved from exp_ch3
From-SVN: r197787
2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
* init.c (RETURN_ADDR_OFFSET): Delete as unused.
2013-04-11 Robert Dewar <dewar@adacore.com>
* a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
2013-04-11 Yannick Moy <moy@adacore.com>
* exp_ch4.adb (Expand_N_Selected_Component): Do not expand
discriminant check for Unchecked_Union.
* sem_res.adb (Resolve_Selected_Component): Set flag
Do_Discriminant_Check even when expansion is not performed.
* sinfo.ads (Do_Discriminant_Check): Update documentation for the case
of Unchecked_Union.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* sem_ch13.adb (Same_Representation): Two types with different scalar
storage order never have the same representation.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* xgnatugn.adb (Push_Conditional): Simplify handling,
no longer need to keep track of "excluding" sections.
(Currently_Excluding): Removed.
(Process_Source_File):
Set unw/vms flag so that texinfo can do the whole handling of
@ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear
sections.
* gnat_ugn.texi: Add a section on performing unassisted install
on Windows.
From-SVN: r197785
2013-04-11 Vincent Celier <celier@adacore.com>
* make.adb (Compile): Clarify the error message reported
when gnatmake refuses to compile a runtime source.
(Start_Compile_If_Possible): Ditto.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
From-SVN: r197783
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
subprogram stubs.
* sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
pre/post pragmas at once before analyzing the proper body.
* sem_prag.adb (Chain_PPC): Handle pragma that comes from an
aspect on a subprogram stub.
* aspects.adb: Aspect specifications can appear on a
subprogram_Body_Stub.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnatname.adb: Minor comment fix.
2013-04-11 Vincent Celier <celier@adacore.com>
* prj-makr.adb (Process_Directory): Create a new temporary
file for each invocation of the compiler, in directory pointed
by environment variable TMPDIR if it exists.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Minor editing/clean ups.
From-SVN: r197781
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
New function to implement the notion introduced in RM 7.3.1
(5.2/3): in a child unit, a derived type is within the derivation
class of an ancestor declared in a parent unit, even if there
is an intermediate derivation that does not see the full view
of that ancestor.
* sem_res.adb (Valid_Conversion): if all else fails, examine if an
incomplete view of an ancestor makes a numeric conversion legal.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: in Ada2012 operators can only have in
parameters.
2013-04-11 Vincent Celier <celier@adacore.com>
* makeutl.adb (Create_Binder_Mapping_File): Do not put into
the mapping file ALI files of sources that have been replaced.
2013-04-11 Vincent Celier <celier@adacore.com>
* projects.texi: Add subsection Duplicate Sources in Projects.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* init.c (__gnat_install_handler): Only set up an alternate
stack when installing a signal handler for SIGSEGV.
2013-04-11 Thomas Quinot <quinot@adacore.com>
* g-socket.adb (Connect_Socket, timeout version): Call
underlying connect operation directly, not through the 2-argument
Connect_Socket thick binding, in order to avoid raising a junk
exception for the EINPROGRESS return.
From-SVN: r197775
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove section "The Development Environments"
now that all predefined attributes are documented, including
those in package IDE.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb: Preserve parent link in copy of expression.
From-SVN: r197763
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb, exp_dist.adb: Minor reformatting.
* gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
check names introduced with pragma Check_Name are suppressed by -gnatp.
From-SVN: r197756
2013-04-11 Yannick Moy <moy@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
mode.
2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Detect the
allocation of an anonymous controlled object where the type of
the context is named. Use the pool and finalization master of
the named access type to allocate the object.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove most mentions of gprbuild.
* projects.texi: Remove all mentions of asociative array
attributes.
From-SVN: r197753
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
Enable this flag in CodePeer mode, and also via -gnatd.M.
Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
2013-04-11 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Check_Constrained_Object): If a subtype is created
from the renamed object in an object renaming declaration with
an unconstrained nominal subtype, freeze the created subtype at
once, to prevent order of elaboration issues in the backend.
2013-04-11 Arnaud Charlet <charlet@adacore.com>
* exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
in particular in CodePeer mode.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for backup copies of project
files for gnatname.
From-SVN: r197751
2013-04-11 Robert Dewar <dewar@adacore.com>
* s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
makeutl.adb, sem_ch8.adb: Minor reformatting.
2013-04-11 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Minor fixes for VMS.
* ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
2013-04-11 Robert Dewar <dewar@adacore.com>
* usage.adb (Usage): Minor edit to -gnatW message
2013-04-11 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
others for string literal case. Also add big ??? comment about
this new code, which should be redundant, but is not.
* sem_eval.adb (Eval_Concatenation): Handle non-static case
properly (Eval_String_Literal): Handle non-static literal properly
From-SVN: r197744
2013-02-06 Vincent Celier <celier@adacore.com>
* prj-proc.adb (Process_Aggregated_Projects): Use a new project
node tree for each project tree rooted at an aggregated project.
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_util.adb (Is_Interface_Conversion): New routine.
(Object_Access_Level): Detect an interface conversion
that has been rewritten into a different construct. Use the
original form of the conversion to find the access level of
the operand.
2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
(Has_Pragma_No_Inline): Declare and mark as inline.
(Set_Has_Pragma_No_Inline): Likewise.
* einfo.adb (Has_Pragma_No_Inline): New function.
(Set_Has_Pragma_No_Inline): New procedure.
(Write_Entity_Flags): Handle Has_Pragma_No_Inline.
* snames.ads-tmpl (Name_No_Inline): New pragma-related name.
(Pragma_Id): Add Pragma_No_Inline value.
* par-prag.adb (Prag): Handle Pragma_Inline.
* sem_prag.adb (Inline_Status): New enumeration type.
(Process_Inline): Change Active parameter
to Inline_Status and add support for suppressed inlining.
(Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
<Pragma_Inline_Always>: Likewise.
<Pragma_No_Inline>: Implement new pragma No_Inline.
(Sig_Flags): Add Pragma_No_Inline.
* gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
* gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
2013-02-06 Pascal Obry <obry@adacore.com>
* s-osprim-mingw.adb (Clock): Make sure we copy all data locally
to avoid interleaved modifications that could happen from another
task calling Get_Base_Data.
(Get_Base_Data): Make it a critical section. Avoid updating if another
task has already done it.
From-SVN: r195801
2013-02-06 Robert Dewar <dewar@adacore.com>
* osint.ads: Minor fix of typo.
2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: gnatmetric: update the documentation of
complexity metrics for Ada 2012.
2013-02-06 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_Secondary_DT): Code cleanup:
remove useless initialization.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Discriminant_Constraints): Do not
generate overflow checks on a discriminant expression if the
discriminant constraint is applied to a private type that has
a full view, because the check will be applied when the full
view is elaborated. Removing the redundant check is not just
an optimization, but it prevents spurious assembler errors,
because of the way the backend generates names for expressions
that require overflow checking.
2013-02-06 Pascal Obry <obry@adacore.com>
* s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
limitation on Windows.
(DA): Removed.
(LIA): Removed.
(LLIA): Removed.
(TFA): Removed.
(BTA): Removed.
(BMTA): Removed.
(BCA): Removed.
(BMCA): Removed.
(BTiA): Removed.
(Clock): Use variable corresponding to access.
(Get_Base_Time): Likewise.
(Monotonic_Clock): Likewise.
2013-02-06 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): When gnatmake is called with a project
file, do not invoke gnatbind with -I-.
* makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
the infos from all the sources.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
Overriding_Renamings.
* par-prag.adb: Recognize pragma Overriding_Renamings.
* opt.ads (Overriding_Renamings): flag to control compatibility
mode with Rational compiler, replaces Rational_Profile flag.
* sem_ch8.adb (Analyze_Subprogram_Renaming): When
Overriding_Renamings is enabled, accept renaming declarations
where the new subprogram renames and overrides a locally inherited
operation. Improve error message for some illegal renamings.
* sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
(Set_Rational_Profile): The Rational_Profile enables
Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
2013-02-06 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb: Set parent of copied aggregate component, to
prevent infinite loop.
From-SVN: r195798
2013-01-29 Robert Dewar <dewar@adacore.com>
* par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
* par-util.adb (No_Constraint): Undo special handling, moved
to par-ch6.adb.
2013-01-29 Robert Dewar <dewar@adacore.com>
* aspects.ads: Aspect Warnings is implementation defined Add
some other missing entries to impl-defined list Mark Warnings
as GNAT pragma in main list.
* sem_ch8.adb: Process aspects for all cases of renaming
declarations.
2013-01-29 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
* sem_elab.adb (Check_Internal_Call_Continue): Do not issue
warnings about possible elaboration error if call is within
an assertion.
* sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
2013-01-29 Robert Dewar <dewar@adacore.com>
* a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
* s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
2013-01-29 Robert Dewar <dewar@adacore.com>
* opt.ads (Ignore_Style_Checks_Pragmas): New flag.
* par-prag.adb (Par, case Style_Checks): Recognize
Ignore_Style_Checks_Pragmas.
* sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
Ignore_Style_Checks_Pragmas.
* switch-c.adb: Recognize -gnateY switch.
* usage.adb: Add documentation for "-gnateY".
* vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
2013-01-29 Vincent Celier <celier@adacore.com>
* clean.adb (Clean_Executables): Add Sid component when calling
Queue.Insert.
* make.adb: When inserting in the Queue, add the Source_Id
(Sid) when it is known (Start_Compile_If_Possible): When the
Source_Id is known (Sid), get the path name of the ALI file
(Full_Lib_File) from it, to avoid finding old ALI files in other
object directories.
* makeutl.ads (Source_Info): New Source_Id component Sid in
Format_Gnatmake variant.
2013-01-29 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnateY.
2013-01-29 Doug Rupp <rupp@adacore.com>
* s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
system-vms-ia64.ads: Replace pragma Interface by pragma Import.
From-SVN: r195536
2013-01-29 Robert Dewar <dewar@adacore.com>
* atree.ads, atree.adb (Node30): New function.
(Set_Node30): New procedure.
(Num_Extension_Nodes): Change to 5 (activate new fields/flags).
* atree.h: Add macros for Field30 and Node30.
* einfo.ads, einfo.adb: Move some fields to avoid duplexing.
* treepr.adb (Print_Entity_Information): Print fields 30-35.
2013-01-29 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Interface): Consider to
be a violation of No_Obsolescent_Features even in Ada 95. Also
generates a warning in -gnatwj mode.
(Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
mode.
* gnat_ugn.texi: Additional documentation on -gnatwj and pragma
Interface[_Name].
2013-01-29 Vincent Celier <celier@adacore.com>
* snames.ads-tmpl: Add new standard name Trailing_Switches.
2013-01-29 Ed Schonberg <schonberg@adacore.com>
* sem_disp.adb (Check_Controlling_Type): If a designated type T
of an anonymous access type is a limited view of a tagged type,
it can be a controlling type only if the subprogram is in the
same scope as T.
2013-01-29 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: Use the project where the config pragmas file is
declared to get its path.
2013-01-29 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Linker'Trailing_Switches.
From-SVN: r195535
2013-01-04 Robert Dewar <dewar@adacore.com>
* types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
2013-01-04 Robert Dewar <dewar@adacore.com>
* par-ch6.adb (P_Subprogram): Better handling of missing IS
after expression function.
* par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
2013-01-04 Robert Dewar <dewar@adacore.com>
* exp_util.ads, exp_util.adb (Insert_Actions): In expression with
actions case, new actions are appended to the sequence rather than
prepended.
2013-01-04 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
* usage.adb: Add lines for -gnatw.d/w.D switches.
* warnsw.adb: Minor fixes (some missing cases of setting
Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
From-SVN: r194895
2013-01-02 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statement): Function
form, returning value of Current_Dominant upon exit, for chaining
purposes.
(Traverse_Declarations_Or_Statement.Traverse_One, case
N_Block_Statement): First statement is dominated by last declaration.
(Traverse_Subprogram_Or_Task_Body): Ditto.
(Traverse_Package_Declaration): First private
declaration is dominated by last visible declaration.
(Traverse_Sync_Definition): Ditto.
2013-01-02 Thomas Quinot <quinot@adacore.com>
* gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
matching Bit_Order to record types only, since array types do not
have a Bit_Order.
2013-01-02 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Remove documentation of -gnateO, which is an
internal switch.
* usage.adb: Indicate that -gnateO is an internal switch.
From-SVN: r194794
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.
From-SVN: r194210
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.
From-SVN: r194196
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.
From-SVN: r194195
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.
From-SVN: r194191
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.
From-SVN: r193234
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.
From-SVN: r193215
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.
From-SVN: r192938
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.
From-SVN: r192936
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.
From-SVN: r192933
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.
From-SVN: r192128
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.
From-SVN: r191979
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.
From-SVN: r191962
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.
From-SVN: r191960
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.
From-SVN: r191957
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.
From-SVN: r191910
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.
From-SVN: r189773
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.
From-SVN: r189772
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.
From-SVN: r189771
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.
From-SVN: r189570
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.
From-SVN: r188451
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.
From-SVN: r188441
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.
From-SVN: r188436
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.
From-SVN: r188435
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.
From-SVN: r187509
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.
From-SVN: r186871
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.
From-SVN: r186868
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.
From-SVN: r186072
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).
From-SVN: r185527
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).
From-SVN: r185526
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.
From-SVN: r185525
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.
From-SVN: r185417
2012-03-15 Ed Falis <falis@adacore.com>
* s-vxwork-ppc.ads: Update copyright.
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.
From-SVN: r185410
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.
From-SVN: r185050
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.
From-SVN: r185049
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.
From-SVN: r185044
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.
From-SVN: r184338
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.
From-SVN: r184337
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.
From-SVN: r184003
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.
From-SVN: r183707
2011-12-21 Arnaud Charlet <charlet@adacore.com>
* gnat1drv.adb (Gnat1Drv): Always delete old scil files in
CodePeer mode.
2011-12-21 Robert Dewar <dewar@adacore.com>
* comperr.adb: Minor reformatting.
2011-12-21 Ed Schonberg <schonberg@adacore.com>
* aspects.ads: New table Base_Aspect, to indicate that an aspect
is defined on a base type.
* aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
examine the representation items of the base type.
2011-12-21 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.
2011-12-21 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
to kill warning.
From-SVN: r182582
2011-12-21 Gary Dismukes <dismukes@adacore.com>
* gnat_ugn.texi: Minor reformatting.
2011-12-21 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
Has_Element is the formal of Iterator_Interfaces, and within
the instantion of this package it is a renaming of some local
function with an unrelated name. Retrieve the operation from
the instance itself, not from the container package.
2011-12-21 Vincent Pucci <pucci@adacore.com>
* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
replaced by Expand_Put_Call_With_Dimension_Symbol
* sem_ch12.adb (Analyze_Package_Instantiation): New check for
System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
* sem_ch3.adb (Analyze_Declarations): Removed
Remove_Dimension_In_Declaration call.
* sem_dim.adb: Update comments. Redefine the
representation of a Rational. Propagate all changes involving
data structures and types throughout the pakage. Output the
dimension aggregates for each error messages.
("/"): Rational constructor "/" removed for Whole operands.
("/"): New rational operation "/" for Rational operands.
("*"): Operation "*" between Rational and Int removed.
("abs"): New unary operator "abs" for Rational.
(Analyze_Aspect_Dimension_System): Reorganized.
(Analyze_Dimension_Identifier): Removed.
(Copy_Dimensions): Removed.
(Create_Rational_From_Expr): New Boolean parameter.
(Dimensions_Msg_Of): New routine. Return
a string with the dimensions of the parameter.
(From_Dimension_To_String_Of_Symbols): Renaming of
From_Dimension_To_String_Id.
* sem_dim.ads: Update comments.
(Is_Dim_IO_Package_Instantiation): New routine.
(Remove_Dimension_In_Declaration): Removed.
* sem_res.adb (Resolve_Op_Expon): Reorganized calls of
Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
* s-diflio.ads, s-diinio.ads: Update comments.
From-SVN: r182575
2011-12-21 Pascal Obry <obry@adacore.com>
* prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
Library_Fully_Standalone_Options and
Library_Fully_Standalone_Supported attributes.
* prj-nmsc.adb (Check_Library): Update check to take into
account fully standalone libraries. Such shared libraries can
only depend on static libraries.
(Check_Stand_Alone_Library): Add support for fully standalone libraries.
(Process_Project_Level_Simple_Attributes): Store value for
configuration attribute Library_Fully_Standalone_Supported.
* prj.ads, makeutl.adb (Standalone): New enumeration type.
(Project_Data): Standalone_Library now of type Standlone.
(Project_Configuration): Add Lib_Fully_Standalone_Supported
field.
(Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
field.
* clean.adb (Clean_Project): Adjust to new type for Standalone.
* make.adb (Library_Phase): Adjust to new type for Standalone.
(Gnatmake): Likewise.
* mlib-prj.adb (Build_Library): Adjust to new type for
Standalone.
2011-12-21 Thomas Quinot <quinot@adacore.com>
* gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
Set_Standard_Output just before producing normal (non-diagnostic)
output.
* gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
(and again after parsing project files).
2011-12-21 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Do_Autoconf): When the object directory does
not exist, create auto.cgpr in the directory where temporary
files are created.
From-SVN: r182573
2011-12-20 Bob Duff <duff@adacore.com>
* opt.ads (List_Inherited_Aspects): Default to False
(i.e. -gnatw.L is the default).
* usage.adb: Document new default for -gnatw.L.
* gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
* warnsw.adb (Set_Warning_Switch): Do not include
List_Inherited_Aspects in -gnatwa.
2011-12-20 Ed Schonberg <schonberg@adacore.com>
* checks.adb (Apply_Type_Conversion_Checks): For a discrete type
with predicates, indicate unconditionally that a range check
is needed.
* exp_ch4.adb (Expand_N_In): When the membership test is rewritten
to incorporate a call to a predicate function, analyze expression
with checks suppressed, to prevent infinite recursion.
From-SVN: r182540
2011-12-05 Bob Duff <duff@adacore.com>
* sem_ch4.adb: Minor comment fix.
2011-12-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation for -gnatw.e.
2011-12-05 Bob Duff <duff@adacore.com>
* treepr.adb (pn): Print something useful for
Elmt_Ids. Add Write_Eol to 'when others' case, so the output
will be seen immediately in gdb.
2011-12-05 Ed Schonberg <schonberg@adacore.com>
* lib-writ.adb (Output_Main_Program_Line): A generic subprogram
is never a main program.
2011-12-05 Thomas Quinot <quinot@adacore.com>
* par_sco.adb: Various minor adjustments to dominance markers
generation.
2011-12-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Expression_Function): If the function is
a completion, generate a body reference for its defining entity,
before rewriting the node as a body.
* sem_util.adb (Defining_Entity): Add entry for expression
function.
From-SVN: r182006
2011-12-02 Robert Dewar <dewar@adacore.com>
* sinfo.ads: Minor reformatting.
* gnat_ugn.texi: Fix confusion in use of term "type name".
From-SVN: r181915
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_All_Ent): An incomplete type is not
frozen by a subprogram body that does not come from source.
2011-11-23 Pascal Obry <obry@adacore.com>
* s-oscons-tmplt.c: Add PTY_Library constant. It contains
the library for pseudo terminal support.
* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
pragma.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch9.adb: No check on entry family index if generic.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
System.OS_Constants from shared spec of
System.Tasking.Primitive_Operations to the specific body variants
that really require this dependency.
2011-11-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
If the declaration has aspects, analyze them so they can be
properly rejected.
2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
Add with and use clause for Ada.Finalization. Type
Iterator and Child_Iterator are now derived from Limited_Controlled.
(Finalize): New routine.
(Iterate): Add a renaming of counter Busy and
increment it. Update the return aggregate.
(Iterate_Children): Add a renaming of
counter Busy and increment it. Update the return aggregate.
(Iterate_Subtree): Add a renaming of counter Busy and increment
it. Update the return aggregate.
* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
type.
* a-cihama.ads: Type Map_Access is now a general access type.
* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
associated with the tree.
* a-cohama.ads: Type Map_Access is now a general access type.
* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
access type.
* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
to wrap the loop as this is done at an earlier step, during
analysis. The declarations of the iterator and the cursor use
the usual Insert_Action mechanism when added into the tree.
* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
Loop_Statement and replace all respective uses by N. Add local
constant Loc. Preanalyze the loop iterator to discover whether
it is a container iterator and if it is, wrap the loop in a
block. This ensures that any controlled temporaries produced
by the iteration scheme share the same lifetime of the loop.
(Is_Container_Iterator): New routine.
(Is_Wrapped_In_Block): New routine.
(Pre_Analyze_Range): Move spec and body to the library level.
2011-11-23 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
that controls casing of type and subtype names.
2011-11-23 Yannick Moy <moy@adacore.com>
* sem_ch3.adb: Minor addition of comments.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* prj-part.adb (Extension_Withs): New global variable,
contains the head of the list of WITH clauses from the EXTENDS
ALL projects for which virtual packages are being created.
(Look_For_Virtual_Projects_For): When recursing through
an EXTENDS ALL, add the WITH clauses of the extending
project to Extension_Withs. When adding a project to the
Virtual_Hash, record the associated Extension_Withs list.
(Create_Virtual_Extending_Project): Add a copy of the appropriate
Extension_Withs to the virtual project.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* mlib-tgt-specific-vxworks.adb: Minor reformatting.
2011-11-23 Thomas Quinot <quinot@adacore.com>
* Make-generated.in (Sdefault.Target_Name): Set to
$(target_noncanonical) instead of $(target) for consistency.
From-SVN: r181668
2011-11-21 Robert Dewar <dewar@adacore.com>
* frontend.adb (Frontend): Capture restrictions from config files
* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
information
* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
references. This was noticed during debugging, but it is not
known if it causes real bugs.
* restrict.ads, restrict.adb: New routines to save/set/restore
non-partition-wide restrictions.
* s-rident.ads: Comment changes for new handling of
No_Elaboration_Code
* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
attempt to save/restore non-partition-wide restrictions (now
this work is all done in Sem).
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
Special handling for restriction No_Elaboration_Code.
2011-11-21 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document new handling of restrictions pragmas.
From-SVN: r181566
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
(Process_PPCs): Invariants only apply to public subprograms.
2011-11-21 Robert Dewar <dewar@adacore.com>
* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
2011-11-21 Robert Dewar <dewar@adacore.com>
* a-finali.ads: Use pragma Pure_12 for this unit
* aspects.adb: Add aspect Pure_12
* aspects.ads: Add aspect Pure_12
* opt.ads: Add note on Pure_12
* par-prag.adb: Add dummy entry for Pure_12
* sem_prag.adb: Implement Pure_12 pragma
* snames.ads-tmpl: Add Entry for Pure_12
2011-11-21 Sergey Rybin <rybin@adacore.com frybin>
* vms_data.ads: Add qualifiers for new gnatpp options
'--call_threshold' and '--par_threshold".
* gnat_ugn.texi: Add description for new gnatpp options
'--call_threshold' and '--par_threshold".
2011-11-21 Robert Dewar <dewar@adacore.com>
* lib.ads: Minor reformatting.
2011-11-21 Robert Dewar <dewar@adacore.com>
* lib-load.ads: Add comment.
From-SVN: r181563
2011-11-21 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
with out parameters may generate assignments to force constraint
checks. These checks must be properly placed in the code after the
declaration or statement that contains the call.
2011-11-21 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Adding info on current gnattest limitations an
support of -X option.
2011-11-21 Robert Dewar <dewar@adacore.com>
* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
From-SVN: r181559
2011-11-07 Olivier Hainque <hainque@adacore.com>
* sigtramp-ppcvxw.c: Add general comments.
(CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
rules for r2 to r13, plus CTR and XER.
(CFA_REG): New, register number used to hold the local CFA.
(CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
Make that 15, not 14, with documentation.
(TCR): Undef before definition, preventing conflict with reg number in
VxWorks headers.
2011-11-07 Robert Dewar <dewar@adacore.com>
* exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2011-11-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb: A tagged type is a legal actual for an aliased
formal.
2011-11-07 Pascal Obry <obry@adacore.com>
* g-socket.adb, g-socket.ads: Minor reformatting.
2011-11-07 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Actuals): Minor error message improvement.
2011-11-07 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add discussion of default mode handling of
source representation with no -gnatW option given, in particular
noting that NEL (next line) is not recognized in this context.
From-SVN: r181094
2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Performance Considerations) <Vectorization
of loops>: New sub-section. <Other Optimization Switches>:
Minor tweak.
From-SVN: r180956
2011-11-04 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor reformatting.
2011-11-04 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
when Target and Source denote same non-empty object
* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_attr.adb: Minor reformatting.
2011-11-04 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_Assign_Record): Do not generate a
discriminant assignment within an initialization proc if the
record is an unchecked union, as it can only come from the
initialization of an unchecked union component.
2011-11-04 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor reformatting.
2011-11-04 Robert Dewar <dewar@adacore.com>
* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
warning message.
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb: Minor code reorganization (remove junk obsolete
var Save_Space).
From-SVN: r180954
2011-11-04 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb (Expand_Entity_Reference): Do not set
Atomic_Sync_Required for the case of a prefix of an attribute.
* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
atomic synchronization
(Expand_N_Indexed_Component): Ditto.
(Expand_B_Selected_Component): Ditto.
* sem_prag.adb (Process_Suppress_Unsuppress):
Disable/Enable_Atomic_Synchronization can now occur for array
types with pragma Atomic_Components.
* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
2011-11-04 Gary Dismukes <dismukes@adacore.com>
* gnat_ugn.texi: Editorial corrections for gnattest section.
From-SVN: r180943
2011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Document explicit use of XDECGNAT library.
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
update its uses.
(Build_Discriminant_Assignments): Add local variable D_Loc and update
its uses.
(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
Var_Loc and update their uses.
(Build_Record_Init_Proc): Code reformatting.
(Increment_Counter): Add formal parameter Loc.
(Make_Counter): Add formal parameter Loc.
2011-10-24 Eric Botcazou <ebotcazou@adacore.com>
* sem_disp.adb (Covers_Some_Interface): Fix typo.
2011-10-24 Matthew Heaney <heaney@adacore.com>
* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority):
Predicate had wrong sense.
2011-10-24 Yannick Moy <moy@adacore.com>
* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
Translate arguments in positional notation into pragma argument
association arguments for the generated pragma.
2011-10-24 Arnaud Charlet <charlet@adacore.com>
* exp_ch5.adb: Fix minor typo.
2011-10-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Is_Visible_Component): Refine predicate for
the case of a component reference in an instance body, when the
enclosing type is private.
From-SVN: r180369
* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
driver for getting the project support into gnatelim section.
2011-10-24 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Minor correction to documentation on address
clause.
2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
* s-finmas.adb (Attach): Synchronize and call the unprotected version.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Removed.
(Delete_Finalize_Address_Unprotected): New routine.
(Detach): Synchronize and call the unprotected version.
(Detach_Unprotected): Remove locking.
(Finalize): Add various comment on synchronization. Lock the critical
region and call the unprotected versions of routines.
(Finalize_Address): Removed.
(Finalize_Address_Unprotected): New routine.
(Set_Finalize_Address): Synchronize and call
the unprotected version.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Removed.
(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
(Set_Is_Heterogeneous): Add comment on synchronization and
locking.
* s-finmas.ads: Flag Finalization_Started is no longer atomic
because synchronization uses task locking / unlocking.
(Attach): Add comment on usage.
(Attach_Unprotected): New routine.
(Delete_Finalize_Address): Renamed to
Delete_Finalize_Address_Unprotected.
(Detach): Add comment on usage.
(Detach_Unprotected): New routine.
(Finalize_Address): Renamed to Finalize_Address_Unprotected.
(Set_Finalize_Address): Add comment on usage.
(Set_Finalize_Address_Unprotected): New routine.
(Set_Heterogeneous_Finalize_Address): Renamed to
Set_Heterogeneous_Finalize_Address_Unprotected.
* s-stposu.adb (Allocate_Any_Controlled): Add local variable
Allocation_Locked. Add various comments on synchronization. Lock
the critical region and call the unprotected version of
routines.
(Deallocate_Any_Controlled): Add various comments on
synchronization. Lock the critical region and call the unprotected
version of routines.
2011-10-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
are universal and must carry the corresponding type.
* sem_eval.adb (Check_Non_Static_Context): If the type of the
expression is universal real, as may be the case for a fixed point
expression with constant operands in the context of a conversion,
there is nothing to check.
* s-finmas.adb: Minor reformatting
From-SVN: r180368
2011-10-13 Cyrille Comar <comar@adacore.com>
* gnat_ugn.texi: Minor editing.
2011-10-13 Vincent Celier <celier@adacore.com>
* projects.texi: Add documentation on packages and attributes
that are inherited from a project being extended into the
extended project.
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Build_Master): Rewritten.
(Expand_N_Full_Type_Declaration): Reformat the declarative
region. Update the call to Build_Master_Renaming.
(Expand_Previous_Access_Type): Rewritten.
* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
Add local constant Result_Subt and update related usage.
(Expand_N_Extended_Return_Statement): Add local constant
Result_Subt and update related usage.
* exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
new context detection mechanism.
(Build_Class_Wide_Master):
Use Insert_Action to add the renaming into the tree.
(Build_Master_Entity): Rewritten to use the new context detection
mechanism.
(Build_Master_Renaming): Add formal parameter Ins_Nod
and related usage. Use Insert_Action to add the renaming into the
tree.
(Find_Enclosing_Context): New subsidiary routine. Rather
than relying on enclosing scopes, this routine looks at the
tree structure to figure out the proper context for a _master
or a _chain. This approach eliminates the issues with transient
scopes which have not been converted into blocks.
* exp_ch9.ads (Build_Master_Entity): Change parameter profile
to better reflect the new usage. Update the related comment.
(Build_Master_Renaming): Add formal parameter Ins_Nod. Update
the comment on usage.
* sem_ch3.adb (Access_Definition): Update the calls to
Build_Master_Entity and Build_Master_Renaming.
* sem_ch6.adb (Create_Extra_Formals): Add local variable
Full_Subt. Code reformatting.
* sem_util.adb (Is_Iterator): Alphabetized.
(Is_LHS): Alphabetized.
(Is_Limited_Class_Wide_Type): New routine.
* sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
From-SVN: r179913
2011-10-13 Fedor Rybin <frybin@adacore.com>
* gnat_ugn.texi: Add gnattest section.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* freeze.adb: Do not create body of renaming if declaration has
errors.
2011-10-13 Olivier Hainque <hainque@adacore.com>
* init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
further, to the ppc+kernel case only.
2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
Do not create a pool formal on .NET/JVM.
(Expand_N_Extended_Return_Statement): Alphabetize local
variables. Do not create a renaming of the build-in-place pool
parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
Add the user-defined pool only on non-VM targets.
(Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
local variables. Do not add a pool actual on .NET/JVM.
* sem_ch6.adb: Add with and use clause for Targparm.
(Create_Extra_Formals): Add build-in-place pool formal only on
non-VM targets.
* rtsfind.ads: Alphabetize entries.
From-SVN: r179906
2011-10-13 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
literal casing.
2011-10-13 Nicolas Roche <roche@adacore.com>
* gnatlink.adb: Ensure that -mrtp is passed when
runtime name ends with 'rtp'.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): an
unchecked union type can be limited.
2011-10-13 Olivier Hainque <hainque@adacore.com>
* init.c (__gnat_error_handler) <VxWorks version>: Add comments on
the use of the signal trampoline for PPC in the sjlj case as well.
Add legitimate casts, preventing compile time warnings on the
(sighandler *) profile.
2011-10-13 Yannick Moy <moy@adacore.com>
* sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic
analysis in Alfa mode.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
expressions are legal limited return values if each one of their
dependent expressions are legal.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
if the prefix of the call is a qualified expression, rewrite as
a code statement.
* sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
code statement is legal if it is a rewriting of a procedure call.
2011-10-13 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Flatten): If a component association has a box,
assume that aggregate is not static.
(Safe_Aggregate): If a component association in a non-limited
aggregate has a box, assume that it cannot be expanded in place.
2011-10-13 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Or_Create_Configuration_File): Call
Process_Project_Tree_Phase_1 with Packages_To_Check.
(Process_Project_And_Apply_Config): Ditto
* prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
Remove default for argument Packages_To_Check.
* prj-proc.adb (Recursive_Process): New argument
Packages_To_Check.
(Process): Ditto.
(Process_Project_Tree_Phase_1): Ditto.
(Recursive_Project.Process_Aggregated_Projects): Call
Prj.Part.Parse and Process_Project_Tree_Phase_1 with
Packages_To_Check.
* prj-proc.ads (Process): New argument Packages_To_Check
(Process_Project_Tree_Phase_1): Ditto
From-SVN: r179902
2011-09-19 Steve Baird <baird@adacore.com>
* snames.ads-tmpl: Move declaration of Name_Annotate into range of
configuration pragma names so that Is_Configuration_Pragma_Name
will return True for Name_Annotate. Make corresponding change in
Pragma_Id enumeration type. This is needed to allow an Annotate
pragma to occur in a configuration pragma file (typically,
a gnat.adc file).
* gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
* gnat_rm.texi: Note that pragma Annotate may be used as a
configuration pragma.
2011-09-19 Ed Schonberg <schonberg@adacore.com>
* a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
2011-09-19 Yannick Moy <moy@adacore.com>
* exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
for expansion of set membership.
(Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
* exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
visible for use in Alfa expansion.
* sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
variable in Alfa mode.
2011-09-19 Thomas Quinot <quinot@adacore.com>
* s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
2011-09-19 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb: Minor reformatting.
2011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
* freeze.adb (Build_Renamed_Body): Generic subprograms
instantiations cannot be poperly inlined by the compiler, do
not set the Body_To_Inline attribute in such cases.
* sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
inlining-related flags from the generic subprogram declaration.
2011-09-19 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
(Build_Stub_Type): Remove, instead copy components from
System.Partition_Interface.RACW_Stub_Type.
(RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
(Copy_Component_List): New subprogram.
2011-09-19 Yannick Moy <moy@adacore.com>
* lib-xref.adb (Generate_Reference): Ignore references to
constants in Standard.
From-SVN: r178962
2011-09-06 Thomas Quinot <quinot@adacore.com>
* s-os_lib.ads (Spawn): Minor documentation clarification,
Success is True for a zero exit status.
2011-09-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Add message for common iterator error.
2011-09-06 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Initialization_Call): If the target is a
selected component discriminated by a current instance, replace
the constraint with a reference to the target object, regardless
of whether the context is an init_proc.
2011-09-06 Robert Dewar <dewar@adacore.com>
* exp_attr.adb: Descriptor_Size is never static.
2011-09-06 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
* gnat_rm.texi: Clarify that attribute Descriptor_Size is
non-static.
2011-09-06 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve): An expression that is the body of an
expression function does not freeze.
2011-09-06 Matthew Heaney <heaney@adacore.com>
* a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
a-cuprqu.adb: Changed copyright notice to indicate current
year only.
2011-09-06 Vincent Celier <celier@adacore.com>
* prj.adb: Minor spelling error fix in comment
* sem_res.adb: Minor reformatting
2011-09-06 Pascal Obry <obry@adacore.com>
* sysdep.c (winflush_nt): Removed as not needed anymore.
(winflush_95): Likewise.
(winflush_init): Likewise.
(winflush_function): Likewise.
(getc_immediate_common): Remove call to winflush_function.
From-SVN: r178591
2011-09-02 Robert Dewar <dewar@adacore.com>
* s-rident.ads: Add new restriction No_Implicit_Aliasing
* sem_attr.adb: (Analyze_Access_Attribute): Deal with
No_Implicit_Aliasing
(Analyze_Attribute, case Address): ditto
(Analyze_Attribute, case Unrestricted_Access): ditto
* sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
No_Implicit_Aliasing restriction.
* gnat_rm.texi: Add documentation for No_Implicit_Aliasing
2011-09-02 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb: (Possible_Bit_Aligned_Object): If the object
is an unchecked conversion, apply test to its expression.
2011-09-02 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Check_Abstract_Overriding): When
traversing the chain of aliased subprograms avoid reporting a
redundant error on the current entity.
2011-09-02 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Minor clean up.
2011-09-02 Bob Duff <duff@adacore.com>
* s-htable.adb (Set_If_Not_Present): Use renaming
instead of ":=", because the type Key is limited in the generic (even
if not in the instances).
From-SVN: r178440
2011-09-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch10.adb (Analyze_With_Clause): If the library unit
is the generated subprogram declaration for a child unit body
that acts as spec, use the original body in the with_clause,
to prevent binding errors.
2011-09-02 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
qualifier /MULTI_UNIT_INDEX=
2011-09-02 Johannes Kanig <kanig@adacore.com>
* g-comlin.adb (Getopt): Return when switch is dealt with automatically,
instead of calling the callback function
From-SVN: r178435
2011-09-01 Jose Ruiz <ruiz@adacore.com>
* s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
directly the bit array.
* s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
the linux macros with the same name.
* adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
wrappers around the CPU_ZERO and CPU_SET linux macros.
2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Find_Insertion_List): Removed.
(Process_Transient_Objects): Insert the declarations of the hook
access type and the hook object before the associated transient object.
2011-09-01 Jose Ruiz <ruiz@adacore.com>
* sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
package System.Aux_Dec when using restricted run-time libraries which
do not have this package.
2011-09-01 Tristan Gingold <gingold@adacore.com>
* s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
2011-09-01 Bob Duff <duff@adacore.com>
* sem_attr.adb (Analyze_Access_Attribute): Do not call
Kill_Current_Values for P'Unrestricted_Access, where P is library level
2011-09-01 Thomas Quinot <quinot@adacore.com>
* exp_ch5.adb: Minor reformatting
* gnat_ugn.texi: Fix minor typos.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r178414
2011-09-01 Vincent Celier <celier@adacore.com>
* prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
exceptions in the config pragmas file.
2011-09-01 Tristan Gingold <gingold@adacore.com>
* gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
From-SVN: r178404
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
Finalize_Address of the access type's finalization master.
(Expand_N_Allocator): Add code to set attribute Finalize_Address of the
access type's finalization master. Add a guard to prevent
Associated_Storage_Pool from being set on .NET/JVM.
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
attribute Finalize_Address of the access type's finalization master.
* exp_ch7.adb (Make_Finalize_Address_Call): New routine.
* exp_ch7.ads (Make_Finalize_Address_Call): New routine.
* rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
RE_Unit_Table.
* s-finmas.adb: Add with clause for System.Address_Image. Add with and
use clause for System.IO
(Detach): Relax the assertion, to be reinstated later.
(Finalize): Rewrite the iteration loop to avoid pointer comparison.
Relax the assertion on Finalize_Address, to be reinstated later.
(Is_Empty_List): New routine.
(pm): New debug routine.
(Set_Finalize_Address): New routine.
* s-finmas.ads (pm): New debug routine.
(Set_Finalize_Address): New routine.
* s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
Remove convention C.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
(Initialize_TCB): Remove Exc_Stack_Ptr initialization.
(Finalize_TCB): Remove its finalization.
(Initialize): Remove assignment of GET_Exc_Stack_Addr
* s-soflin.adb (NT_Exc_Stack): Remove
(Get_Exc_Stack_Addr_NT): Likewise.
(Get_Exc_Stack_Addr_Soft): Likewise.
* s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
(Get_Exc_Stack_Addr): Likewise.
(Get_Exc_Stack_Addr_Soft): Likewise
* s-taspri-vms.ads (Exc_Stack_T): Remove.
(Exc_Stack_Ptr_T): Likewise.
(Private_Data): Remove Exc_Stack_Ptr component.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c (get_ip_from_context): New function. Factorize code.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
2011-08-29 Geert Bosch <bosch@adacore.com>
* s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
L2_Norm, Swap_Column): New generic subprograms
* s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
L2_Norm, Swap_Column): Implement new subprograms in order to
eliminate dependency on BLAS and LAPACK libraries in
Ada.Numerics.Generic_Real_Arrays and eventually also the complex
version. Forward_Eliminate/Back_Substitute can be used to put a
matrix in row echelon or reduced row echelon form using partial
pivoting.
* a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
Swap_Column): Instantiate from System.Generic_Array_Operations.
("*", "abs"): Implement by instantiation from Generic_Array_Operations.
(Sqrt): Local function for simple computation of square root without
adding dependencies on Generic_Elementary_Functions.
(Swap): New subprogram to exchange floating point numbers.
(Inverse): Reimplement using Jordan-Gauss elimination.
(Jacobi): New procedure implementing Jacobi's method for computation
of eigensystems, based on Rutishauser's implementation.
(L2_Norm): Implement directly using the inner product.
(Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
decreasing eigenvalue as required by the Ada RM.
(Swap_Column): New helper procedure for Sort_Eigensystem.
Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
Sort_Eigensystems.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* put_scos.adb (Put_SCOs): Do not emit a newline for an empty
statements line.
From-SVN: r178220
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* s-finmas.adb (Finalize): Check Finalize_Address of the master rather
than the current node.
* s-finmas.ads: Move field Finalize_Address from type FM_Node to
Finalization_Master. The list headers have two fields instead of three.
This should fix alignment issue but subpool allocations are now
unusable. Alphabetize subprograms.
* s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
the size of the header when converting the beginning of the object to
a FM_Node. Set the master's Finalize_Address attribute if not already
set.
(Deallocate_Any_Controlled): Use the offset rather than the size of the
header when converting the beginning of the object to a FM_Node.
2011-08-29 Gary Dismukes <dismukes@adacore.com>
* exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
reraise when compiling for CodePeer.
2011-08-29 Arnaud Charlet <charlet@adacore.com>
* a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
now needed by a-convec.adb. Fix warning.
2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
processing of TSS routine Finalize_Address when compiling in
CodePeer_Mode.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
sem_warn.adb: Minor reformatting.
2011-08-29 Emmanuel Briot <briot@adacore.com>
* prj-conf.adb (Get_Config_Switches): Also collect the list of
languages from aggregated projects.
2011-08-29 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
Traverse_Package_Declaration, Traverse_Subprogram_Body,
Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
for stubs are traversed too when parameter is set
(Traverse_All_Compilation_Units): Traverse without going inside stubs
(Traverse_Declarations_Or_Statements): Do the special traversing for
stubs when required.
* sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
return subprogram or package body from stub.
(Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
stubs without prior subprogram decl.
2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Fix typo.
From-SVN: r178219
2011-08-29 Robert Dewar <dewar@adacore.com>
* snames.adb-tmpl, sem_ch13.adb: Minor reformatting
Minor code reorganization.
2011-08-29 Bob Duff <duff@adacore.com>
* usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
2012, not just Ada 2005.
2011-08-29 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
with a project file or with gprbuid, if -gnatep= is specified, the
builder may need to be invoked with -x.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* a-exexpr-gcc.adb: Minor comment fix.
From-SVN: r178192
2011-08-29 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb: Minor reformatting.
2011-08-29 Bob Duff <duff@adacore.com>
* par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
* par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
treating "some" as unreserved in earlier Ada versions. This is now
handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
rather than Name_Some, since Tok_Some is now recognized as reserved.
* scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
reserved word.
* scans.ads: Minor comment fixes.
* snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
for other language versions.
* scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
treating "some" as unreserved in earlier Ada versions. This is now
handled in Snames.Is_Keyword_Name.
* par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
Ada 2012.
(P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
unreserved in earlier Ada versions. This is now handled in
Snames.Is_Keyword_Name.
* snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
words as for other language versions.
* gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
Ada 2012, not just Ada 2005.
From-SVN: r178191
2011-08-29 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
system-linux-hppa.ads, system-linux-s390.ads,
system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
system-solaris-sparc.ads, system-lynxos-x86.ads,
system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
system-solaris-x86_64.ads, system-mingw-x86_64.ads,
system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
system-vxworks-x86.ads: Remove GCC_ZCX_Support
* s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
* opt.ads: Adjust comment.
* targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
* gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
* system.ads: Move GCC_ZCX_Support to obsolete entries.
2011-08-29 Emmanuel Briot <briot@adacore.com>
* makeutl.adb (Do_Complete): Resolve symbolic links when a relative
file name is specified on the gnatmake or gprbuild command line, and
before we search for that file in the project.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb (Within_Instance): New predicate in Collect_Interps,
used to determine whether a possible interpretation for an overloadable
entity is declared within the current instantiation and should be
included in the candidate set.
2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Clean ups.
From-SVN: r178186
2011-08-05 Matthew Heaney <heaney@adacore.com>
* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
to check count, check sign of value instead.
* a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
(Copy_Subtree): allocate copy of source element
(Equal_Subtree): compare elements, not access objects
2011-08-05 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Fix VMS alternative.
From-SVN: r177457
2011-08-05 Thomas Quinot <quinot@adacore.com>
* sem_ch11.adb: Add comment.
2011-08-05 Robert Dewar <dewar@adacore.com>
* exp_util.adb: Minor comment fix.
2011-08-05 Robert Dewar <dewar@adacore.com>
* scng.adb (Error_Unterminated_String): Improve flag position when
comma present.
2011-08-05 Matthew Heaney <heaney@adacore.com>
* Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
tree containers).
* a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
multiway tree containers.
2011-08-05 Robert Dewar <dewar@adacore.com>
* styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
* stylesw.adb: Implement -gnatyC to control comment spacing
* stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
-gnatyc/C).
* usage.adb: Add line for -gnatyC.
2011-08-05 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document -gnatyC for J505-006
* vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
synonym for COMMENTS2).
From-SVN: r177453
2011-08-05 Arnaud Charlet <charlet@adacore.com>
* make.adb (Linking_Phase): No longer need to set source search path
before calling gnatlink in CodePeer mode.
* gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
gcc in CodePeer mode, since the binder generated file no longer has a
'with Main'.
* switch.ads, switch.adb (Is_Language_Switch): Removed.
* switch-c.adb: Update comment.
2011-08-05 Thomas Quinot <quinot@adacore.com>
* exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
2011-08-05 Nicolas Roche <roche@adacore.com>
* gnat_ugn.texi: Fix minor syntax error issue.
2011-08-05 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
delete or close the file when the call to gnatmake returns a non
successful return code.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
check, indicate that the copy of the original node does not come from
source, to prevent an infinite recursion of the expansion.
2011-08-05 Johannes Kanig <kanig@adacore.com>
* debug.adb: document switch -gnatd.G for gnat2why, which deactivates
VC generation for subprogram bodies.
2011-08-05 Yannick Moy <moy@adacore.com>
* einfo.ads: Typo.
* sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
the base type with the smallest allowed base type.
2011-08-05 Sergey Rybin <rybin@adacore.com>
* tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
aspects.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.ads: minor comment updates.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
instantiation and a formal package the compiler generates a package
renaming declaration so that the generic name within the declaration
is interpreted as a renaming of the instance. At the end of a formal
package declaration, this renaming must become invisible.
From-SVN: r177437
2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
comparison and rely on concrete entities instead.
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
and discriminants, to indicate that the type has an access discriminant
that supports implicit dereference.
* snames.ads-tmpl: Add names of aspects and attributes related to
Ada2012 iterators: constant_indexing, default_iterator,
iterator_element, implicit_dereference, variable_indexing.
* aspects.ads, aspects.adb: entries for iterator-related aspects.
* sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
iterator-related aspects.
* sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
2011-08-05 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
metrics in gnatmetric to cover new kinds of coupling mentrics.
2011-08-05 Steve Baird <baird@adacore.com>
* bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
of calling the user-defined main subprogram.
(Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
is set) Call_Main_Subprogram ahead of, as opposed to
inside of, Main.
(Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
generation of a "with" of the user-defined main subprogram.
Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
(which is now called from Gen_Main instead).
From-SVN: r177436
2011-08-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: (Check_Private_Overriding): better error message,
suggested by AI95-0068.
2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
the two potential initialization calls. This accounts for any
access-before-elaboration checks which may precede the initialization
calls.
(Next_Suitable_Statement): New routine. Returns the next real statement
after the input node while skipping generated checks.
* sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
with comment on usage.
Do not generate Elaborate_All when the trigger is a finalization call
coming from a type init proc.
(Check_Elab_Call): Propagate the initialization procedure context to
subsequent calls to Check_A_Call.
(Check_Internal_Call_Continue): Propagate the initialization procedure
context to subsequent calls to Check_Elab_Call.
(Is_Finalization_Procedure): New routine. Returns True if the input
entity denotes a [Deep_]Finalize routine.
* sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
along with comment on usage.
2011-08-05 Vadim Godunko <godunko@adacore.com>
* s-atocou.ads: Add list of supported platforms.
2011-08-05 Yannick Moy <moy@adacore.com>
* sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
* opt.ads (Disable_ALI_File): new Boolean flag
* lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
2011-08-05 Ed Falis <falis@adacore.com>
* env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
environ is properly defined.
2011-08-05 Vincent Celier <celier@adacore.com>
* make.adb (Compilation_Phase): Exit immediately when all objects have
been found up to date, to avoid multiple exit messages.
* prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
same project for languages with no compiler.
* gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
-eI.
From-SVN: r177434
2011-08-04 Yannick Moy <moy@adacore.com>
* sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
opt.ads, lib-xref.ads: Code clean up.
2011-08-04 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Update description of Test_Case
* gnat_ugn.texi: Typo.
2011-08-04 Ed Falis <falis@adacore.com>
* adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
it is of type Root_Controlled. This action eliminates fields Prev and
Next from type equality.
2011-08-04 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb: Correct typo.
2011-08-04 Matthew Heaney <heaney@adacore.com>
* a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
component.
From-SVN: r177390
2011-08-04 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
(Analyze_Pragma): allow static string expression for name of Test_Case,
instead of simply string literals.
* sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
expressions.
2011-08-04 Vincent Celier <celier@adacore.com>
* makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
case suffixes to find truncated main sources.
2011-08-04 Tristan Gingold <gingold@adacore.com>
* impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
(Compute_Current_Task): Ditto.
2011-08-04 Tristan Gingold <gingold@adacore.com>
* gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
2011-08-04 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb (Is_Global_Constant): new function that detects
library-level constant.
(Add_ALFA_Xrefs): ignore global constants in ALFA xref.
* sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
used as selector of parameter association, in ALFA mode.
From-SVN: r177389
2011-08-04 Yannick Moy <moy@adacore.com>
* sem_prag.adb, sem.ads: Code cleanup.
2011-08-04 Tristan Gingold <gingold@adacore.com>
* s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
* s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
results if possible.
* s-stusta.adb (Print): Adjust after changes in s-stausa.
* gnat_ugn.texi: Update dynamic stack usage section.
2011-08-04 Steve Baird <baird@adacore.com>
* bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
contains only a call to the user-defined main subprogram.
(Gen_Main_Ada) - If CodePeer_Mode is set, then
call the "wrapper" subprogram instead of directly
calling the user-defined main subprogram.
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
alternatives of a case statement for controlled objects. Rename local
variable A to Dead_Alt.
(Expand_N_If_Statement): Check the then and else statements of an if
statement for controlled objects. Check the then statements of all
elsif parts of an if statement for controlled objects.
(Expand_N_Loop_Statement): Check the statements of a loop for controlled
objects.
* exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
detects a loop associated with the expansion of an array object.
Augment the processing of the loop statements to account for a possible
wrap done by Process_Statements_For_Controlled_Objects.
* exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
statements and abortable part of an asynchronous select for controlled
objects.
(Expand_N_Conditional_Entry_Call): Check the else statements of a
conditional entry call for controlled objects.
(Expand_N_Selective_Accept): Check the alternatives of a selective
accept for controlled objects.
(Expand_N_Timed_Entry_Call): Check the entry call and delay
alternatives of a timed entry call for controlled objects.
* exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
exception handler for controlled objects.
* exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
Add formal parameter Nested_Constructs along with its associated
comment.
(Requires_Cleanup_Actions (Node_Id)): Update all calls to
Requires_Cleanup_Actions.
(Process_Statements_For_Controlled_Objects): New routine.
* exp_util.ads (Process_Statements_For_Controlled_Objects): New
routine. Inspect a node which contains a non-handled sequence of
statements for controlled objects. If such an object is found, the
statements are wrapped in a block.
From-SVN: r177386
2011-08-04 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Improve documentation of gnatmake switch
--source-info-file=.
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
type). Initialize Atyp to the appropriate type which is later checked
for completion. Rewrite the assertion associated with private type
completion.
2011-08-04 Ed Falis <falis@adacore.com>
* adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
initialize the number of CPUs.
2011-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb (Disambiguate): New subsidiary routine
In_Same_Declaration_List, to implement AI05-0020: a user-defined
equality on an anonymous access type whose designated type is private
does not lead to an ambiguity with the universal access equality
operator in the body or child units of the defining package. The same
is true for a multiplication operator on a private type completed with
a fixed-point-type.
2011-08-04 Javier Miranda <miranda@adacore.com>
* opt.ads (Init_Or_Norm_Scalars_Config): Removed.
(Normalize_Scalars_Config): Removed.
* opt.adb
(Register_Opt_Config_Switches): Remove registering config values of
Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
(Restore_Opt_Config_Switches): Remove code which restores the values of
Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
Init_Or_Norm_Scalars.
(Save_Opt_Config_Switches): Remove code which saves values of
Init_Or_Norm_Scalars and Normalize_Scalars.
(Set_Opt_Config_Switches): Remove code which restores config values of
Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
Init_Or_Norm_Scalars.
2011-08-04 Yannick Moy <moy@adacore.com>
* frontend.adb (Frontend): remove previous patch to avoid full
qualification in ALFA mode.
* lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
* sem_util.adb, sem_util.ads (Unique_Name): new function to define a
unique name for an entity, which could be used to identify the entity
across compilation units.
2011-08-04 Thomas Quinot <quinot@adacore.com>
* prj-env.adb
(Initialize_Default_Project_Path): Add target specific directory
($prefix/$target/lib/gnat) in front of project path in all cases
(making gnatmake's behaviour consistent with gprbuild).
* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
Pass target name from Sdefault to project subsystem.
* gnatls.adb: Show new target specific default project directory.
2011-08-04 Johannes Kanig <kanig@adacore.com>
* cstand.adb: Add Information to Identifier in Standard
(Identifer_For): Set Entity to the corresponding entity
From-SVN: r177383
2011-08-04 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Update doc on gnatcheck.
2011-08-04 Yannick Moy <moy@adacore.com>
* lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
xrefs in a scope.
2011-08-04 Yannick Moy <moy@adacore.com>
* exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
performing expansion.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper,
Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
it is not called in ALFA mode.
From-SVN: r177382
2011-08-04 Emmanuel Briot <briot@adacore.com>
* projects.texi: Added documentation for the IDE'Gnat project file
attribute.
2011-08-04 Nicolas Roche <roche@adacore.com>
* gnat_rm.texi: Minor editing.
2011-08-04 Javier Miranda <miranda@adacore.com>
* bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
and the library case for VM targets.
(Gen_Adainit_Ada): Likewise.
2011-08-04 Robert Dewar <dewar@adacore.com>
* g-altive.ads: Minor comment updates.
* prj-nmsc.adb: Minor reformatting.
2011-08-04 Javier Miranda <miranda@adacore.com>
* opt.ads
(Normalize_Scalars_Config): Value of the configuration switch set by
pragma Normalize_Scalars when it appears in the gnat.adc file.
(Normalize_Scalars): New field for record Config_Switches_Type. Used
to save and restore settings of this pragma.
* opt.adb
(Register_Opt_Config_Switches, Save_Opt_Config_Switches,
Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
2011-08-04 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
From-SVN: r177360
2011-08-04 Arnaud Charlet <charlet@adacore.com>
* prj-env.adb: Remove local debug traces.
2011-08-04 Yannick Moy <moy@adacore.com>
* checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
was used instead of Hi_OK, which could cause a read of an uninitialized
value later on. Detected while working on the new warning.
* exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
to local variable.
* sem_ch5.adb (Analyze_Assignment): set the last assignment component
in more cases, in order to detect more unreferenced values.
* sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
object for expression, if any.
2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
* exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
the operand types instead of the Esize.
2011-08-04 Steve Baird <baird@adacore.com>
* switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
enable CodePeer_Mode.
* bindusg.adb (Display): Add help message describing -P binder switch.
* gnat_ugn.texi: Document -P binder switch.
* bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
user-defined main program directly.
(Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
user-defined main program in the context clause of the package body.
From-SVN: r177355
2011-08-04 Arnaud Charlet <charlet@adacore.com>
* debug.adb: Update comment.
2011-08-04 Robert Dewar <dewar@adacore.com>
* par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
exp_ch6.adb: Minor reformatting.
2011-08-04 Gary Dismukes <dismukes@adacore.com>
* gnat_ugn.texi: Add sentence about the case of compile-time-detected
checks for -gnateE.
2011-08-04 Ed Schonberg <schonberg@adacore.com>
* gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
2011-08-04 Thomas Quinot <quinot@adacore.com>
* sinfo.ads: Minor reformatting.
2011-08-04 Emmanuel Briot <briot@adacore.com>
* makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
even if there is no location.
From-SVN: r177351
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
* inline.adb: Revert previous change.
2011-08-03 Thomas Quinot <quinot@adacore.com>
* sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
subprogram with a limited formal that does not support external
streaming.
2011-08-03 Yannick Moy <moy@adacore.com>
* get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
continuation line
* lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
not from current unit in two phases, because it is not possible to
change the table while iterating over its content.
* put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
2011-08-03 Sergey Rybin <rybin@adacore.com>
* vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
* gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
From-SVN: r177255
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Document -Wstack-usage.
* gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
2011-08-03 Thomas Quinot <quinot@adacore.com>
* sem_prag.adb Issue an error (not a warning) when a C++ type does not
have keyword LIMITED.
2011-08-03 Yannick Moy <moy@adacore.com>
* alfa.adb, alfa.ads, alfa_test.adb: New files.
* ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
(Scan_ALI): do not issue a fatal error if parsing known lines after Xref
section (does not happen in compiler, only if code directly calls
Scan_ALI).
* get_alfa.adb, get_alfa.ads: New files.
* lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
needed.
* lib-xref-alfa.adb: New file.
* lib-xref.adb, lib-xref.ads
(Xref_Entry): redefine information needed in cross-references for ALFA.
Push ALFA treatments in separated local package.
(Enclosing_Subpragram_Or_Package): treat specially subprogram
identifiers. Return entity of package body instead of spec. Return
Empty for a scope with no location.
(Generate_Reference): adapt to new components for ALFA information.
Remove the need for D references on definitions.
(Is_Local_Reference): moved to ALFA local package
(Output_References): extract subfunction as Extract_Source_Name
(Output_Local_References): remove procedure, replaced by filtering of
cross-references in package ALFA and printing in Put_ALFA.
(Write_Entity_Name): remove procedure
* lib.adb, lib.ads (Extract_Source_Name): extract here function to
print exact name of entity as it appears in source file
(Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
* put_alfa.adb, put_alfa.ads: New files.
* xref_lib.adb (Search_Xref): protect read of cross-references against
reading other sections of the ALI file, in gnatxref
(Search): protect read of cross-references against reading other
sections of the ALI file, in gnatfind.
* gcc-interface/Make-lang.in: Update dependencies.
2011-08-03 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb: Minor reformatting.
2011-08-03 Jose Ruiz <ruiz@adacore.com>
* s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
raising an exception.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
type, always use 1 as the lower bound or string, even if lower bound of
context is not static, to handle properly null strings in a non-static
context.
2011-08-03 Bob Duff <duff@adacore.com>
* sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
always legal on the right-hand side of an assignment statement; there
is always an applicable index constraint in this case. Therefore, the
check for Pkind = N_Assignment_Statement is now unconditional -- it
doesn't depend on whether Is_Constrained (Typ).
From-SVN: r177239
2011-08-03 Robert Dewar <dewar@adacore.com>
* exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
for an itype created within a generic unit.
2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
suppresses all inlining.
From-SVN: r177238
2011-08-03 Gary Dismukes <dismukes@adacore.com>
* sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
choices of a named array aggregate, bail out when any choices are
marked as Errors_Posted.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
in which entity is frozen, to handle properly loop variables in
iterators.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
subtype is not static, compute the upper bound using attributes, to
handle properly index types that are not integer types.
2011-08-03 Bob Duff <duff@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
Update copyright notice.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Discriminant_Constraints): Only use
Original_Discriminant if within an instance.
* sem_ch4.adb (Analyze_Selected_Component): Ditto.
2011-08-03 Thomas Quinot <quinot@adacore.com>
* einfo.ads: Minor reformatting.
2011-08-03 Ed Schonberg <schonberg@adacore.com>
* exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
composite type with an unfrozen subcomponent, in the profile of a
primitive operation.
From-SVN: r177236
2011-08-02 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
reference when needed.
2011-08-02 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Fix typo.
2011-08-02 Vincent Celier <celier@adacore.com>
* make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
archive file name. Do not use the full path name of archives for Open
VMS.
From-SVN: r177097
2011-08-01 Ed Schonberg <schonberg@adacore.com>
* exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
over an arbitrary expression of an array or container type.
* lib-xref.adb: clarify comment.
2011-08-01 Bob Duff <duff@adacore.com>
* einfo.ads: Minor reformatting.
* debug.adb: Minor comment improvement.
2011-08-01 Javier Miranda <miranda@adacore.com>
* sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
consider hidden subprograms as valid candidates.
2011-08-01 Arnaud Charlet <charlet@adacore.com>
* make.adb (Compile): Strip -mxxx switches in CodePeer mode.
2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
* gnat_ugn.texi: Fix typo.
From-SVN: r177031
2010-10-22 Thomas Quinot <quinot@adacore.com>
* sem_ch3.adb (Complete_Private_Subtype): The full view of the subtype
may already have a rep item chain inherited from the full view of the
base type, so do not overwrite it when propagating rep items from the
partial view of the subtype.
* sem_ch3.adb: Minor code reorganization. Minor reformatting.
2010-10-22 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi (gnatmetric): Remove description of debug option.
2010-10-22 Tristan Gingold <gingold@adacore.com>
* adaint.c (__gnat_number_of_cpus): Add implementation for VMS.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* par-ch5.adb: Set properly starting sloc of loop parameter.
From-SVN: r165818
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (May_Be_Lvalue): An actual in a function call can be an
lvalue in Ada2012, if the function has in-out parameters.
2010-10-22 Robert Dewar <dewar@adacore.com>
* cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb,
sem_ch10.adb: Minor reformatting.
2010-10-22 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Remove most of the content of gnatcheck chapter.
2010-10-22 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb: Handle indexed P'old.
From-SVN: r165817
2010-10-22 Robert Dewar <dewar@adacore.com>
* sprint.adb: Minor reformatting.
2010-10-22 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Expand_N_Object_Declaration): Do required predicate
checks.
* sem_ch3.adb (Complete_Private_Subtype): Propagate predicates to full
view.
* sem_ch6.adb (Invariants_Or_Predicates_Present): New name for
Invariants_Present.
(Process_PPCs): Handle predicates generating post conditions
* sem_util.adb (Is_Partially_Initialized_Type): Add
Include_Null parameter.
* sem_util.ads (Is_Partially_Initialized_Type): Add
Include_Null parameter.
2010-10-22 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi (gnatelim): Add description for '--ignore' option
2010-10-22 Thomas Quinot <quinot@adacore.com>
* sem_prag.adb (Check_First_Subtype): Specialize error messages for
case where argument is not a type.
From-SVN: r165815
2010-10-18 Bob Duff <duff@adacore.com>
* sinfo.ads, sinfo.adb: Modify comment about adding fields to be more
correct, and to be in a more convenient order.
(Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for
recording the Default_Storage_Pool for a parent library unit.
* einfo.ads (Etype): Document the case in which Etype can be Empty.
* sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new
Default_Storage_Pool pragma.
* sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes.
* gnat_ugn.texi: Document Default_Storage_Pool as a new configuration
pragma.
* freeze.adb (Freeze_Entity): When freezing an access type, take into
account any Default_Storage_Pool pragma that applies. We have to do
this at the freezing point, because up until that point, a Storage_Pool
or Storage_Size clause could occur, which should override the
Default_Storage_Pool.
* par-prag.adb: Add this pragma to the list of pragmas handled entirely
during semantics.
* sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the
Default_Storage_Pool information.
* opt.ads (Default_Pool, Default_Pool_Config): New globals for recording
currently-applicable Default_Storage_Pool pragmas.
* opt.adb: Save/restore the globals as appropriate.
* snames.ads-tmpl (Name_Default_Storage_Pool,
Pragma_Default_Storage_Pool): New pragma name.
2010-10-18 Vincent Celier <celier@adacore.com>
* make.adb (Switches_Of): Put the spec and body suffix in canonical
case.
From-SVN: r165637
2010-10-18 Robert Dewar <dewar@adacore.com>
* einfo.ads, einfo.adb: Minor reformatting.
* gnat_ugn.texi, ug_words: Add missing entries, fix typos.
2010-10-18 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb (Is_In_Config): When the switch accepts either a space
or equal, we output an equal every time.
2010-10-18 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Entry_Call): Handle call to an entry family
member when pre/post conditions are present.
* exp_ch9.adb (Build_PPC_Wrapper): The PPC_Wrapper for an entry family
includes an index parameter, and the name of the enclosed entry call is
an indexed component.
From-SVN: r165634
2010-10-11 Robert Dewar <dewar@adacore.com>
* debug.adb: Remove d.A flag to delay address clause (not needed any
more). Add d.A flag to enable tree read/write of aspect spec hash table
* sem_ch13.adb (Analyze_Aspect_Specifications): Properly delay address
clause.
(Rep_Item_Too_Late): No need for special processing for delayed rep
items (and it caused difficulties in the address case).
* tree_gen.adb: Only write aspect spec hash table if -gnatd.A is set
* tree_in.adb: Only write aspect spec hash table if -gnatd.A is set
2010-10-11 Pat Rogers <rogers@adacore.com>
* gnat_ugn.texi: Minor editing.
From-SVN: r165316
2010-10-07 Robert Dewar <dewar@adacore.com>
* par-ch6.adb: Fix error in handling of parametrized expressions.
* par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
mode.
(P_Simple_Expression): Better message for qualified expression prefix
* s-crc32.adb: Minor reformatting.
* exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
storage pool (this test is moved to Sem_Intr).
* sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
empty storage pool, moved here from Exp_Intr and made into error.
(Check_Intrinsic_Call): Remove assumption in generating not-null free
warning that the name of the instantiation is Free.
* sinput.adb (Tree_Read): Document use of illegal free call allowed in
GNAT mode.
* types.ads: Remove storage size clauses from big types (since we may
need to do deallocations, which are now illegal for empty pools).
2010-10-07 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Add missing word.
From-SVN: r165099
2010-10-07 Robert Dewar <dewar@adacore.com>
* sem_res.adb: Minor reformatting
2010-10-07 Olivier Ramonat <ramonat@adacore.com>
* gnat_ugn.texi: Minor editing.
* opt.ads: Document that scripts rely on specific formats in opt.ads
2010-10-07 Robert Dewar <dewar@adacore.com>
* a-wichun.ads, a-wichun.adb (To_Lower_Case): New function
(To_Upper_Case): Fix to be inverse of To_Lower_Case
* a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function
(To_Upper_Case): Fix to be inverse of To_Lower_Case
2010-10-07 Robert Dewar <dewar@adacore.com>
* a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file.
* impunit.adb: Add entries for a-wichha/a-zchhan
* Makefile.rtl: Add entries for a-wichha/a-zchhan
2010-10-07 Vincent Celier <celier@adacore.com>
* make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree
* makeutl.adb (Check_Source_Info_In_ALI): If there is at least one
replaced source, check that none of the replaced sources are in the
dependencies.
* makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree
* prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is
replaced with a source with a different file name, put it in the hash
table Replaced_Sources.
(Add_Source): Call Remove_Source with Data.Tree. If there is at least
one replaced source, check if it has the same file name as the current
source; if it has, remove it from the hash table Replaced_Sources.
* prj.adb (Reset): Reset hash table Tree.Replaced_Sources
* prj.ads (Replaced_Source_HTable): New hash table
(Project_Tree_Data): New components Replaced_Sources and
Replaced_Source_Number.
2010-10-07 Ed Schonberg <schonberg@adacore.com>
* sem_elab.adb (Check_A_Call): After inserting elaboration check, set
proper flag to prevent a double elaboration check on the same call.
* exp_util.adb (Insert_Actions): If the enclosing node is an
Expression_With_Actions and it has been analyzed already, find
insertion point further up in the tree.
2010-10-07 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all
local variables. Remove the general restriction which prohibits the
application of record rep clauses to Unchecked_Union types. Add Ada
2012 check to detect improper naming of an Unchecked_Union
discriminant in record rep clause.
* sem_prag.adb: Add with and use clause for Exp_Ch7.
(Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union
type to all invocations of Check_Component and Check_Variant.
(Check_Component): Add formal parameters UU_Typ and In_Variant_Part.
Rewritten. Add Ada 2012 check to detect improper use of formal
private types and private extensions as component types of an
Unchecked_Union declared inside a generic body.
(Check_Variant): Add formal parameter UU_Typ. Propagate the
Unchecked_Union type to all calls of Check_Component. Signal that the
current component comes from the variant part of an Unchecked_Union
type.
(Inside_Generic_Body): New routine.
2010-10-07 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive
equality operation for a record component, verify that both formals
have the same type, and the result type is boolean.
2010-10-07 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Check_Files): When looking for the .ci file for a
binder generated file, look for both b~xxx and b__xxx as gprbuild
always uses b__ as the prefix of such files.
From-SVN: r165084
2010-10-05 Robert Dewar <dewar@adacore.com>
* par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
mode.
2010-10-05 Pascal Obry <obry@adacore.com>
* gnat_rm.texi: Fix typo.
2010-10-05 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi: Add note about identifiers with same name and
-fdump-ada-spec.
From-SVN: r164983
2010-10-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Do not elaborate type definition if syntax error.
2010-10-05 Javier Miranda <miranda@adacore.com>
* sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
to generate the full-qualified names of its corresponding spec.
This facilitates locating the corresponing body when reading
the DG output.
2010-10-05 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
canonical name without serial number only if the helper is becoming a
primitive of the type.
2010-10-05 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Minor code reorganization.
2010-10-05 Ed Schonberg <schonberg@adacore.com>
* par-ch6.adb: improve recovery with extra paren in function spec.
2010-10-05 Quentin Ochem <ochem@adacore.com>
* prj-tree.ads: Project_Path is now aliased.
2010-10-05 Thomas Quinot <quinot@adacore.com>
* checks.adb: Minor reformatting.
2010-10-05 Eric Botcazou <ebotcazou@adacore.com>
* mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
(Shared_Libgcc): New aliased variable.
(Shared_Libgcc_Switch): New constant.
(Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
* gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
to the compiler.
2010-10-05 Vincent Celier <celier@adacore.com>
* prj-part.adb (Parse_Simple_Project): When checking if a child project
imports its parent project, also look in projects being extended by
imported projects.
2010-10-05 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
2010-10-05 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Slot_Number): Add support to handle aliased entities.
(Generate_CG_Output): Switch -gnatd.Z is no longer needed to
activate this output.
2010-10-05 Arnaud Charlet <charlet@adacore.com>
* back_end.adb (Call_Back_End): Generate an error message when scil
generation is enabled, and no scil back-end (by default) is available.
2010-10-05 Javier Miranda <miranda@adacore.com>
* debug.adb: Update documentation because -gnatd.Z is no longer required
to generate the call-graph information.
2010-10-05 Javier Miranda <miranda@adacore.com>
* exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
runtime access check by an equivalent expansion that causes
no problems in the VM backend. The original expansion was
not good for the VM backends because when Tagged_Type_Expansion
is disabled the attribute Access_Disp_Table is not available.
2010-10-05 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
is class-wide and T1 is its specific type.
2010-10-05 Ed Schonberg <schonberg@adacore.com>
* einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
2010-10-05 Vincent Celier <celier@adacore.com>
* back_end.ads: Minor spelling error correction.
2010-10-05 Arnaud Charlet <charlet@adacore.com>
* switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
warnings when -gnatC is specified here so that warnings can be
re-enabled explicitly.
(Adjust_Global_Switches): No longer suppress warnings.
2010-10-05 Vincent Celier <celier@adacore.com>
* makeutl.adb: Minor reformatting.
2010-10-05 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
non-discrete type appears as an actual in a call.
From-SVN: r164976
2010-10-04 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
name of entity to biased warning msg.
(Analyze_Enumeration_Representation_Clause): Remove attempt to use
biased rep (wrong and never worked anyway).
2010-10-04 Arnaud Charlet <charlet@adacore.com>
* sem_elab.adb: Minor reformatting.
2010-10-04 Ed Schonberg <schonberg@adacore.com>
* exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
an access_to_protected subprogram type, and convert null value into
corresponding aggregate.
2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
* make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
* gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
AAMP.
2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
for N_Operator_Symbol.
(Indicate_Name_And_Type): Likewise.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
* sem_res.adb (Resolve): Likewise.
* sem_type.adb (Add_One_Interp): Likewise.
(Disambiguate): Likewise.
2010-10-04 Vincent Celier <celier@adacore.com>
* osint.adb (Read_Library_Info_From_Full): If object timestamp is less
than ALI file timestamp, return null.
2010-10-04 Vincent Celier <celier@adacore.com>
* prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length set to 79
* prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
replaces global constant with the same name. When a line is too long,
indent properly the next continuation line.
* prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
from 50 to 255, defaulted to 255, to indicate the maximum length of
lines in the project file.
2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
of Traverse_Func on it to look for subprogram references in a body.
Call Check_Subprogram_Refs on the body of inlined subprograms at the
outer level and keep clearing the Is_Public flag of subprograms as long
as it returns OK. Do not look at anything else than subprograms once
an inlined subprogram has been seen.
From-SVN: r164940
2010-10-04 Bob Duff <duff@adacore.com>
* sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
to make a qualified expression into a name (syntax-wise), then do not
consider it redundant.
2010-10-04 Thomas Quinot <quinot@adacore.com>
* sem_warn.ads: Fix typo.
2010-10-04 Javier Miranda <miranda@adacore.com>
* exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
TSS names.
(Write_Call_Info): Add missing support for renamed primitives.
2010-10-04 Thomas Quinot <quinot@adacore.com>
* exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
code between Make_Component_List_Assign and Make_Field_Assign.
2010-10-04 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Get_Directories): For non extending projects that
declare that they have no sources, do not create a non existing object
or exec directory if builder switch -p is used.
2010-10-04 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi (gnatcheck): Change the description of the report file
format.
2010-10-04 Ed Falis <falis@adacore.com>
* s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
determine whether Set_True is called from a task or an ISR.
(Set_True): test for being in a task context before trying to
dereference Defer_Abort or Undefer_Abort.
From-SVN: r164936
2010-09-10 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation for -gnatw.s/S
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Component_Size): Implement warning on overriden size clause.
(Analyze_Record_Representation_Clause): Implement warning on overriden
size clause.
* sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
(-gnatw.s/S).
* ug_words: Add entries for -gnatw.s/S.
* vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
* gcc-interface/Make-lang.in: Update dependencies.
2010-09-10 Vincent Celier <celier@adacore.com>
* prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
a package with the same name from an imported or extended project.
* prj-proc.adb (Process_Declarative_Items): Process package extensions
2010-09-10 Bob Duff <duff@adacore.com>
* exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
'out' parameters.
From-SVN: r164194
2010-09-10 Jose Ruiz <ruiz@adacore.com>
* exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
separator when trying the pattern matching to detect predefined
primitive operations.
2010-09-10 Robert Dewar <dewar@adacore.com>
* bindgen.adb, atree.adb: Minor reformatting.
2010-09-10 Ben Brosgol <brosgol@adacore.com>
* ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
OpenVMS" section.
From-SVN: r164175
2010-09-10 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add section on intent of style checking options.
2010-09-10 Arnaud Charlet <charlet@adacore.com>
* xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
2010-09-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb: Improve error message on derivation from class-wide type
2010-09-10 Steve Baird <baird@adacore.com>
* gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
generation when Generate_SCIL is True.
2010-09-10 Geert Bosch <bosch@adacore.com>
* gnatlink.adb (Check_ Existing_Executable): New procedure for checking
validity of executable name and removing any existing executable
(Gnatlink): Call Check_Existing_Executable.
From-SVN: r164154
2010-09-09 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Add documentation for new gnatmake switch
--create-map-file.
* make.adb (Map_File): New global variable to store the value of switch
--create-map-file.
(Gnatmake): Add switch -M to gnatlink if buider switch --create-map-file
has been specified.
(Scan_Make_Arg): Recognize switch --create-map-file
* makeutl.ads (Create_Map_File_Switch): New constant string for new
gnatmake and gprbuild switch --create-map-file.
From-SVN: r164104
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_eval.adb (Is_Same_Value): Two occurrences of the same
discriminant cannot be assumed to be the same value because they may
refer to bounds of a component of two different instances of a
discriminated type.
2010-09-09 Gary Dismukes <dismukes@adacore.com>
* checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
operands of an operator to the type of an enclosing conversion, rewrite
the operator so the conversion can't be flagged as redundant.
Remove useless assignments to Typ and Rtyp.
2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Fix another long line.
2010-09-09 Bob Duff <duff@adacore.com>
* sem_warn.adb (Output_Reference_Error): Don't warn for renames read
but never assigned.
From-SVN: r164096
2010-09-09 Matthew Heaney <heaney@adacore.com>
* a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
Replace_Element, Reverse_Elements, Swap): Change exception message to
correctly indicate kind of tampering (cursor or element).
* a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
Swap_Links, Replace_Element, Swap): Ditto.
* a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
* a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
* a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
* a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
Generic_Replace_Element): Ditto
* a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
* a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
Replace_Element): Ditto.
* a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
Symmetric_Difference, Union, Include, Replace): Ditto
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sprint.adb (Write_Id): If the parent node is an expanded name, check
that its entity_or_associated_node is an entity before writing it out.
* exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
constructors, there is no need for a dispatch table pointer because the
table is fully inherited from the C++ code.
2010-09-09 Thomas Quinot <quinot@adacore.com>
* projects.texi: Fix wrong identifiers on package end lines in project
files examples.
* exp_ch6.adb: Minor reformatting.
2010-09-09 Tristan Gingold <gingold@adacore.com>
* gnatcmd.adb, vms_conv.ads, vms_help.adb, vms_cmds.ads: Extract
Command_Type from vms_conv.ads.
2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Fix description of -O3 optimization level.
From-SVN: r164092
2010-09-09 Yannick Moy <moy@adacore.com>
* a-cihama.adb, a-cohama.adb: Fix comments.
2010-09-09 Arnaud Charlet <charlet@adacore.com>
* i-cexten.ads: Add comments.
(Signed_128): New type, used by some C bindings.
* debug.adb: Update comment.
2010-09-09 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
gnatmetric and gnatstub) add a note that '-gnat05' should be used if
the tool should process Ada 2005 sources.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Remove_Parent): If the scope containing the child
instance is a block, examine the enclosing scope to determine if it is
a parent instance.
From-SVN: r164089
2010-09-09 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
2010-09-09 Arnaud Charlet <charlet@adacore.com>
* par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
do not generate an error for compatibility with legacy code.
ignored when generating SCIL.
* sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
From-SVN: r164082
2010-09-09 Vincent Celier <celier@adacore.com>
* osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
System.Case_Util
(Canonical_Case_Env_Var_Name): Ditto
2010-09-09 Bob Duff <duff@adacore.com>
* g-pehage.adb (Allocate): Initialize the allocated elements of IT.
2010-09-09 Robert Dewar <dewar@adacore.com>
* cstand.adb: Mark Boolean and Character types as Ordered
* einfo.adb (Has_Pragma_Ordered): New flag
* einfo.ads (Has_Pragma_Ordered): New flag
* g-calend.ads: Mark Day_Name as Ordered
* opt.ads: Mark Ada_Version_Type as Ordered
(Warn_On_Unordered_Enumeration_Type): New flag
* par-prag.adb: Add procdessing for pragma Ordered
* s-ficobl.ads (Read_File_Mode): New subtype
* s-fileio.adb: Use Read_File_Mode instead of explicit ranges
* s-taskin.ads: Mark Entry_Call_State as ordered
* sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
Has_Pragma_Ordered.
* sem_ch6.ads: Mark Conformance_Type as Ordered
* sem_prag.adb: Implement pragma Ordered
* sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
(Resolve_Comparison_Op): Diagnose unordered comparison
(Resolve_Range): Diagnose unordered range
* sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
-gnatw.u/U)
* snames.ads-tmpl: Add entry for pragma Ordered
* style.ads (Check_Enumeration_Subrange): Removed
* styleg.adb (Check_Enumeration_Subrange): Removed
* styleg.ads (Check_Enumeration_Subrange): Removed
* stylesw.adb: Remove handling of -gnatyE switch
* stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
* vms_data.ads: Remove -gnatyE entries
Add -gnatw.u entries
* ug_words: Entries for -gnatw.u and -gnatw.U
* gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
* gnat_rm.texi: Document pragma Ordered.
* s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
* s-tpobop.adb: Remove comparison on unordered enumeration type.
From-SVN: r164070
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Same_Object): include formal parameters.
2010-09-09 Vincent Celier <celier@adacore.com>
* make.adb (Queue): New package implementing a new impementation of the
queue, taking into account the new switch --single-compile-per-obj-dir.
* makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
* opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
False.
* switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
switch --single-compile-per-obj-dir.
* vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
switch --single-compile-per-obj-dir.
* gnat_ugn.texi: Add documentation for new gnatmake switch
--single-compile-per-obj-dir.
From-SVN: r164067
2010-09-09 Robert Dewar <dewar@adacore.com>
* prj-env.adb: Minor code reorganization.
* par-ch3.adb: Minor reformatting.
* gcc-interface/Make-lang.in: Update dependencies.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
a task declaration can be an entry body.
2010-09-09 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Make_DT): Decorate as "static" variables containing
tags of library level tagged types.
(Make_Tags): Disable backend optimizations about aliasing for
declarations of access to dispatch tables.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
subtype for a null-excluding access type, recover the original
subtype_mark to get the proper visibility on the original name.
2010-09-09 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
create the primitive equality operation for an untagged record. The
operation is the predefined equality if no record component has a
user-defined equality, or if there is a user-defined equality for the
type as a whole, or when the type is derived and it has an inherited
equality. Otherwise the body of the operations is built as for tagged
types.
(Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
(Make_Eq_Body): New function to create the expanded body of the equality
operation for tagged and untagged records. In both cases the operation
composes, and the primitive operation of each record component is used
to generate the equality function for the type.
* exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
has an abstract equality defined, replace its call with a
Raise_Program_Error.
* sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
user-defined equality operator for an untagged record type does not
happen after type is frozen, and appears in the visible part if partial
view of type is not limited.
2010-09-09 Tristan Gingold <gingold@adacore.com>
* gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
2010-09-09 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Remove incorrect statement about -E being the default.
From-SVN: r164055
2010-06-23 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
label to the new sequence of statements. Set the sloc of the raise
statement onto the new goto statements.
2010-06-23 Robert Dewar <dewar@adacore.com>
* a-stuten.ads, a-stuten.adb: New files.
* impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
* Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
2010-06-23 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Add documentation of -gnat12 switch
Add documentation of -gnatX switch.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* inline.ads: Include the current Ada_Version in the info for pending
instance bodies, so that declaration and body are compiled with the
same Ada_Version.
* inline.adb: Move with_clause for Opt to spec.
* sem_ch12.adb (Analyze_Package_Instantiation,
Analyze_Subprogram_Instantiation): Save current Ada_Version in
Pending_Instantiation information.
(Instantiate_Package_Body, Instantiate_Subprogram_Body,
Inline_Package_Body): Use the Ada_Version present in the body
information.
2010-06-23 Robert Dewar <dewar@adacore.com>
* usage.adb: Add documentation for -gnat12 switch.
* errout.ads: Add VMS alias entry for -gnat12 switch
* gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
Add documentation for pragma Extensions_Allowed.
* opt.ads: Add entry for Ada 2012 mode.
* sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
features.
* sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
Ada_2012.
* sem_ch13.adb: Add handling for Ada 2012 mode.
* snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
* switch-c.adb: Add handling for -gnat12 switch.
Implement -gnat2005 and -gnat2012.
* usage.adb: Add documentation for -gnat12 switch.
* vms_data.ads: Add /12 switch for Ada 2012 mode.
From-SVN: r161268
2010-06-23 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
entities for parent types that are interfaces. Needed in generics to
handle formals that implement interfaces.
(Derive_Subprograms): Add assertion for derivation of tagged types that
do not cover interfaces. For generics, complete code that handles
derivation of type that covers interfaces because the previous
condition was weak (it required only name consistency; arguments were
not checked). Add new code to locate primitives covering interfaces
defined in generic units or instantiatons.
* sem_util.adb (Has_Interfaces): Add missing support for derived types.
* sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
* exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
interfaces that are parents of the type because they share the primary
dispatch table.
(Register_Primitive): Do not register primitives of interfaces that
are parents of the type.
* sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
* exp_cg.adb (Write_Type_Info): When displaying overriding of interface
primitives skip primitives of interfaces that are parents of the type.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Eval_Attribute): If the prefix is an array, the
attribute cannot be constant-folded if an index type is a formal type,
or is derived from one.
* checks.adb (Determine_Range): ditto.
2010-06-23 Arnaud Charlet <charlet@adacore.com>
* gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
2010-06-23 Bob Duff <duff@adacore.com>
* g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
(Insert): Disallow nul characters.
(misc output routines): Assert no nul characters.
From-SVN: r161247
2010-06-22 Vincent Celier <celier@adacore.com>
* clean.adb (Parse_Cmd_Line): Recognize switch
--unchecked-shared-lib-imports.
(Usage): Add line for switch --unchecked-shared-lib-imports
* makeusg.adb: Add line for switch --unchecked-shared-lib-imports
* makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
moved from GPR_Util.
* switch-m.adb (Scan_Make_Switches): Recognize switch
--unchecked-shared-lib-imports.
* vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
* gnat_ugn.texi: Add documentation for new switch
--unchecked-shared-lib-imports. Add also documentation for --subdirs.
From-SVN: r161186
2010-06-22 Thomas Quinot <quinot@adacore.com>
* sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
error reporting with generic types.
2010-06-22 Thomas Quinot <quinot@adacore.com>
* bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
vms_data.ads: Add a new command line switch -A to gnatbind to output
the list of all ALI files for the partition.
From-SVN: r161153
2010-06-22 Arnaud Charlet <charlet@adacore.com>
* s-osinte-vxworks.ads: Fix casing.
* s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
change: Interfaces.C does not provide a long_long type.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
native user's guide, since this document contains the two versions.
* gcc-interface/Make-lang.in: Update doc dependencies.
From-SVN: r161152
2010-06-22 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb: Minor reformatting. Minor code reorganization.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
not build this file on its own (only through gnat_ugn.texi).
Remove macro definitions and insert simpler version in gnat_ugn.texi.
From-SVN: r161151
2010-06-22 Robert Dewar <dewar@adacore.com>
* ali-util.ads: Minor comment update.
* g-socthi-mingw.adb: Minor reformatting.
2010-06-22 Ed Falis <falis@adacore.com>
* s-osinte-vxworks.ads: take sigset_t definition from System.VxWorks.Ext
* s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
for specific versions of VxWorks.
2010-06-22 Emmanuel Briot <briot@adacore.com>
* gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
related sections from user's guide and reference manual, since they
have now been merged together into a separate document (projects.texi).
This removes a lot of duplication where attributes where described
in several places.
The grammar for the project files is now in each of the sections
(packages,expressions,...) instead of being duplicates in two other
sections (one in the user's guide that contained the full grammar,
and various sections in the rm that contained extracts of the same
grammar).
Added the full list of all supported attributes, since existing lists
were incomplete
Rename "associative array" into "indexed attribute"
Remove sections that were duplicates ("External References in
Project Files" and "External Values", and "Project Extensions"
for instance). The list of valid packages in project files is now in
a single place.
2010-06-22 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Add_Internal_Interface_Entities): If
Find_Primitive_Covering_Interface does not find the operation, it may
be because of a name conflict between the inherited operation and a
local non-overloadable name. In that case look for the operation among
the primitive operations of the type. This search must succeed
regardless of visibility.
From-SVN: r161150
2010-06-18 Thomas Quinot <quinot@adacore.com>
* g-socket.adb, g-socket.ads (Null_Selector): New object.
2010-06-18 Pascal Obry <obry@adacore.com>
* gnat_ugn.texi: Minor clarification.
2010-06-18 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
code when using the project dir as the source dir.
(Search_Directories): use the normalized name for the source directory,
where symbolic names have potentially been resolved.
2010-06-18 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
when we create N_Expression_With_Actions node.
(Expand_Short_Circuit): Ditto.
2010-06-18 Robert Dewar <dewar@adacore.com>
* exp_util.adb: Minor reformatting.
From-SVN: r160975
2010-06-18 Thomas Quinot <quinot@adacore.com>
* types.ads: Clean up obsolete comments
* tbuild.adb: Minor reformatting.
* exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
exp_strm.adb, aa_drive.adb: Minor reformatting.
* sem_res.adb (Is_Predefined_Operator): An operator that is an imported
intrinsic with an Interface_Name denotes an imported back-end builtin,
and must be rewritten into a call, not left in the tree as an operator,
so return False in that case.
2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
* exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
2010-06-18 Robert Dewar <dewar@adacore.com>
* scos.ads: Add proposed output for case expression
2010-06-18 Jose Ruiz <ruiz@adacore.com>
* gnat_ugn.texi: Document that, when using the RTX compiler to generate
RTSS modules, we need to use the Microsoft linker.
From-SVN: r160974
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_Atomic_Object): Predicate does not apply to
subprograms.
2010-06-17 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
style check messages.
* sem_res.adb (Resolve_Call): Don't call
Check_For_Eliminated_Subprogram if we are analyzing within a spec
expression.
2010-06-17 Robert Dewar <dewar@adacore.com>
* debug.adb: Add documentation for debug flags .X and .Y
* exp_ch4.adb (Expand_Short_Circuit_Operator): Use
Use_Expression_With_Actions.
* gnat1drv.adb (Adjust_Global_Switches): Set
Use_Expression_With_Actions.
* opt.ads (Use_Expression_With_Actions): New switch.
From-SVN: r160931
* gnat_ugn.texi: Add a section introducing gdbserver.
2010-06-17 Thomas Quinot <quinot@adacore.com>
* sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
reformatting.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
constrained discriminated parent that is a private type.
(Analyze_Record_Aggregate): when collecting inherited discriminants,
handle properly an ancestor type that is a constrained private type.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Enclosing_Subprogram): If the called subprogram is
protected, use the protected_subprogram_body only if the original
subprogram has not been eliminated.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* freeze.adb (Freeze_Expression): The designated type of an
access_to_suprogram type can only be frozen if all types in its profile
are fully defined.
From-SVN: r160923
2010-06-17 Robert Dewar <dewar@adacore.com>
* par.adb: Minor comment fix
* sem_aggr.adb, sem_ch3.adb: Minor reformatting
2010-06-17 Doug Rupp <rupp@adacore.com>
* s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
change Address to Short_Address in functions where both must be the
same size for intrinsics to work.
2010-06-17 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb (Analyze_Selected_Component): A selected component may
not denote a (private) component of a protected object.
2010-06-17 Bob Duff <duff@adacore.com>
* par-labl.adb (Try_Loop): Test whether the label and the goto are in
the same list.
2010-06-17 Joel Brobecker <brobecker@adacore.com brobecker>
* gnat_ugn.texi: Update the documentation about GDB re: exception
catchpoints.
From-SVN: r160919
2010-06-17 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Update gnatcheck doc.
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
incomplete view of the type that is not tagged, and the full type is a
tagged extension, create class_wide type now, and warn that the
incomplete view should be tagged as well.
From-SVN: r160913
2010-06-17 Vincent Celier <celier@adacore.com>
* gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
Update the last line of the usage, indicating what commands do not
accept project file switches.
* vms_conv.adb: Do not issue usage line for GNAT SYNC
* vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
GNAT ELIM.
* gnat_ugn.texi: Document the relaxed rules for library directories in
externally built library projects.
2010-06-17 Doug Rupp <rupp@adacore.com>
* s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
where possible.
* s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
* gcc-interface/Makefile.in: Update VMS target pairs.
2010-06-17 Vasiliy Fofanov <fofanov@adacore.com>
* adaint.c: Reorganized in order to avoid use of GetProcessId to stay
compatible with Windows NT 4.0 which doesn't provide this function.
2010-06-17 Vincent Celier <celier@adacore.com>
* ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
different timestamps but the checksum is the same, issue a short
message saying so.
2010-06-17 Arnaud Charlet <charlet@adacore.com>
* s-interr.adb (Finalize): If the Abort_Task signal is set to system,
it means that we cannot reset interrupt handlers since this would
require potentially sending the abort signal to the Server_Task.
From-SVN: r160911
2010-06-17 Robert Dewar <dewar@adacore.com>
* back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
reformatting.
* sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
sem_eval.adb: Use Ekind_In
2010-06-17 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb: better error message for illegal inherited discriminant
2010-06-17 Vincent Celier <celier@adacore.com>
* bindusg.adb: Remove lines for -A and -C
* gnat_ugn.texi: Remove all documentation and examples of switches -A
and -C for gnatbind and gnatlink.
* gnatlink.adb (Usage): Remove lines for -A and -C
* switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
specified.
* gcc-interface/Make-lang.in: Update dependencies.
From-SVN: r160891
2010-06-16 Javier Miranda <miranda@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
node referenced by the SCIL node of dispatching "=" to skip the tags
comparison.
2010-06-16 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
to prevent cascaded errors and compilation aborts.
2010-06-16 Robert Dewar <dewar@adacore.com>
* back_end.adb (Switch_Subsequently_Cancelled): New function
Move declarations to package body level to support this change
* back_end.ads (Switch_Subsequently_Cancelled): New function
* gnat_ugn.texi: Document -gnat-p switch
* switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
* ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
* usage.adb: Add line for -gnat-p switch
* vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
2010-06-16 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
modification.
From-SVN: r160847
2010-06-14 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
and gnatppa.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
factoring duplicated code between...
(Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
* a-envvar.ads: Minor reformatting
2010-06-14 Arnaud Charlet <charlet@adacore.com>
* ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
static entities.
(Scan_ALI): Take into account new Visibility field.
(Visibility_Kind): New type.
(Xref_Entity_Record): Replace Lib field by Visibility.
* gcc-interface/Make-lang.in: Update dependencies.
2010-06-14 Pascal Obry <obry@adacore.com>
* raise.h: Remove unused defintions.
2010-06-14 Bob Duff <duff@adacore.com>
* par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
the incorrect error "proper body expected".
* par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
allowed here" error in case of subunits, which was triggered by the
above change to P_Subunit.
From-SVN: r160740
2010-06-14 Robert Dewar <dewar@adacore.com>
* gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Save_References): If an identifier has been rewritten
during analysis as an explicit dereference, keep the reference implicit
in the generic, but preserve the entity if global. This prevents
malformed generic trees in the presence of some nested generics.
2010-06-14 Sergey Rybin <rybin@adacore.com>
* gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
tool with '-files=' option. Also fix some small errors (wrong brackets)
From-SVN: r160716
2010-06-14 Gary Dismukes <dismukes@adacore.com>
* gnat_ugn.texi: Minor typo fixes and wording changes
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
prefixed form, do not re-analyze first actual, which may need an
implicit dereference.
* sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
prefixed notation, the analysis will rewrite the node, and possible
errors appear in the rewritten name of the node.
* sem_res.adb: If a call is ambiguous because its first parameter is
an overloaded call, report list of candidates, to clarify ambiguity of
enclosing call.
2010-06-14 Doug Rupp <rupp@adacore.com>
* s-auxdec-vms-alpha.adb: New package body implementing legacy
VAX instructions with Asm insertions.
* s-auxdec-vms_64.ads: Inline VAX queue functions
* s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
that show up only on VMS.
* gcc-interface/Makefile.in: Provide translation for
s-auxdec-vms-alpha.adb.
From-SVN: r160713
2010-06-14 Robert Dewar <dewar@adacore.com>
* a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting
2010-06-14 Eric Botcazou <ebotcazou@adacore.com>
* init.c: Code clean up.
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
not insert address clause in table for later validation if type of
entity is generic, to prevent possible spurious errors.
* sem_ch8.adb: Code clean up.
2010-06-14 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
texi2pdf and texi2html.
Document how to change scheduling properties on HP-UX.
2010-06-14 Thomas Quinot <quinot@adacore.com>
* g-socket.ads: Remove misleading comments.
From-SVN: r160711