aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/set_targ.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2015-01-06 11:08:52 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2015-01-06 11:08:52 +0100
commit28fa5430b89d86f6735a4d505b5dcc891ca27ef6 (patch)
tree51e2e860329d34928673ca83071088b08eca2e1b /gcc/ada/set_targ.adb
parent8a52daeeb01ccfc4131283cc824989b01e0d0e98 (diff)
downloadgcc-28fa5430b89d86f6735a4d505b5dcc891ca27ef6.zip
gcc-28fa5430b89d86f6735a4d505b5dcc891ca27ef6.tar.gz
gcc-28fa5430b89d86f6735a4d505b5dcc891ca27ef6.tar.bz2
[multiple changes]
2015-01-06 Eric Botcazou <ebotcazou@adacore.com> * einfo.ads (Has_Independent_Components): Document extended usage. * einfo.adb (Has_Independent_Components): Remove obsolete assertion. (Set_Has_Independent_Components): Adjust assertion. * sem_prag.adb (Analyze_Pragma): Also set Has_Independent_Components for pragma Atomic_Components. Set Has_Independent_Components on the object instead of the type for an object declaration with pragma Independent_Components. 2015-01-06 Olivier Hainque <hainque@adacore.com> * set_targ.adb (Read_Target_Dependent_Values): Set Long_Double_Index when "long double" is read. (elaboration code): Register_Back_End_Types only when not reading from config files. Doing otherwise is pointless and error prone. 2015-01-06 Robert Dewar <dewar@adacore.com> * s-valrea.adb (Value_Real): Check for Str'Last = Positive'Last 2015-01-06 Robert Dewar <dewar@adacore.com> * a-wtgeau.adb, a-ztgeau.adb, a-tigeau.adb (String_Skip): Raise PE if Str'Last = Positive'Last. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Matches_Limited_View): Handle properly the case where the non-limited type is a generic actual and appears as a subtype of the non-limited view of the other. * freeze.adb (Build_Renamed_Body): If the return type of the declaration that is being completed is a limited view and the non-limited view is available, use it in the specification of the generated body. 2015-01-06 Javier Miranda <miranda@adacore.com> * exp_disp.adb: Reapplying reversed patch. 2015-01-06 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Find_Type_Name): If there is a previous tagged incomplete view, the type of the classwide type common to both views is the type being declared. From-SVN: r219247
Diffstat (limited to 'gcc/ada/set_targ.adb')
-rwxr-xr-xgcc/ada/set_targ.adb19
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/ada/set_targ.adb b/gcc/ada/set_targ.adb
index 0f063e5..4dbd735 100755
--- a/gcc/ada/set_targ.adb
+++ b/gcc/ada/set_targ.adb
@@ -165,7 +165,7 @@ package body Set_Targ is
-- type can be found if it gets registered at all.
Long_Double_Index : Integer := -1;
- -- Once all the back-end types have been registered, the index in
+ -- Once all the floating point types have been registered, the index in
-- FPT_Mode_Table at which "long double" can be found, if anywhere. A
-- negative value means that no "long double" has been registered. This
-- is useful to know whether we have a "long double" available at all and
@@ -769,6 +769,10 @@ package body Set_Targ is
begin
E.NAME := new String'(Nam_Buf (1 .. Nam_Len));
+ if Long_Double_Index < 0 and then E.NAME.all = "long double" then
+ Long_Double_Index := Num_FPT_Modes;
+ end if;
+
E.DIGS := Get_Nat;
Check_Spaces;
@@ -887,13 +891,6 @@ begin
end loop;
end;
- -- Register floating-point types from the back end. We do this
- -- unconditionally so C_Type_For may be called regardless of -gnateT, for
- -- which cstand has a use, and early so we can use FPT_Mode_Table below to
- -- compute some FP attributes.
-
- Register_Back_End_Types (Register_Float_Type'Access);
-
-- Case of reading the target dependent values from file
-- This is bit more complex than might be expected, because it has to be
@@ -939,7 +936,11 @@ begin
Wchar_T_Size := Get_Wchar_T_Size;
Words_BE := Get_Words_BE;
- -- Compute the sizes of floating point types
+ -- Let the back-end register its floating point types and compute
+ -- the sizes of our standard types from there:
+
+ Num_FPT_Modes := 0;
+ Register_Back_End_Types (Register_Float_Type'Access);
declare
T : FPT_Mode_Entry renames