| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eric Botcazou <botcazou@adacore.com>
* opt.ads (Exception_Mechanism): Now three values: Front_End_SJLJ,
Back_End_SJLJ and Back_End_ZCX.
(Back_End_Exceptions, Front_End_Exceptions, ZCX_Exceptions,
SJLJ_Exceptions): New functions, reflecting properties of the current
Exception_Mechanism.
* opt.adb: Implement the new functions.
* fe.h: Bind the new Exception_Mechanism and helper functions for gigi.
* exp_ch11.adb (Expand_At_End_Handler): Replace test on mechanism by
use of property helper and update comments.
(Expand_Exception_Handlers): Replace tests on mechanism by use of
helper. Restrict Abort_Defer to ZCX specifically.
* exp_ch9.adb (Expand_N_Asynchronous_Select): Replace tests on
mechanism by calls to helper functions. Abort_Undefer for ZCX only,
paired with Expand_Exception_Handlers.
* exp_sel.adb (Build_Abort_Block_Handler): Replace tests on mechanism
by calls to helper functions. Abort_Undefer for ZCX only, paired with
Expand_Exception_Handlers.
* lib-writ.ads (P line documentation): Add entry for "FX",
representative of unit compiled with Frontend_Exceptions True.
* lib-writ.adb (Output_Main_Program_Line): Add "FX" on P line if
compiled with Frontend_Exceptions True.
* ali.ads (ALIs_Record): Ada a Frontend_Exceptions component, to reflect
whether the ALI file contained an "FX" indication on the P line.
(Frontend_Exceptions_Specified): New boolean, to keep track of whether
at least an FX ALI file is in the closure.
* ali.adb (Scan_ALI): Handle "FX" on the P line.
(Initialize_ALI): Initialize Frontend_Exceptions_Specified to False.
* targparm.ads: Update desription of exception schemes.
(Frontend_Exceptions_On_Target): New flag, reflect Frontend_Exceptions
set to True in system.ads, or not set at all.
* targparm.adb (Targparm_Tags): Add FEX to convey Frontend_Exceptions.
Rename ZCD to ZCX for consistency.
(FEX_Str, Targparm_Str, Get_Target_Parameters): Adjust accordingly.
* gnat1drv.adb (Adjust_Global_Switches): Adjust Exception_Mechanism
setting, now from combination of Frontend_Exceptions and ZCX_By_Default.
* bcheck.adb (Check_Consistent_Zero_Cost_Exception_Handling): Rename
as ...
(Check_Consistent_Exception_Handling): Check consistency of both
ZCX_By_Default and Frontend_Exceptions.
(Check_Configuration_Consistency): Check_Consistent_Exception_Handling
if either flag was set at least once.
* make.adb (Check): Remove processing of a possible -fsjlj coming from
lang-specs.h.
* gnatlink.adb (Gnatlin): Likewise.
* gcc-interface/Makefile.in (gnatlib-sjlj/zcx): Now set
both ZCX_By_Default and Frontend_Exceptions.
* gcc-interface/decl.c (gnat_to_gnu_entity, case E_Variable):
Use eh property helper to test for back-end exceptions. Adjust
mechanism name when testing for front-end sjlj.
(case E_Procedure): Likewise.
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu):
Likewise, and rename local variables.
(Exception_Handler_to_gnu_sjlj): Rename as
Exception_Handler_to_gnu_fe_sjlj.
(Exception_Handler_to_gnu_zcx): Rename as
Exception_Handler_to_gnu_gcc and adjust tests on eh mechanisms
to use property helpers or correct mechanism name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230752 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* checks.adb: Fix typo.
* s-osinte-linux.ads: Add header.
* projects.texi: Removed, no longer used.
* s-multip.adb: Minor: fix header.
* sem_ch3.adb, exp_ch7.adb, g-dirope.ads, sinfo.ads, types.ads,
a-textio.adb, s-exctra.adb, ali.adb, back_end.ads, exp_intr.adb,
a-tigeli.adb, exp_ch3.adb, s-os_lib.ads: Remove further references to
.NET.
* gnatlink.adb, opt.ads, exp_aggr.adb, s-solita.adb: Minor comment
updates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228880 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_attr.adb: Code clean up.
2015-01-30 Robert Dewar <dewar@adacore.com>
* ali.adb (Scan_ALI): Set Serious_Errors flag in Unit record.
* ali.ads (Unit_Record): Add new field Serious_Errors.
* lib-writ.adb (Write_Unit_Information): Set SE (serious errors)
attribute in U line.
* lib-writ.ads: New attribute SE (serious erors) in unit line.
2015-01-30 Hristian Kirtchev <kirtchev@adacore.com>
* einfo.adb Update the usage of attributes Entry_Bodies_Array,
Lit_Indexes, Scale_Value, Storage_Size_Variable,
String_Literal_Low_Bound along associated routines and
Write_FieldX_Name.
(Pending_Access_Types): New routine.
(Set_Pending_Access_Types): New routine.
(Write_Field15_Name): Add an entry for Pending_Access_Types.
* einfo.ads Add new attribute Pending_Access_Types along
with usage in nodes. Update the usage of attributes
Entry_Bodies_Array, Lit_Indexes, Scale_Value,
Storage_Size_Variable, String_Literal_Low_Bound.
(Pending_Access_Types): New routine along with pragma Inline.
(Set_Pending_Access_Types): New routine along with pragma Inline.
* exp_ch3.adb (Expand_Freeze_Array_Type): Add new local variable
Ins_Node. Determine the insertion node for anonynous access type
that acts as a component type of an array. Update the call to
Build_Finalization_Master.
(Expand_Freeze_Record_Type): Update
the calls to Build_Finalization_Master.
(Freeze_Type): Remove
local variable RACW_Seen. Factor out the code that deals with
remote access-to-class-wide types. Create a finalization master
when the designated type contains a private component. Fully
initialize all pending access types.
(Process_RACW_Types): New routine.
(Process_Pending_Access_Types): New routine.
* exp_ch4.adb (Expand_Allocator_Expression): Allocation no longer
needs to set primitive Finalize_Address.
(Expand_N_Allocator): Allocation no longer sets primitive
Finalize_Address.
* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
Update the call to Build_Finalization_Master.
(Make_Build_In_Place_Call_In_Allocator): Allocation no longer
needs to set primitive Finalize_Address.
* exp_ch7.adb (Add_Pending_Access_Type): New routine.
(Build_Finalization_Master): New parameter profile. Associate
primitive Finalize_Address with the finalization master if the
designated type has been frozen, otherwise treat the access
type as pending. Simplify the insertion of the master and
related initialization code.
(Make_Finalize_Address_Body): Allow Finalize_Address for class-wide
abstract types.
(Make_Set_Finalize_Address_Call): Remove forlam parameter Typ.
Simplify the implementation.
* exp_ch7.ads (Build_Finalization_Master): New parameter profile
along with comment on usage.
(Make_Set_Finalize_Address_Call): Remove formal parameter Typ. Update
the comment on usage.
* exp_util.adb (Build_Allocate_Deallocate_Proc): Use routine
Finalize_Address to retrieve the primitive.
(Finalize_Address): New routine.
(Find_Finalize_Address): Removed.
* exp_util.ads (Finalize_Address): New routine.
* freeze.adb (Freeze_All): Remove the generation of finalization
masters.
* sem_ch3.adb (Analyze_Full_Type_Declaration): Propagate any
pending access types from the partial to the full view.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220279 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* ali-util.adb, sem_prag.adb, rtsfind.adb, sem_util.adb, sem_res.adb,
ali.adb, binde.adb, namet.adb, namet.ads, gnatls.adb, bcheck.adb:
Minor change of name Name_Table_Info => Name_Table_Int.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219230 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch7.adb, einfo.adb, einfo.ads, sem_prag.adb, sem_ch12.adb,
freeze.adb, sem_util.adb, sem_res.adb, exp_ch6.adb, exp_ch13.adb,
sem_ch6.adb, sem_cat.adb, sem_disp.adb
(Is_Subprogram_Or_Generic_Subprogram): New primitive. Use this primitive
throughout where appropriate.
2014-10-10 Bob Duff <duff@adacore.com>
* a-coinho-shared.ads: Minor reformatting.
* s-traceb.adb: Minor clean up.
2014-10-10 Robert Dewar <dewar@adacore.com>
* ali.adb (Scan_ALI): Read and process new GP flag on ALI P line.
* ali.ads (GNATprove_Mode): New component in ALI table.
(GNATprove_Mode_Specified): New global.
* gnatbind.adb (Gnatbind): Give fatal error if any file compiled
in GNATProve mode.
* lib-writ.ads, lib-writ.adb (GP): New flag on P line for
GNATProve_Mode.
2014-10-10 Javier Miranda <miranda@adacore.com>
* exp_ch3.adb (Build_Init_Procedure): Adding assertion.
(Build_Init_Statement): Ensure that statements
associated with the parent components are located at the beginning
of the returned list of statements.
2014-10-10 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb (Inherit_Aspects_At_Freeze_Node): If the full
view of a private type T that has a type invariant is a scalar
or constrained array type, the base type created for the full
view has the same type invariant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216074 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* snames.ads-tmpl, s-os_lib.adb, s-os_lib.ads, s-fileio.adb: Remove
VMS-specific code.
* prj-conf.adb: Minor reformatting.
* xr_tabls.adb (Read_File): Restore code which was enabled on
non VMS platforms before.
* prj-env.adb (Initialize_Default_Project_Path): Ditto.
* sem_ch5.adb: Minor reformatting.
* lib-writ.adb, lib-writ.ads, bindgen.adb, sem_vfpt.adb,
sem_vfpt.ads, ali.adb, ali.ads, opt.ads, bcheck.adb, exp_strm.adb:
Remove VMS-specific code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213432 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib-load.ads: Minor reformatting.
* sinfo.ads (Library_Unit): Update comment.
* lib.ads (Notes): Simplify. The Unit component in Notes_Entry
is redundant. Instead used the pragma Node_Id directly as the
element type.
2014-07-30 Thomas Quinot <quinot@adacore.com>
* lib.adb (Store_Note): Store only notes that do not come from
an instance, and that are in the extended main source unit.
* lib-writ (Write_Unit_Information): Annotations from subunits
must be emitted along with those for the main unit, and they
must carry a specific file name.
* ali.ads (Notes_Record): Use a File_Name_Type instead of a
Unit_Id for the source file containing the pragma, as in the
case of annotations from subunits we might not have a readily
available unit id.
* ali.adb (Scan_ALI): Account for above change in data structure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213295 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.adb (Initialize_ALI): Initialize SSO_Default_Specified
(Scan_ALI): Set SSO_Default in ALIs_Record (Scan_ALI): Set
SSO_Default_Specified.
* ali.ads (ALIs_Record): Add field SSO_Default
(SSO_Default_Specified): New global switch.
* bcheck.adb (Check_Consistent_SSO_Default): New procedure
(Check_Configuration_Consistency): Call this procedure
* einfo.adb (SSO_Set_High_By_Default): New
function (SSO_Set_Low_By_Default): New function
(Set_SSO_Set_High_By_Default): New procedure
(Set_SSO_Set_Low_By_Default): New procedure (Write_Entity_Flags):
List new flags
* einfo.ads (SSO_Set_Low_By_Default): New flag
(SSO_Set_High_By_Default): New flag
* freeze.adb (Set_SSO_From_Default): New procedure
(Freeze_Array_Type): Call Set_SSO_From_Default
(Freeze_Record_Type): Call Set_SSO_From_Default
* gnat_rm.texi: Document pragma Default_Scalar_Storage_Order
* lib-writ.adb (Write_ALI): Set OL/OH in P line as needed
* lib-writ.ads: Add OL/OH parameters to P line
* opt.adb: Set Default_SSO, Default_SSO_Config as appropriate
* opt.ads (Default_SSO): New global switch (Default_SSO_Config):
New global switch
* repinfo.adb (List_Scalar_Storage_Order): List SSO when it is
set by default using pragma Default_Scalar_Storage_Order.
* sem.ads (Scope_Stack_Entry): Add component Save_Default_SSO
* sem_ch13.adb (Inherit_Delayed_Rep_Aspects):
Clear SSO defaults when explicit SSO is inherited.
(Analyze_Attribute_Definition_Clause): Clear SSO defaults when
explicit SSO is specified.
(Inherit_Aspects_At_Freeze_Point):
Clear SSO default when inheriting SSO.
* sem_ch3.adb (Set_Default_SSO): New procedure
(Analyze_Private_Extension_Declaration): Set defualt SSO
(Array_Type_Declaration): ditto (Build_Derived_Array_Type): ditto
(Build_Derived_Private_Type): ditto (Build_Derived_Record_Type):
ditto (Build_Derived_Type): ditto (Make_Class_Wide_Type): ditto
(Record_Type_Declaration): ditto
* sem_ch8.adb (Pop_Scope): Restore Default_SSO (Push_Scope):
Save Default_SSO
* sem_prag.adb (Analyze_Pragma, case
Default_Scalar_Storage_Order): Set Default_SSO
2014-07-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Valid_Operator_Definition): Verify that
all parameter have mode IN. This check must be done here for
subprogram instantiations that have operator names, because their
analysis does not follow the same path as that for subprogram
declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213167 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch13.adb (Replace_Type_References_Generic): Use type entity
as a parameter, rather than its Chars field, in order to locate
freeze node of type. If the predicate or invariant has references
to types other than the one to which the contract applies, these
types must be frozen, and the corresponding predicate functions
created, before that freeze node.
2014-07-18 Robert Dewar <dewar@adacore.com>
* freeze.adb, einfo.ads, einfo.adb: Minor code reorganization.
* par_sco.adb: Minor reformatting.
2014-07-18 Gary Dismukes <dismukes@adacore.com>
* exp_ch4.adb (Real_Range_Check): Turn off
the Do_Range_Check flag on the conversion's current Expression
argument rather than on the originally captured Operand node,
as Expression may reflect a rewriting (as in conversions to a
fixed-point type).
2014-07-18 Vincent Celier <celier@adacore.com>
* ali.adb (Scan_ALI): Set Sdep_Record.Unit_Name, when the unit
is not a subunit.
* ali.ads (Sdep_Record): New component Unit_Name.
* lib-writ.adb (Write_ALI): Write the unit name in D lines.
* makeutl.adb (Check_Source_Info_In_ALI): Return False if a
dependent unit is in a project and the source file name is not
one of its sources.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212795 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bcheck.adb (Check_Consistent_Restrictions):
Remove obsolete code checking for violation of
No_Standard_Allocators_After_Elaboration (main program)
* bindgen.adb (Gen_Adainit): Handle
No_Standard_Allocators_After_Elaboration
(Gen_Output_File_Ada): ditto.
* exp_ch4.adb (Expand_N_Allocator): Handle
No_Standard_Allocators_After_Elaboration.
* Makefile.rtl: Add entry for s-elaall
* rtsfind.ads: Add entry for Check_Standard_Allocator.
* s-elaall.ads, s-elaall.adb: New files.
* sem_ch4.adb (Analyze_Allocator): Handle
No_Standard_Allocators_After_Elaboration.
2014-07-18 Robert Dewar <dewar@adacore.com>
* lib.adb, lib.ads, lib-writ.adb, lib-writ.ads, ali.adb,
ali.ads, lib-load.adb: Remove Lib.Has_Allocator and all uses.
Remove AB parameter from ali files and all uses.
Remove Allocator_In_Body and all uses.
2014-07-18 Robert Dewar <dewar@adacore.com>
* g-expect-vms.adb: Add comment.
2014-07-18 Thomas Quinot <quinot@adacore.com>
* par_sco.adb (Is_Logical_Operation): return True for
N_If_Expression.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Resolve_Attribute, case 'Update): Do full
analysis and resolution of each choice in the associations within
the argument of Update, because they may be variable names.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* exp_attr.adb (Expand_Loop_Entry_Attribute): Insert any condition
actions before the generated if statement.
2014-07-18 Hristian Kirtchev <kirtchev@adacore.com>
* gnat_ugn.texi Enhance the documentation of
switches -gnateA and -gnateV.
2014-07-18 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Build_Default_Subtype): Add missing condition
so that code matches description: use the full view of the base
only if the base is private and the subtype is not.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212779 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb,
ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads,
a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads,
a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb,
atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb,
a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb,
cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb,
eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb,
exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb,
freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb,
gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads,
krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads,
live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb,
par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb,
par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb,
rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb,
s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads,
sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb,
sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb,
sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb,
sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb,
s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads,
sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb,
s-regpat.adb, s-secsta.adb, s-stalib.ads,
s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb,
s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb,
s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads,
system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb,
urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207260 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch7.adb, exp_ch9.adb: Adjust comments.
2014-01-27 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
for 2**X optimization.
2014-01-27 Ed Schonberg <schonberg@adacore.com>
* a-suenst.adb: strings.utf_encoding.strings (Decode): Check
explicitly whether value is in range of Character, because the
library is typically compiled with range checks disabled, and
we cannot rely on the implicit check on the argument of 'Val.
2014-01-27 Vincent Celier <celier@adacore.com>
* a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
not the Target to itself.
2014-01-27 Robert Dewar <dewar@adacore.com>
* vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
changes to avoid incorrect use of unordered enum types.
2014-01-27 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb: Minor reformatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207144 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor
reformatting.
2013-10-14 Vincent Celier <celier@adacore.com>
* ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted,
defaulted to False. Calls Get_Name with May_Be_Quoted.
(Get_Name): New Boolean parameter May_Be_Quoted, defaulted to
False. If May_Be_Quoted is True and first non blank charater is
'"', unquote the name.
(Scan_ALI): For the file/path name on the D line, call Get_File_Name
with May_Be_Quoted = True, as it may have been quoted.
* lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New
procedure to write file/path names that may contain spaces and if they
do are quoted.
* lib-writ.adb (Write_ALI): Use new procedure
Write_Info_Name_May_Be_Quoted to write file/path names on D lines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203534 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* adabkend.adb, ali-util.adb, ali.adb, debug.adb,
errout.adb, errout.ads, erroutc.adb, exp_ch3.adb, exp_ch4.adb,
exp_ch6.adb, exp_ch7.adb, exp_dbug.adb, exp_util.adb,
expander.adb, freeze.adb, gnat1drv.adb, lib-writ.adb,
lib-writ.ads, lib-xref.adb, lib-xref.ads, opt.adb, opt.ads,
restrict.adb, sem_aggr.adb, sem_attr.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_eval.adb, sem_prag.adb,
sem_res.adb, sem_util.adb: Everything with name
'Alfa' renamed in 'SPARK'. Update comments.
Renaming of units with name 'Alfa', renamed with 'SPARK' instead.
* exp_alfa.adb: renamed exp_spark.adb.
* exp_alfa.ads: renamed exp_spark.ads.
* get_alfa.adb: renamed get_spark_xrefs.adb.
* get_alfa.ads: renamed get_spark_xrefs.ads.
* lib-xref-alfa.adb: renamed lib-xref-spark_specific.adb.
* put_alfa.adb: renamed put_spark_xrefs.adb.
* put_alfa.ads: renamed put_spark_xrefs.ads.
* alfa.adb: renamed spark_xrefs.adb.
* alfa.ads: renamed spark_xrefs.ads.
* alfa_test.adb: renamed spark_xrefs_test.adb.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198234 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197801 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch9.adb (Analyze_Protected_Type_Declaration): Fix thinko
in previous commit.
2012-11-06 Jose Ruiz <ruiz@adacore.com>
* ali.adb (Scan_ALI): Fix parsing mechanism for -fstack-check.
2012-11-06 Thomas Quinot <quinot@adacore.com>
* atree.adb, atree.ads, einfo.adb, errout.adb, errout.ads, erroutc.adb,
erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, expander.adb,
exp_ch13.adb, exp_ch2.adb, exp_ch6.adb, exp_dist.adb, fe.h,
fmap.adb, fmap.ads, gprep.adb, makeutl.adb, osint.adb, osint.ads,
par_sco.adb, prepcomp.adb, prj-part.adb, prj-proc.adb, scng.adb,
sdefault.ads, sem_ch10.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb,
sem_ch4.adb, sem_ch5.adb, sem_dim.adb, sem_elab.adb, sem_eval.adb,
sem_intr.adb, sem_prag.adb, sem_type.adb, sem_warn.adb, stylesw.adb,
stylesw.ads, targparm.adb, targparm.ads (Cascaded_Error): Rename to
more descriptive name 'Check_Error_Detected'. Add calls to
Check_Error_Detected at places where semantic analysis is abandoned
assuming a previously detected error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193235 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
2012-10-29 Yannick Moy <moy@adacore.com>
* gnat_rm.texi: Minor documentation addition.
2012-10-29 Emmanuel Briot <briot@adacore.com>
* xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
longer assume that a parameter declaration is seen after the subprogram
that uses it.
2012-10-29 Tristan Gingold <gingold@adacore.com>
* lib-writ.adb (Write_ALI): Emit partition elaboration policy
in P line.
* lib-writ.ads: Document partition elaboration policy indication.
* sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
procedure.
(Analyze_Pragma): Handle Partition_Elaboration_Policy.
(Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
* ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
(Scan_ALI): Read Ex indications.
* ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
* par-prag.adb (Prag): Add Partition_Elaboration_Policy.
* snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
* opt.ads (Partition_Elaboration_Policy): Declare.
(Partition_Elaboration_Policy_Sloc): Declare.
* bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
New procedure. (Check_Configuration_Consistency): Check partition
elaboration policy consistency.
* snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
(First_Partition_Elaboration_Policy_Name, Name_Concurrent,
Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
(Pragma_Partition_Elaboration_Policy): New literal.
(Is_Partition_Elaboration_Policy_Name): New function.
2012-10-29 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
expression functions, which are rewritten as subprogram
declarations, when generating invariants for its return value
and in-out parameters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192928 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* s-atopri.adb, s-atopri.ads: Minor reformatting.
2012-07-12 Robert Dewar <dewar@adacore.com>
* ali.adb: Add circuitry to read new named form of restrictions lines.
* debug.adb: Add doc for new -gnatd.R switch (used positional
notation for output of restrictions data in ali file).
* lib-writ.adb: Implement new named format for restrictions lines.
* lib-writ.ads: Add documentation for new named format for
restrictions in ali files.
* restrict.adb, restrict.ads, sem_prag.adb: Update comments.
* rident.ads: Go back to withing System.Rident
* s-rident.ads: Add extensive comment on dealing with consistency
checking.
2012-07-12 Thomas Quinot <quinot@adacore.com>
* par_sco.adb, scos.ads: Emit detailed SCOs for SELECT statements.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189438 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* s-atopri.ads: Minor reformatting.
2012-04-02 Thomas Quinot <quinot@adacore.com>
* sem_util.adb: Minor reformatting, minor code cleanup.
2012-04-02 Ed Schonberg <schonberg@adacore.com>
* lib-xref.adb (Generate_Reference): For a reference to an
operator symbol, set the sloc to point to the first character
of the operator name, and not to the initial quaote.
(Output_References): Ditto for the definition of an operator
symbol.
2012-04-02 Vincent Celier <celier@adacore.com>
* ali.adb (Scan_Ali): Recognize Z lines. Set
Implicit_With_From_Instantiation to True in the With_Record for
Z lines.
* ali.ads (With_Record): New Boolean component
Implicit_With_From_Instantiation, defaulted to False.
* csinfo.adb: Indicate that Implicit_With_From_Instantiation
is special
* lib-writ.adb (Write_ALI): New array Implicit_With.
(Collect_Withs): Set Implicit_With for the unit is it is not Yes.
(Write_With_Lines): Write a Z line instead of a W line if
Implicit_With is Yes for the unit.
* sem_ch12.adb (Inherit_Context): Only add a unit in the context
if it is not there yet.
* sinfo.ads: New flag Implicit_With_From_Instantiation (Flag12)
added.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186079 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
2011-09-06 Pascal Obry <obry@adacore.com>
* s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178578 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* g-socket.adb: Minor reformatting
2011-09-06 Javier Miranda <miranda@adacore.com>
* ali.adb (Scan_ALI): Add missing support to load references of
entities imported from other languages.
* ali.ads (Xref_Record): Adding new fields to store the language and
name of an imported entity.
* lib-xref.adb (Output_Import_Export_Info): Fix typo
in comment.
2011-09-06 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
is allowed on a full type declaration if it is the completion of
a private declarations.
* sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
aspect is allowed on a full type declaration in the private part
of a package.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178577 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
access types.
* affinity.c (__gnat_set_affinity_mask): Declare index variable.
2011-08-31 Yannick Moy <moy@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
full-expander test.
Minor reformatting, renaming ALFA in Alfa (we dropped acronym)
* einfo.adb (Primitive_Operations): Correctly return list of primitive
operations in a case where it returned previously No_Elist.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178358 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
Rewritten to create the message strings when the exception is not
raised by an abort during finalization.
* a-except.ads, a-except-2005.ads: Add pragma Export for procedure
Raise_From_Controlled_Operation and update its associated comment.
* a-fihema.ads, a-fihema.adb: New GNAT unit.
Ada.Finalization.Heap_Management provides key functionality
associated with controlled objects on the heap, their creation,
finalization and reclamation. Type Finalization_Collection is
effectively a wrapper which sits ontop of a storage pool and performs
all necessary bookkeeping for all the objects it contains. Each
access-to-controlled or access-to-class-wide type receives a collection
as part of its expansion. The compiler generates buffer code and
invokes Allocate / Deallocate to create and destroy allocated
controlled objects.
* a-finali.adb ("="): Removed.
* a-finali.ads ("="): Removed. Controlled types no longer carry hidden
fields Prev and Next.
* ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
A library unit with at least one controlled object on the library level
has a special finalizer which is invoked by the binder. To signal this,
ali files carry field PF.
* ali.ads: New field in type Unit_Record called Has_Finalizer. Add
associated comment on field usage.
* a-tags.adb (Get_RC_Offset): Removed.
(Needs_Finalization): New routine.
* a-tags.ads: Update the structure of the GNAT dispatch tables.
Dispatch tables now carry field Needs_Finalization which provides
runtime indication whether a type is controlled or has controlled
components or both. Remove field RC_Offset.
(Get_RC_Offset): Removed along with its associated pragma Export.
Since tagged types with controlled components no longer carry hidden
field _controller, the special mechanism to retrieve its location is no
longer needed.
(Needs_Finalization): New routine.
* atree.ads, atree.adb (Elist24): New routine.
(Set_Elist24): New routine.
* atree.h: Add a define clause for Elist24.
* bindgen.adb New library-level variable Lib_Final_Built.
(Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
presence of a VM target, the routine generates calls to the proper
library finalization routine.
(Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
targets. Set the correct library finalization routine depending on
whether the library has controlled objects or this is a VM compilation.
(Gen_Finalize_Library_Ada): New routine. This procedure generates calls
to library-level finalizers of compiled units in reverse order of
elaboration. It also produces exception management code and reraises a
potential exception after all units have been finalized.
(Gen_Finalize_Library_C): New routine. This procedure generates calls to
library-level finalizers of compiled units in reverse order of
elaboration.
(Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
definitions of all library-level finalizers available to the compilation
(Gen_Main_Ada): Directly call Adafinal which now contails all target
dependent code.
(Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
System.Standard_Library.Adafinal directly. If the library needs
finalization actions, create the sequence of finalization calls.
(Gen_Output_File_Ada): Alphabetize local variables and constants.
Generate a with clause for System.Soft_Links when compiling for a VM.
Remove the code which imports System.Standard_Library.Adafinal as
Do_Finalize. Generate the library finalization routine.
(Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
If the library needs finalization actions, create all the definitions
of library- level finalizers.
(Has_Finalizer): New routine. Determines whether at least one compiled
unit has a library-level finalizer.
Add type Qualification_Mode.
(Set_Unit_Name): Add a formal which controls the replacement of a dot.
* einfo.adb: New usage of field 15 as Return_Flag.
Remove Finalization_Chain_Entity from the usages of field 19.
Remove Associated_Final_Chain from the usages of field 23.
New usage of field 23 as Associated_Collection.
New usage of field 24 as Finalizer.
New usage of flag 252 as Is_Processed_Transient.
(Associated_Final_Chain): Removed.
(Associated_Collection): New routine.
(Finalization_Chain_Entity): Removed.
(Finalizer): New routine.
(Is_Finalizer): New routine.
(Is_Processed_Transient): New routine.
(Return_Flag): New routine.
(Set_Associated_Final_Chain): Removed.
(Set_Associated_Collection): New routine.
(Set_Finalization_Chain_Entity): Removed.
(Set_Finalizer): New routine.
(Set_Is_Processed_Transient): New routine.
(Set_Return_Flag): New routine.
(Write_Entity_Flags): Include Is_Processed_Transient to the list of
displayed flags.
(Write_Field8_Name): Alphabetize the output.
(Write_Field11_Name): Alphabetize the output.
(Write_Field12_Name): Alphabetize the output.
(Write_Field13_Name): Alphabetize the output.
(Write_Field14_Name): Alphabetize the output.
(Write_Field15_Name): Alphabetize the output.
(Write_Field16_Name): Alphabetize the output.
(Write_Field17_Name): Alphabetize the output.
(Write_Field18_Name): Alphabetize the output.
(Write_Field19_Name): Alphabetize the output. Remove the output of
Finalization_Chain_Entity.
(Write_Field20_Name): Alphabetize the output.
(Write_Field21_Name): Alphabetize the output.
(Write_Field22_Name): Alphabetize the output.
(Write_Field23_Name): Alphabetize the output. Remove the output of
Associated_Final_Chain. Add output for Associated_Collection.
(Write_Field24_Name): Alphabetize the output.
(Write_Field25_Name): Add output for Finalizer.
(Write_Field26_Name): Alphabetize the output.
(Write_Field27_Name): Alphabetize the output.
(Write_Field28_Name): Alphabetize the output.
* einfo.ads: Add new field description for Associated_Collection and
its uses in nodes.
Remove Associated_Final_Chain and its uses in nodes.
Remove Finalization_Chain_Entity and its uses in nodes.
Add new field description for Finalizer and its uses in nodes.
Add new synthesized attribute Is_Finalizer.
Add new flag description for Is_Processed_Transient and its uses in
nodes.
Add new field description for Return_Flag and its uses in nodes.
(Associated_Final_Chain): Removed along with its pragma Inline.
(Associated_Collection): New routine and pragma Inline.
(Finalization_Chain_Entity): Removed along with its pragma Inline.
(Finalizer): New routine and pragma Inline.
(Is_Finalizer): New routine and pragma Inline.
(Is_Processed_Transient): New routine and pragma Inline.
(Return_Flag): New routine and pragma Inline.
(Set_Associated_Final_Chain): Removed along with its pragma Inline.
(Set_Associated_Collection): New routine and pragma Inline.
(Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
(Set_Finalizer): New routine and pragma Inline.
(Set_Is_Processed_Transient): New routine and pragma Inline.
(Set_Return_Flag): New routine and pragma Inline.
* exp_aggr.adb: Alphabetize subprograms.
(Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
(Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
associated comments. Remove local variables External_Final_List and
Attach.
Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
Ancestor. Remove the retrieval of finalization lists. Update the call to
Make_Adjust_Call.
(Convert_Aggr_In_Allocator): Remove the retrieval of finalization
lists. Update the call to Late_Expansion.
(Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
(Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
(Gen_Assign): Remove the retrieval of the finalization list used to
build the assignment. Update the calls to Make_Init_Call and
Make_Adjust_Call.
(Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
Remove the mechanism to determine attachment levels and finalization
list retrieval. Remove the processing for coextensions.
(Init_Controller): Removed. Controllers no longer exist.
(Late_Expansion): Remove formals Flist and Obj along with their
associated comments. Update the calls to Build_Record_Aggr_Code and
Build_Array_Aggr_Code.
* exp_ch13.adb (Expand_N_Free_Statement): New routine.
(Expand_N_Freeze_Entity): Add special processing for finalizers which
appear in entry bodies, protected subprograms and task bodies.
* exp_ch13.ads (Expand_N_Free_Statement): New routine.
* exp_ch3.adb (Add_Final_Chain): Removed.
(Build_Array_Init_Proc): Alphabetize local variables.
(Build_Assignment): Alphabetize local variables. Update the call to
Maked_Adjust_Call.
(Build_Class_Wide_Master): Rename local variables to better reflect
their role.
(Build_Discriminant_Assignments): Code reformatting.
(Build_Init_Call_Thru): Code reformatting.
(Build_Init_Procedure): Code reformatting. Generate a special version
of Deep_Finalize which is capable of finalizing all initialized
components and ignore the rest.
(Build_Init_Statements): Rename local variables to better reflect their
role.
Reimplement the mechanism to include the creation and update of an index
variable called a "counter". It is used as a bookmark for tracing
initialized and non-initialized components.
(Build_Initialization_Call): Remove local variable Controller_Typ.
Alphabetize all local variables. Remove the initialization of the
record controller and update the call to Make_Init_Call.
(Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
New local variable Counter.
(Constrain_Array): Alphabetize.
(Expand_Freeze_Array_Type): Create a collection instead of a
finalization list.
(Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
Finalize_Address which is used in conjunction with allocated controlled
objects.
(Expand_N_Object_Declaration): Remove the creation of a finalization
list for anonymous access types. Update the calls to Make_Init_Call and
Make_Adjust_Call.
(Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
retrieval of finalization lists. Remove the expansion of the record
controller. Create TSS primitive Finalize_Address used in conjunction
with controlled objects on the heap. Create finalization collections
for access-to-controlled record components.
(Expand_Record_Controller): Removed.
(Freeze_Type): Remove the freezing of record controllers. Freezing of
class-wide types now requires additional processing. Create
finalization collections for access-to-controlled types.
(Increment_Counter): New routine.
(Make_Counter): New routine.
(Make_Eq_If): Remove the mention of Name_uController.
(Make_Predefined_Primitive_Specs): There is no longer need to skip
types coming from System.Finalization_Root.
(Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
(Predefined_Primitive_Bodies): There is no longer need to skip types
coming from System.Finalization_Root.
(Stream_Operation_OK): Do not generate stream routines for
type Ada.Finalization.Heap_Management.Finalization_Collection.
* exp_ch3.ads: Alphabetize subprograms.
* exp_ch4.adb: Remove with and use clause for Sem_Ch8.
Add with and use clause for Lib.
(Complete_Coextension_Finalization): Removed.
(Complete_Controlled_Allocation): New routine. Create a finalization
collection for anonymous access-to-controlled types. Create a custom
Allocate which interfaces with the back end and the machinery in
Heap_Management.
(Expand_Allocator_Expression): Add necessary calls to
Complete_Controlled_Allocation. Remove the retrieval of finalization
lists. Update the calls to Make_Adjust_Call. Generate a call to
Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
the associated collection.
(Expand_N_Allocator): Remove the processing for dynamic coextensions.
Code clean up. Remove the retrieval of finalization lists and
attachment levels.
Update the call to Make_Init_Call. Generate a call to
Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
the associated collection.
(Get_Allocator_Final_List): Removed. Finalization lists are not
available.
(Suitable_Element): Remove the mention of Name_uController.
* exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
(Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
the left hand side, carry out the assignment and adjust the left hand
side.
* exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
(Add_Collection_Actual_To_Build_In_Place_Call): New routine.
(BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
BIP_Collection and BIPcollection.
(Build_Heap_Allocator): New routine used to allocate the return object
of a build-in-place function onto a collection.
(Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
(Expand_Call): Do not replace direct calls to Deep routines with their
aliases.
(Expand_N_Extended_Return_Statement): Give all variables shorter names
and update their occurrences. Add a special return flag to monitor the
[ab]normal execution of the function. The flag is set right before the
return statement.
Rewrite the mechanism used to allocate a build-in-place return object
on the heap or on a storage pool.
(Is_Direct_Deep_Call): New routine.
(Make_Build_In_Place_Call_In_Allocator): Add a collection to a
build-in-place function call instead of a final list. Build a call to
Set_Finalize_Address_Ptr to decorate the associated collection.
(Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
order to name the build-in-place function call's result for later
finalization. Add a collection to a build-in-place function call
instead of a final list.
(Make_Build_In_Place_Call_In_Assignment): Add a collection to a
build-in-place function call instead of a final list. Remove the code
which moves one final list and transforms it into the actual in a
nested build-in-place call.
(Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
build-in-place function call instead of a final list.
(Move_Final_List): Removed.
(Needs_BIP_Collection): New routine.
(Needs_BIP_Final_List): Removed.
* exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
enumeration type BIP_Formal_Kind.
Update the related comment.
(Needs_BIP_Collection): New routine.
(Needs_BIP_Final_List): Removed.
* exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
majority of subprograms in this unit. Add Name_Finalize_Address to
array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
(Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
statements for an array type.
(Build_Adjust_Statements): Create the adjust statements for a record
type.
(Build_Cleanup_Statements): New routine. A procedure which given any
construct containing asynchronous calls, references to _master, or is a
task body, a task allocation or a protected body produces the necessary
runtime calls to clean up these constructs.
(Build_Exception_Handler): New routine.
(Build_Final_List): Removed.
(Build_Finalization_Collection): New routine. A core procedure which
creates a collection to service heap allocated controlled objects
associated with an access-to-controlled type.
(Build_Finalize_Statements): Create the finalization statements for a
record types.
(Build_Finalizer): New routine. A core procedure which given any
construct with declarations and/or statements detects all objects which
need any type of clean up (controlled objects, protected objects) and
generates all necessary code to clean up the said objects in the proper
order.
(Build_Finalizer_Call): New routine.
(Build_Initialize_Statements): Create the initialization statements for
an array type. The generated routine contains code to finalize partially
initialized arrays.
(Build_Object_Declarations): New routine.
(Build_Raise_Statement): New routine.
(Clean_Simple_Protected_Objects): Removed.
(Controller_Component): Removed.
(Enclosing_Function): New routine.
(Expand_Cleanup_Actions): Create a finalizer for a construct which has
either declarations or statements or both.
(Expand_N_Package_Body): Create a finalizer for a non-generic package.
(Expand_N_Package_Declaration): Create a finalizer for a non-generic
package.
(Find_Final_List): Removed.
(Global_Flist_Ref): Removed.
(In_Finalization_Root): Removed.
(Insert_Actions_In_Scope_Around): Determine the range of the transient
scope in terms of tree nodes. Process all transient variables within
that range.
(Make_Adjust_Call): Rewritten. There is no longer an attach call
generated after the adjust.
(Make_Attach_Call): Removed.
(Make_Call): New routine.
(Make_Clean): Removed.
(Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
build routines.
(Make_Deep_Proc): Rewritten to generate the new profile signature used
in Deep routines.
(Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
build routines.
(Make_Final_Call): Modified to simply create a call to either
Deep_Finalize or Finalize.
(Make_Finalize_Address_Body): New routine.
(Make_Finalize_Address_Stmts): New routine. A function which produces
TSS primitive Finalize_Address used in conjunction with heap allocated
controlled objects.
(Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
(Make_Init_Call): Rewritten. There is no longer an attach call
generated after initialization.
(Make_Local_Deep_Finalize): New routine.
(Make_Set_Finalize_Address_Ptr_Call): New routine.
(Make_Transient_Block): Remove the finalization list retrieval and
manipulation.
(Needs_Finalization): Moved to Exp_Util.
(Parent_Field_Type): New routine.
(Preprocess_Components): New routine.
(Process_Transient_Objects): New routine.
(Wrap_HSS_In_Block): New routine.
(Wrap_Transient_Declaration): Remove finalization list management and
controller insertion.
(Wrap_Transient_Expression): Code reformatting.
(Wrap_Transient_Statement): Code reformatting.
* exp_ch7.ads (Build_Final_List): Removed.
(Build_Finalization_Collection): New routine.
(Build_Raise_Statement): New routine.
(Controller_Component): Removed.
(Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
(Find_Final_List): Removed.
(In_Finalization_Root): Removed.
(Is_Simple_Protected_Type): Update related comment.
(Make_Adjust_Call): New parameter profile and associated comments.
(Make_Attach_Call): Removed.
(Make_Final_Call): New parameter profile and associated comments.
(Make_Finalize_Address_Body): New routine.
(Make_Init_Call): New parameter profile and associated comments.
(Make_Local_Deep_Finalize): New routine.
(Make_Set_Finalize_Address_Ptr_Call): New routine.
(Needs_Finalization): Moved to Exp_Util.
* exp_ch9.adb (Add_Object_Pointer): Code reformatting.
(Expand_N_Protected_Body): Remove the handling of finalization lists.
(Find_Protection_Type): Moved to Exp_Util.
* exp_disp.adb: Remove with and use clauses for Exp_Ch7.
(Make_DT): Update sequence of dispatch table initialization. Remove the
initialization of field RC_Offset. Add initialization of field Needs_
Finalization.
* exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
Reimplement how an object is first finalized, then deallocated.
* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
Code reformatting.
* exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
Register TSS_Finalize_Address with type TSS_Names.
* exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
procedure provides the interface between an allocation / deallocation
and the support machinery in Ada.Finalization.Heap_Management.
(Find_Init_Call): Code reformatting.
(Find_Init_Call_In_List): Code reformatting.
(Find_Protection_Type): Moved from Exp_Ch9.
(Find_Prim_Op): Reimplement to add preference of recovered primitive.
(Has_Controlled_Coextensions): Removed.
(Has_Controlled_Objects): New routine.
(In_Library_Level_Package_Body): New routine.
(Insert_Action_After): New routine.
(Is_Finalizable_Transient): New routine. This predicate determines
whether an object declaration is one of the many variants of controlled
transients.
(Is_Null_Access_BIP_Func_Call): New routine.
(Is_Non_BIP_Func_Call): New routine.
(Is_Related_To_Func_Return): New routine.
(Needs_Finalization): Moved from Exp_Ch7.
* exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
(Find_Protection_Type): Moved from Exp_Ch9.
(Has_Controlled_Coextensions): Removed.
(Has_Controlled_Objects): New routine.
(In_Library_Level_Package_Body): New routine.
(Insert_Action_After): New routine.
(Is_Finalizable_Transient): New routine.
(Is_Null_Access_BIP_Func_Call): New routine.
(Is_Non_BIP_Func_Call): New routine.
(Is_Related_To_Func_Return): New routine.
(Needs_Finalization): Moved from Exp_ch7.
* expander.adb (Expand): Add a case for N_Free_Statement.
* freeze.adb (Freeze_All): Replace the generation of a finalization
list with a collection for access-to-controlled types.
(Freeze_Entity): Code reformatting.
(Freeze_Record_Type): Remove the freezing of a record controller
component.
(Freeze_Subprogram): Code reformatting.
* inline.adb (Cleanup_Scopes): Remove the reset of the scope
finalization list.
* lib-writ.adb (Write_Unit_Information): Output "PF" when a package
has a library-level finalizer.
* lib-writ.ads: Add "PF" to the sequence of unit attributes.
* a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
* Makefile.rtl: Remove a-filico and s-finimp from the list of object
files. Add a-fihema to the list of object files.
* par-ch4.adb:
Alphabetize the associations in type Is_Parameterless_Attribute.
* rtsfind.ads: Ada.Finalization_List.Controller and
System.Finalization_Implementation are no longer a GNAT unit.
Update the range of type Ada_Finalization_Child. Remove the following
recoverable entities:
RE_Attach_To_Final_List
RE_Deep_Tag_Attach
RE_Finalize_List
RE_Finalize_One
RE_Finalizable_Ptr_Ptr
RE_Global_Final_List
RE_Limited_Record_Controller
RE_List_Controller
RE_Move_Final_List
RE_Record_Controller
RE_Simple_List_Controller
Add the following recoverable entities:
RE_Add_Offset_To_Address
RE_Allocate
RE_Base_Pool
RE_Deallocate
RE_Exception_Identity
RE_Finalization_Collection
RE_Finalization_Collection_Ptr
RE_Needs_Finalization
RE_Save_Library_Occurrence
RE_Set_Finalize_Address_Ptr
RE_Set_Storage_Pool_Ptr
RE_Storage_Count
* sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
Name_uController.
* sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
(First_Stored_Discriminant): Remove the mention of Name_uController.
* sem_aux.ads: Comment reformatting.
* sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
to redecorate an already existing class-wide type.
(Decorate_Tagged_Type): New parameter profile and associated comment.
Create a "shadow class-wide type" for a shadow entity.
* sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
of the final chain along with the associated comment.
* sem_ch3.adb (Access_Type_Declaration): Add new local variable
Full_Desig and set it to the full view of the designated type.
Initialize the finalization collection to empty.
(Build_Derived_Record_Type): Alphabetize local variables. Code
reformatting.
(Collect_Fixed_Components): Remove the mention of Name_uController.
(Create_Constrained_Components): Remove the mention of Name_uController.
(Make_Class_Wide_Type): Add specialized code to redecorate an existing
class-wide type of a shadow entity.
(Process_Full_View): Update the machinery which marks type
Limited_Controlled's entity as limited.
* sem_ch4.adb (Analyze_One_Call): Code reformatting.
* sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
list, instead make a collection build-in-place formal.
* sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
a designated type in order to establish a match between the renaming
and the renamed entity.
(Find_Selected_Component): Add guard to prevent spurious exceptions
from being raised on .NET/JVM.
* sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
to the list of primitive that need special processing. Update arrays
C_Names and D_Names.
(Replace_Types): Handle class-wide types.
* sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
different parameter profile, look at the first formal.
* sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
use clauses for Exp_Util.
* sem_res.adb: Remove with and use clauses for Elists.
(Propagate_Coextensions): Removed.
(Resolve_Allocator): Do not propagate the list of coextensions from one
allocator to another.
* sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
Deaccessed_T to Desig_Typ.
(Enter_Name): Remove the mention of Name_uController.
(Gather_Components): Remove the mention of Name_uController.
(Incomplete_Or_Private_View): New routine.
(Is_Coextension_Root): Removed.
(Is_Fully_Initialized_Type): Remove the mention of Name_uController.
* sem_util.ads (Incomplete_Or_Private_View): New routine.
(Is_Coextension_Root): Removed.
* s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
Controlled types are now derived from a null tagged record. Remove
types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
* sinfo.adb (Coextensions): Removed.
(Set_Coextensions): Removed.
* sinfo.ads: Remove Coextensions from the explanation of node fields
and its uses in nodes.
Update the field usage of N_Allocator.
(Coextensions): Removed along with its pragma Inline.
(Set_Coextensions): Removed along with its pragma Inline.
* snames.ads-tmpl: Remove names
Name_uClean
Name_uController
Name_uFinal_List
Name_uLocal_Final_List
Name_Finalization_Root
Name_Next
Name_Prev
Add names
Name_uFinalizer
Name_Finalize_Address
* s-pooglo.adb (Allocate): Add overriding indicator.
(Deallocate): Add overriding indicator.
(Storage_Size): Add overriding indicator.
* s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
than Finalize_Global_List.
(Null_Finalize_Global_List): Removed.
(Save_Library_Occurrence): New routine.
* s-soflin.ads: Remove variable Finalize_Global_List along with its
initialization. Add variable Finalize_Library_Objects along with its
pragma Export. Add variables Library_Exception and
Library_Exception_Set along with their pragma Export.
(Null_Finalize_Global_List): Removed.
(Save_Library_Occurrence): New routine.
* s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
rather than Finalize_Global_List.
* tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
of the constructed node.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177275 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177239 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding
to the affinity when expanding the task declaration.
(Make_Task_Create_Call): Add the affinity parameter to the call to
create task.
* sem_prag.adb (Analyze_Pragma): Add the analysis for pragma CPU,
taking into account the case when it applies to a subprogram (only for
main and with static expression) or to a task.
* par_prag.adb:(Prag): Make pragma CPU a valid one.
* snames.ads-tmpl (Name_uCPU, Name_CPU): Add these new name identifiers
used by the expander for handling the affinity parameter when creating
a task.
(Pragma_Id): Add Pragma_CPU as a valid one.
* rtsfind.ads (RTU_Id): Make System_Multiprocessors accesible.
(RE_Id, RE_Unit_Table): Make the entities RE_CPU_Range and
RE_Unspecified_CPU visible.
* sinfo.ads, sinfo.adb (Has_Pragma_CPU, Set_Has_Pragma_CPU): Add these
two subprograms to set/get the flag indicating whether there is a
pragma CPU which applies to the entity.
* lib.ads, lib.adb (Unit_Record, Default_Main_CPU, Main_CPU,
Set_Main_CPU): Add the field Main_CPU to Unit_Record to store the value
of the affinity associated to the main subprogram (if any).
Default_Main_CPU is used when no affinity is set. Subprograms
Set_Main_CPU and Main_CPU are added to set/get the affinity of the main
subprogram.
* ali.ads, ali.adb (ALIs_Record): Add field Main_CPU to contain the
value of the affinity of the main subprogram.
(Scan_ALI): Get the affinity of the main subprogram (encoded as C=XX in
the M line).
* lib-writ.ads, lib-writ.adb (M_Parameters): Encode the affinity of the
main subprogram in the M (main) line using C=XX.
* lib-load.adb (Create_Dummy_Package_Unit, Load_Main_Source,
Load_Unit): Add new field Main_CPU.
* bindgen.adb (Gen_Adainit_Ada, Gen_Adainit_C): Add the code to pass
the affinity of the main subprogram to the run time.
* s-taskin.ads (Common_ATCB): Add the field Base_CPU to store the
affinity.
(Unspecified_CPU): Add this constant to identify the case when no
affinity is set for tasks.
* s-taskin.adb (Initialize_ATCB): Store the value coming from pragma
CPU in the common part of the ATCB.
(Initialize): Store the value coming from pragma CPU (for the
environment task) in the common part of the ATCB.
* s-tassta.ads, s-tassta.adb (Create_Task): Add the affinity specified
by pragma CPU to the ATCB.
* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add the affinity
specified by pragma CPU to the ATCB.
* s-tporft.adb (Register_Foreign_Thread): Add the new affinity
parameter to the call to Initialize_ATCB.
* s-taprop-linux.adb (Create_Task): Change the attributes of the thread
to include the task affinity before creation. Additionally, the
affinity selected with Task_Info is also enforced changing the
attributes at task creation time, instead of changing it after creation.
(Initialize): Change the affinity of the environment task if required
by a pragma CPU.
* s-osinte-linux.ads (pthread_setaffinity_np): Instead of using a
wrapper to check whether the function is available or not, use a weak
symbol.
(pthread_attr_setaffinity_np): Add the import of this function which is
used to change the affinity in the attributes used to create a thread.
* adaint.c (__gnat_pthread_attr_setaffinity_np): Remove this wrapper.
It was used to check whether the pthread function was available or not,
but the use of a weak symbol handles this situation in a cleaner way.
* s-taprop-mingw.adb (Create_Task, Initialize): Change the affinity of
tasks (including the environment task) if required by a pragma CPU.
* s-taprop-solaris.adb (Enter_Task): Change the affinity of tasks
(including the environment task) if required by a pragma CPU.
* s-taprop-vxworks.adb (Create_Task, Initialize): Change the affinity
of tasks (including the environment task) if required by a pragma CPU.
* init.c (__gl_main_cpu): Make this value visible to the run time. It
will pass the affinity of the environment task.
2010-10-18 Javier Miranda <miranda@adacore.com>
* einfo.adb (Direct_Primitive_Operations): Complete assertion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165625 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.adb: Set Allocator_In_Body if AB parameter present on M line
* ali.ads (Allocator_In_Body): New flag
* bcheck.adb (Check_Consistent_Restrictions): Handle case of main
program violating No_Allocators_After_Elaboration restriction.
* gnatbind.adb (No_Restriction_List): Add entries for
No_Anonymous_Allocators, and No_Allocators_After_Elaboration.
* lib-load.adb: Initialize Has_Allocator flag
* lib-writ.adb: Initialize Has_Allocator flag
(M_Parameters): Set AB switch if Has_Allocator flag set
* lib-writ.ads: Document AB flag on M line
* lib.adb (Has_Allocator): New function
(Set_Has_Allocator): New procedure
* lib.ads (Has_Allocator): New function
(Set_Has_Allocator): New procedure
(Has_Allocator): New flag in Unit_Record
* sem_ch4.adb (Analyze_Allocator): Add processing for
No_Allocators_After_Elaboration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165171 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_util.adb, sem_util.ads: Minor reformatting.
2010-06-23 Vincent Celier <celier@adacore.com>
* prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
the previous behavior of gprclean when there are missing files.
2010-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
generic body is not a fatal error.
(Mark_Context): Handle properly names of child units.
* sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
instantiations.
2010-06-23 Vincent Celier <celier@adacore.com>
* ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
non-empty line.
2010-06-23 Bob Duff <duff@adacore.com>
* g-pehage.ads, g-pehage.adb: Switch default optimization mode to
Memory_Space, because CPU_Time doesn't seem to provide any significant
speed advantage in practice. Cleanup: Get rid of constant
Default_Optimization; doesn't seem to add anything. Use case
statements instead of if statements; seems cleaner.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161259 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160740 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.adb (Scan_ALI): Implement reading and storing of N lines
(Known_ALI_Lines): Add entry for 'N' (notes)
* ali.ads (Notes): New table to store Notes information
* alloc.ads: Add entries for Notes table
* lib-util.adb (Write_Info_Int): New procedure
(Write_Info_Slit): New procedure
(Write_Info_Uint): New procedure
* lib-util.ads (Write_Info_Int): New procedure
(Write_Info_Slit): New procedure
(Write_Info_Uint): New procedure
* lib-writ.adb (Write_Unit_Information): Output N (notes) lines
* lib-writ.ads: Update documentation for N (Notes) lines
* lib.adb (Store_Note): New procedure
* lib.ads (Notes): New table
(Store_Note): New procedure
* sem_prag.adb: Call Store_Note for affected pragmas
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160736 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
2010-06-14 Arnaud Charlet <charlet@adacore.com>
* ali.adb: Fix typo.
* s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting
2010-06-14 Ed Schonberg <schonberg@adacore.com>
* sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
instances.
* sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
the context does not have a homonym of the selector, emit default
error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160728 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
the ALI files on the command line.
* ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
the same value as the parameter of the same name.
* ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
to False.
* bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
emit version symbols only for the units of the library.
(Gen_Versions_C): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160715 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb,
types.ads: Minor reformatting
2009-10-28 Tristan Gingold <gingold@adacore.com>
* init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153658 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality
with test of coverage, to allow specific type objects in extended
returns of class-wide functions. Remove now-unnecessary special-case
tests that allowed this in certain cases of expanded extended returns.
2009-07-23 Javier Miranda <miranda@adacore.com>
* sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in
N_Null_Statements (for SCIL nodes).
(Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes).
(Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes).
(Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL
nodes).
(Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes).
* exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node
associated with dispatching call.
(Get_Scil_Node_Kind): New function that returns the kind of SCIL node.
(Make_DT, Make_Tags): Add generation of SCIL nodes associated with
initialization of dispatch tables and initialization of tags.
(New_Scil_Node): New function that creates a new SCIL node.
(Build_Init_Procedure): Add generation of SCIL node associated with the
initialization of tags done in the IP subprogram.
2009-07-23 Ed Schonberg <schonberg@adacore.com>
* errout.adb (Error_Msg_NEL): If the entity in the initial message has
Warnings_Off, do not emit continuation messages.
* sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram
spec.
2009-07-23 Emmanuel Briot <briot@adacore.com>
* ali.adb: Minor comment update
2009-07-23 Vasiliy Fofanov <fofanov@adacore.com>
* s-win32.ads (HANDLE): Define to be the same size as address type.
Fix copyright.
2009-07-23 Olivier Hainque <hainque@adacore.com>
* g-sse.ads: New file. Root of the SSE facilities trees, with
general description and common declarations.
* g-ssvety.ads: New file. Expose user level SSE vector types.
* impunit.adb (Non_Imp_File_Names_95): Register new units.
* gcc-interface/Makefile.in (x86 32/64 linux, win32): Add
EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units.
2009-07-23 Ben Brosgol <brosgol@adacore.com>
* gnat_ugn.texi: Wordsmithing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149974 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb,
make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb,
s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb,
s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb,
errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb,
a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb,
s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb,
a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb,
erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources
obey short-circuit style rule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149921 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle
designated types referencing entities from the limited view.
2009-06-23 Matthew Gingell <gingell@adacore.com>
* a-stzhas.ads, a-szfzha.ads: Fix typo.
* Makefile.rtl: Ada.Strings.Wide_Wide_Fixed.Wide_Wide_Hash depends on
Ada.Strings.Wide_Wide_Hash. So we need to include a-stzhas in
the list of RTS files.
2009-06-23 Thomas Quinot <quinot@adacore.com>
* ali.adb: Minor reformatting
2009-06-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb: Improve error message.
2009-06-23 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb: Minor reformating
* prj-conf.adb, prj-conf.ads: Remove use of Osint.Fail everywhere
(Do_Autoconf): accepts an empty Normalized_Hostname
(Process_Project_And_Apply_Config): New subprogram
(Parse_Project_And_Apply_Config): On_Load_Config now applies to the
project tree rather than the project view.
* prj-part.adb, prj.ads (Project_Qualifier): New possible value
Configuration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148838 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization
(no behaviour change): Use Append instead of Increment_Last followed
by assignment.
2009-04-20 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the
declarations of all primitives associated with dispatching asynchronous,
conditional and timed selects when dispaching calls are forbidden and
select statements are not allowed (such as in Ravenscar).
(Predefined_Primitive_Bodies): Ditto for bodies.
* exp_disp.ad (Make_DT): Do not create and populate the
Select_Specific_Data of the dispatch table when dispatching calls are
forbidden and select statements are not allowed (such as in Ravenscar).
2009-04-20 Robert Dewar <dewar@adacore.com>
* a-tifiio.adb: Minor reformatting
2009-04-20 Thomas Quinot <quinot@adacore.com>
* g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike
other C library functions, report *failure* with a zero status, and
success with a non-zero status.
2009-04-20 Bob Duff <duff@adacore.com>
* sem.ads, sem.adb (Walk_Library_Items): New generic procedure.
(Semantics): After analyzing each unit, Append it to the
Comp_Unit_List, if appropriate.
* gnat1drv.adb (Check_Library_Items): New procedure for debugging
purposes.
(Gnat1drv): Correct comment regarding Back_End_Mode.
2009-04-20 Eric Botcazou <ebotcazou@adacore.com>
* gnat_ugn.texi: Add documentation for -fno-inline-small-functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146389 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.adb:
(Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit,
as the name may already have been entered in the table by the Project
Manager.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139331 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.adb: Correct casing of ASCII.NUL
* styleg-c.adb (Check_Identifier): Handle case of names in ASCII
properly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135615 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gary Dismukes <dismukes@adacore.com>
Javier Miranda <miranda@adacore.com>
Ed Schonberg <schonberg@adacore.com>
* fe.h: Remove global Optimize_Alignment flag, no longer used
* layout.adb: Test Optimize_Alignment flags rather than global switch
* lib.ads, lib.adb: New OA_Setting field in library record
* lib-load.adb: New OA_Setting field in library record
* lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place
units mentioned in limited_with_ clauses in the ali file, with an
'Y' marker.
New Ox fields in U line
* opt.adb: New flag Optimize_Alignment_Local
(Check_Policy_List[_Config]): New flags
* opt.ads (Invalid_Value_Used): New flag
New switch Optimize_Alignment_Local
(Warn_On_Parameter_Order): New flag
(Check_Policy_List[_Config]): New flags
* ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of
limited_with clauses.
New data structures for Optimize_Alignment
* bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization):
New procedure
(Check_Consistent_Optimize_Alignment): Rework for new structure
(Check_Consistent_Restrictions): Fix incorrect error message
sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly
created class-wide type (to the Parent field of the specific type).
(Install_Siblings): Handle properly private_with_clauses on subprogram
bodies and on generic units.
(Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an
illegal limited_with_clause that names a non-existent package.
(Check_Body_Required): Determine whether a unit named a limited_with
clause needs a body.
(Analyze_Context): A limited_with_clause is illegal on a unit_renaming.
Capture Optimize_Alignment settings to set new OA_Setting field in
library record.
(Build_Limited_Views): Include task and protected type declarations.
* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the
case of a possible constant redeclaration where the current object is
an entry index constant.
(Analyze_Object_Declaration): Generate an error in case of CPP
class-wide object initialization.
(Analyze_Object_Declaration): Add extra information on warnings for
declaration of unconstrained objects.
(Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid
conflicts with the setting of Stored_Constraint in the case where the
access type entity has already been created as an E_Incomplete_Type due
to a limited with clause.
Use new Is_Standard_Character_Type predicate
(Analyze_Object_Declaration): Apply access_constant check only after
expression has been resolved, given that it may be overloaded with
several access types.
(Constant_Redeclaration): Additional legality checks for deferred
constant declarations tha involve anonymous access types and/or null
exclusion indicators.
(Analyze_Type_Declaration): Set Optimize_Alignment flags
(Analyze_Subtype_Declaration): Ditto
(Analyze_Object_Declaration): Ditto
(Analyze_Object_Declaration): Don't count tasks in generics
Change name In_Default_Expression => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
(Process_Discriminants): Additional check for illegal use of default
expressions in access discriminant specifications in a type that is not
explicitly limited.
(Check_Abstract_Overriding): If an inherited function dispaches on an
access result, it must be overridden, even if the type is a null
extension.
(Derive_Subprogram): The formals of the derived subprogram have the
names and defaults of the parent subprogram, even if the type is
obtained from the actual subprogram.
(Derive_Subprogram): In the presence of interfaces, a formal of an
inherited operation has the derived type not only if it descends from
the type of the formal of the parent operation, but also if it
implements it. This is relevant for the renamings created for the
primitive operations of the actual for a formal derived type.
(Is_Progenitor): New predicate, to determine whether the type of a
formal in the parent operation must be replaced by the derived type.
* sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make
predicate recursive to handle components that have a user-defined
Initialize procedure. Handle controlled derived types whose ancestor
has a user-defined Initialize procedured.
(Note_Possible_Modification): Add Sure parameter, generate warning if
sure modification of constant
Use new Is_Standard_Character_Type predicate
(Find_Parameter_Type): when determining whether a protected operation
implements an interface operation, retrieve the type of the formal from
the entity when the formal is an access parameter or an
anonymous-access-to-subprogram.
Move Copy_Parameter_List to sem_util, for use when building stubbed
subprogram bodies.
(Has_Access_Values): Tagged types now return False
(Within_HSS_Or_If): New procedure
(Set_Optimize_Alignment_Flags): New procedure
Change name In_Default_Expression => In_Spec_Expression
Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression
Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134011 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
* bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
* debug.adb: Add debug flags d.r and d.v
Add debug flag .T (Optimize_Alignment (Time))
Add debug flag .S (Optimize_Alignment (Space))
* freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
depending on setting of relevant debug flags.
Replace use of Warnings_Off by Has_Warnings_Off
(Freeze_Entity): In circuit for warning on suspicious convention
actuals, do not give warning if subprogram has same entity as formal
type, or if subprogram does not come from source.
(Freeze_Entity): Don't reset Is_Packed for fully rep speced record
if Optimize_Alignment set to Space.
* frontend.adb: Add call to Sem_Warn.Initialize
Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
Reset Optimize_Alignment mode from debug switches .S and .T
* layout.adb (Layout_Composite_Object): Rewritten for
Optimize_Aligment pragma.
* lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
mode.
* opt.ads, opt.adb: (Optimize_Alignment): New global switch
* par-prag.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead, adjustments throughout to accomodate
this change. Add entry for pragma Optimize_Alignment
* sem_prag.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (..
instead, adjustments throughout to accomodate this change.
(Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
(Favor_Top_Level): Use new function Is_Access_Subprogram_Type
Add implementation of pragma Optimize_Alignment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133549 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* a-textio.adb, a-textio.ads:
Extensive changes to private part for wide character encoding
* a-witeio.ads, a-witeio.adb, a-ztexio.ads, a-ztexio.adb
(Look_Ahead): Fix mishandling of encoded sequences
Move declaration of Wch_Con to private part (should not be visible)
* ali.adb (Scan_ALI): Set default encoding method to brackets instead of
UTF-8. Probably this is never used, but if it is, brackets is
clearly correct.
* bindgen.adb (Get_WC_Encoding): New procedure to properly handle
setting wide character encoding for no main program case and when
encoding is specified using -W?
Initialize stack limit of environment task if stack limit method of
stack checking is enabled.
(Gen_Adainit_Ada): Use Get_WC_Encoding to output encoding method
(Gen_Adainit_C): Use Get_WC_Encoding to output encoding method
(Get_Main_Unit_Name): New function.
(Gen_Adainit_Ada): Add call to main program for .NET when needed.
(Gen_Output_File): Set Bind_Main_Program to True for .NET
* bindusg.adb: Add line for -Wx switch
* s-wchcon.adb, s-wchcon.ads: (Is_Start_Of_Encoding): New function
Add comments
Add new useful constant WC_Longest_Sequences
* switch-b.adb: Clean up handling of -Wx switch
For -gnatWx, set Wide_Character_Encoding_Method_Specified
* switch-c.adb: -gnatg activates warning on assertion errors
For -gnatWx, set Wide_Character_Encoding_Method_Specified
* s-wchcon.adb: (Is_Start_Of_Encoding): New function
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130817 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* ali.ads, ali.adb (Scan_ALI): Initialize XE.Tref to a known default
value.
(Xref_Record): Change type for Line, since in the case of a reference to
a predefined entity (as happens for array index types), the line is set
to 0.
Add support for parsing multiple array index types info, or
multiple inherited interfaces info. This information cannot be stored
in Xref_Entity_Record, which only supports a single instance of Tref_*,
and is therefore stored in the list of references instead. It has a
special treatement later on in tools that use this information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129320 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
types.h, uintp.h, urealp.h, usage.adb, usage.ads,
validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128332 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Robert Dewar <dewar@adacore.com>
* bcheck.adb, binde.adb, binderr.adb, binderr.ads, butil.adb,
butil.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
err_vars.ads, exp_tss.adb, exp_tss.ads, fmap.adb, fmap.ads,
fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads,
lib-sort.adb, lib-util.adb, lib-util.ads, lib-xref.adb, makeutl.ads,
makeutl.adb, nmake.adt, osint.adb, osint.ads, osint-b.adb,
par-load.adb, prj-attr.adb, prj-dect.adb, prj-err.adb, prj-makr.adb,
prj-part.adb, prj-pp.adb, prj-proc.adb, prj-tree.adb, prj-tree.ads,
prj-util.adb, prj-util.ads, scans.adb, scans.ads, sem_ch2.adb,
sinput-c.adb, styleg-c.adb, tempdir.adb, tempdir.ads, uname.adb,
uname.ads, atree.h, atree.ads, atree.adb, ali-util.ads, ali-util.adb,
ali.ads, ali.adb:
Move Name_Id, File_Name_Type and Unit_Name_Type from package Types to
package Namet. Make File_Name_Type and Unit_Name_Type types derived from
Mame_Id. Add new type Path_Name_Type, also derived from Name_Id.
Use variables of types File_Name_Type and Unit_Name_Type in error
messages.
(Get_Name): Add parameter Ignore_Special, and set it reading file name
(New_Copy): When debugging the compiler, call New_Node_Debugging_Output
here.
Define flags Flag217-Flag230 with associated subprograms
(Flag_Word5): New record type.
(Flag_Word5_Ptr): New access type.
(To_Flag_Word5): New unchecked conversion.
(To_Flag_Word5_Ptr): Likewise.
(Flag216): New function.
(Set_Flag216): New procedure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125377 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* ali.ads, ali.adb (Get_Nat): Raise an exception if the file cursor is
not on a natural.
(Scan_ALI): Cancel the xref line if there has been a reading ALI error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123548 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Jose Ruiz <ruiz@adacore.com>
* a-dispat.ads, a-diroro.ads, a-diroro.adb: New files.
* ali.adb (Get_Name): Properly handle scanning of wide character names
encoded with brackets notation.
(Known_ALI_Lines): Add S lines to this list.
(Scan_ALI): Acquire S (priority specific dispatching) lines.
New flag Elaborate_All_Desirable in unit table
* ali.ads (Priority_Specific_Dispatching): Add this range of
identifiers to be used for Priority_Specific_Dispatching table entries.
(ALIs_Record): Add First_Specific_Dispatching and
Last_Specific_Dispatching that point to the first and last entries
respectively in the priority specific dispatching table for this unit.
(Specific_Dispatching): Add this table for storing each S (priority
specific dispatching) line encountered in the input ALI file.
New flag Elaborate_All_Desirable in unit table
* bcheck.adb: (Check_Configuration_Consistency): Add call to
Check_Consistent_Dispatching_Policy.
(Check_Consistent_Dispatching_Policy): Add this procedure in charge of
verifying that the use of Priority_Specific_Dispatching,
Task_Dispatching_Policy, and Locking_Policy is consistent across the
partition.
* bindgen.adb: (Public_Version_Warning): function removed.
(Set_PSD_Pragma_Table): Add this procedure in charge of getting the
required information from ALI files in order to initialize the table
containing the specific dispatching policy.
(Gen_Adainit_Ada): Generate the variables required for priority specific
dispatching entries (__gl_priority_specific_dispatching and
__gl_num_specific_dispatching).
(Gen_Adainit_C): Generate the variables required for priority specific
dispatching entries (__gl_priority_specific_dispatching and
__gl_num_specific_dispatching).
(Gen_Output_File): Acquire settings for Priority_Specific_Dispatching
pragma entries.
(Gen_Restrictions_String_1, Gen_Restrictions_String_2): Removed.
(Gen_Restrictions_Ada, Gen_Restrictions_C, Set_Boolean): New procedures.
(Tab_To): Removed.
(Gen_Output_File_Ada/_C): Set directly __gl_xxx variables instead of
a call to gnat_set_globals.
Generate a string containing settings from
Priority_Specific_Dispatching pragma entries.
(Gen_Object_Files_Options): Do not include the runtime libraries when
pragma No_Run_Time is specified.
* init.c (__gnat_install_handler, case FreeBSD): Use SA_SIGINFO, for
consistency with s-intman-posix.adb.
(__gnat_error_handler, case FreeBSD): Account for the fact that the
handler is installed with SA_SIGINFO.
(__gnat_adjust_context_for_raise, FreeBSD case): New function for
FreeBSD ZCX support, copied from Linux version.
Add MaRTE-specific definitions for the linux target. Redefine sigaction,
sigfillset, and sigemptyset so the routines defined by MaRTE.
(__gl_priority_specific_dispatching): Add this variable that stores the
string containing priority specific dispatching policies in the
partition.
(__gl_num_specific_dispatching): Add this variable that indicates the
highest priority for which a priority specific dispatching pragma
applies.
(__gnat_get_specific_dispatching): Add this routine that returns the
priority specific dispatching policy, as set by a
Priority_Specific_Dispatching pragma appearing anywhere in the current
partition. The input argument is the priority number, and the result
is the upper case first character of the policy name.
(__gnat_set_globals): Now a dummy function.
(__gnat_handle_vms_condition): Feed adjust_context_for_raise with
mechargs instead of sigargs, as the latter can be retrieved from the
former and sigargs is not what we want on ia64.
(__gnat_adjust_context_for_raise, alpha-vms): Fetch sigargs from the
mechargs argument.
(__gnat_adjust_context_for_raise, ia64-vms): New function.
(tasking_error): Remove unused symbol.
(_abort_signal): Move this symbol to the IRIX specific part since this
is the only target that uses this definition.
(Check_Abort_Status): Move this symbol to the IRIX specific part since
this is the only target that uses this definition.
(Lock_Task): Remove unused symbol.
(Unlock_Task): Remove unused symbol.
* lib-writ.adb (Write_ALI): Output new S lines for
Priority_Specific_Dispatching pragmas.
Implement new flag BD for elaborate body desirable
* lib-writ.ads: Document S lines for Priority Specific Dispatching.
(Specific_Dispatching): Add this table for storing the entries
corresponding to Priority_Specific_Dispatching pragmas.
Document new BD flag for elaborate body desirable
* par-prag.adb (Prag): Add Priority_Specific_Dispatching to the list
of known pragmas.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118243 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ed Schonberg <schonberg@adacore.com>
* sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
(Check_Elab_Call): A call within a protected body is never an
elaboration call, and does not require checking.
(Same_Elaboration_Scope): Take into account protected types for both
entities.
(Activate_Elaborate_All_Desirable): New procedure
* ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
desirable
* binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
(Elab_Error_Msg): Use -da to include internal unit links, not -de.
* lib-writ.ads, lib-writ.adb:
Implement new AD/ED for Elaborate_All/Elaborate desirable
Use new Elaborate_All_Desirable flag in N_With_Clause node
* sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
N_Free_Statement nodes.
Define new class N_Subprogram_Instantiation
Add Elaborate_Desirable flag to N_With_Clause node
Add N_Delay_Statement (covering two kinds of delay)
* debug.adb: Introduce d.f flag for compiler
Add -da switch for binder
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106968 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emmanuel Briot <briot@adacore.com>
* lib-xref.adb (Output_Overridden_Op): Display information on
overridden operation.
* lib-xref.ads: Add documentation on overridden operations.
* ali.ads (Xref_Entity_Record): Add support for storing the overriding
information.
* ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
overriding entity information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103871 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101492 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emmanuel Briot <briot@adacore.com>
* lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
declared within an inlined body as referenced, to prevent spurious
warnings.
(Output_One_Ref): If an entity renames an array component, indicate in
the ALI file that this aliases (renames) the array. Capture as well
function renamings that rename predefined operations.
Add information about generic parent for package and subprogram
instances.
(Get_Type_Reference): For a subtype that is the renaming of an actual in
an instantiation, use the first_subtype to ensure that we don't generate
cross-reference information for internal types.
For objects and parameters of a generic private type, retain the '*'
indicator to distinguish such an entity from its type.
* ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
to store information about instantiated entities.
* ali.adb (Scan_ALI): Add support for parsing the reference to the
generic parent
* xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
(Parse_Identifier_Info, Parse_Token): Add support for the generic parent
information.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101046 138bc75d-0d04-0410-961f-82ee72b054a4
|