[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 12 Dec 2011 11:54:30 +0000 (12:54 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 12 Dec 2011 11:54:30 +0000 (12:54 +0100)
commit6bed26b5427ac521b5b1bea8d4f24f265980670d
treee566c00a722d5b074112e751aaa53d7d1d10dfdd
parentfe58fea70b2614f36fb9e1fde78af892426ad8a6
[multiple changes]

2011-12-12  Robert Dewar  <dewar@adacore.com>

* sem_prag.adb (GNAT_Pragma): Check comes from source.

2011-12-12  Robert Dewar  <dewar@adacore.com>

* gnatls.adb: Minor reformatting.

2011-12-12  Javier Miranda  <miranda@adacore.com>

* a-tags.ads (Alignment): New TSD field.
(Max_Predef_Prims): Value lowered to 15 (or 9 in case of
configurable runtime) Update documentation of predefined
primitives since Alignment has been removed.
* exp_disp.ads Update documentation of slots of dispatching
primitives.
* exp_disp.adb (Default_Prim_Op_Position): Update slot
values since alignment is no longer a predefined primitive.
(Is_Predefined_Dispatch_Operation): Remove _alignment.
(Is_Predefined_Internal_Operation): Remove _alignment.
(Make_DT): Update static test on the value stored in a-tags.ads
for Max_Predef_Prims; store the value of 'alignment in the TSD.
* exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
that retrieves the alignment from the TSD
* exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
of class-wide types obtain the value of alignment from the TSD.
* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
applied to a class-wide type invoke Build_Get_Alignment to
generate code which retrieves the value of the alignment from
the TSD.
* rtsfind.ads (RE_Alignment): New Ada.Tags entity
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
types if the value of the alignment is bigger than the Maximum
alignment then set the value of the alignment to the Maximum
alignment and report a warning.
* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
spec of _alignment.
(Predefined_Primitive_Bodies): Do not generate body of _alignment.

From-SVN: r182229
13 files changed:
gcc/ada/ChangeLog
gcc/ada/a-tags.ads
gcc/ada/exp_atag.adb
gcc/ada/exp_atag.ads
gcc/ada/exp_attr.adb
gcc/ada/exp_ch3.adb
gcc/ada/exp_disp.adb
gcc/ada/exp_disp.ads
gcc/ada/exp_util.adb
gcc/ada/gnatls.adb
gcc/ada/rtsfind.ads
gcc/ada/sem_ch13.adb
gcc/ada/sem_prag.adb