diff options
author | Javier Miranda <miranda@adacore.com> | 2007-09-11 13:03:53 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-09-11 13:03:53 +0200 |
commit | 7986e000a93bd150c589470b8cb81ad3489fa250 (patch) | |
tree | 4db01ac852882703a2f03544035ffda5e79c4e04 /gcc/builtins.c | |
parent | e89d6010089634063adfeeec679ac7fbf6afa4e6 (diff) | |
download | gcc-7986e000a93bd150c589470b8cb81ad3489fa250.zip gcc-7986e000a93bd150c589470b8cb81ad3489fa250.tar.gz gcc-7986e000a93bd150c589470b8cb81ad3489fa250.tar.bz2 |
einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute.
2007-09-11 Javier Miranda <miranda@adacore.com>
* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
in library level record type entities if we are generating statically
allocated dispatch tables.
* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
importing/exporting the _tag declaration by new code
importing/exporting the dispatch table wrapper. This change allows us
to statically allocate of the TSD.
(Make_DT.Export_DT): New procedure.
(Build_Static_DT): New function.
(Has_DT): New function.
* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
True_Constant and Current_Value. Required to statically
allocate the dispatch tables.
(Check_Allocator): Make function iterative instead of recursive.
Also return inner allocator node, when present, so that we do not have
to look for that node again in the caller.
From-SVN: r128368
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions