re PR ada/51483 (cstand.adb:Register_Float_Type makes invalid assumption about FP...
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 13 Mar 2014 15:42:21 +0000 (15:42 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 13 Mar 2014 15:42:21 +0000 (15:42 +0000)
commit00c5acd39f33c335223428099d5427fad1557db9
tree1e9b0042edfbf26cf75b893c217e55b1cfd8d541
parent9299bde01aed78cfea5a779eae1f79bac9c3ac00
re PR ada/51483 (cstand.adb:Register_Float_Type makes invalid assumption about FP modes)

PR ada/51483
* cstand.adb (Register_Float_Type): Add 'precision' parameter and use
it to set the RM size.  Use directly 'size' for the Esize.
(Create_Back_End_Float_Types): Adjust call to above.
* get_targ.ads (Register_Type_Proc): Add 'precision' parameter.
* set_targ.ads (FPT_Mode_Entry): Add 'precision' component.
(Write_Target_Dependent_Values): Adjust comment.
* set_targ.adb (Register_Float_Type): Add 'precision' parameter and
deal with it.
(Write_Target_Dependent_Values): Write the precision in lieu of size.
(Initialization): Read the precision in lieu of size and compute the
size from the precision and the alignment.
* gcc-interface/gigi.h (enumerate_modes): Add integer parameter.
* gcc-interface/misc.c (enumerate_modes): Likewise.  Do not register
types for vector modes, pass the size in addition to the precision.

From-SVN: r208546
gcc/ada/ChangeLog
gcc/ada/cstand.adb
gcc/ada/gcc-interface/gigi.h
gcc/ada/gcc-interface/misc.c
gcc/ada/get_targ.ads
gcc/ada/set_targ.adb
gcc/ada/set_targ.ads