diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-23 09:36:49 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-12-23 09:36:49 +0000 |
commit | b5dea9cd0ebbc1a3c706adbba8914f50837e4fa1 (patch) | |
tree | ac173532856e499f071301288be35fa355582b5c /gcc/ada/sem_ch3.adb | |
parent | 43c5696dfa156ed24dba1fac47723c3bd80bf4cd (diff) | |
download | gcc-b5dea9cd0ebbc1a3c706adbba8914f50837e4fa1.tar.gz |
2011-12-23 Pascal Obry <obry@adacore.com>
* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
parameter to generic formal procedure.
* prj.adb (For_Every_Project_Imported): Update accordingly.
(Recursive_Check): Likewise. Do not parse imported project for
aggregate library. This is needed as the imported projects are
there just to handle dependencies.
(Look_For_Sources): Likewise.
(Recursive_Add): Likewise.
* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
Add In_Aggregate_Lib parameter to routines used with
For_Every_Project_Imported generic procedure.
* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
(Check): Move where it is used. Fix implementation
to not check libraries that are inside aggregate libraries.
(Recursive_Check): Add In_Aggregate_Lib parameter.
2011-12-23 Ed Schonberg <schonberg@adacore.com>
* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
package is a referencer regardless of whether there is a
subsequent subprogram with an Inline pragma.
2011-12-23 Geert Bosch <bosch@adacore.com>
* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182656 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch3.adb')
-rw-r--r-- | gcc/ada/sem_ch3.adb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index 662f7e132d2..50c9d3d6e69 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -15333,10 +15333,23 @@ package body Sem_Ch3 is Spec : constant Entity_Id := Real_Range_Specification (Def); begin + -- Check specified "digits" constraint + if Digs_Val > Digits_Value (E) then return False; end if; + -- Avoid types not matching pragma Float_Representation, if present + + if (Opt.Float_Format = 'I' and then Float_Rep (E) /= IEEE_Binary) + or else + (Opt.Float_Format = 'V' and then Float_Rep (E) /= VAX_Native) + then + return False; + end if; + + -- Check for matching range, if specified + if Present (Spec) then if Expr_Value_R (Type_Low_Bound (E)) > Expr_Value_R (Low_Bound (Spec)) |