diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-04 11:57:00 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-04 11:57:00 +0200 |
commit | bb304287342b02608f8df217b65f2a93f65ae90c (patch) | |
tree | f018ecd5df9867a82b2f011873e67be25b6d4580 /gcc/ada/sem_ch8.adb | |
parent | 7ed571892e5a8d10c14a674e38b980f60115ceb6 (diff) | |
download | gcc-bb304287342b02608f8df217b65f2a93f65ae90c.zip gcc-bb304287342b02608f8df217b65f2a93f65ae90c.tar.gz gcc-bb304287342b02608f8df217b65f2a93f65ae90c.tar.bz2 |
[multiple changes]
2014-08-04 Vincent Celier <celier@adacore.com>
* prj-dect.adb (Parse_Case_Construction): It is no longer
an error if the variable for a case construction is not
typed, only if the variable value is not a single string. Call
Parse_Choice_List and End_Case_Construction with the new parameter
to indicate that the variable is typed.
* prj-strt.adb (End_Case_Construction): Only check the labels
if the variable is typed. If the variable is not typed,
issue a warning when there is no "when others" allternative.
(Parse_Choice_List): Manage the labels only if the variable
is typed.
* prj-strt.ads (End_Case_Construction): New Boolean parameter
String_Type.
(Parse_Choice_List): Ditto.
2014-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb: Additional fix to Check_Predicate_Use.
2014-08-04 Vincent Celier <celier@adacore.com>
* projects.texi: Update documentation of case constructions with
variables that are not typed.
2014-08-04 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Build_Class_Wide_Wrapper): If the operator carries
an Eliminated pragma, indicate that the wrapper is also to be
eliminated, to prevent spurious errors when using gnatelim on
programs that include box-initialization of equality operators
(consequence of AI05-071)..
2014-08-04 Robert Dewar <dewar@adacore.com>
* checks.adb (Activate_Overflow_Check): Handle floating-point
case correctly.
* checks.ads (Activate_Overflow_Check): Clarify handling of
floating-point cases.
* exp_util.adb (Check_Float_Op_Overflow): Reset Do_Overflow_Check
flag if we generate an explicit overflow check (for
Check_Float_Overflow mode).
From-SVN: r213550
Diffstat (limited to 'gcc/ada/sem_ch8.adb')
-rw-r--r-- | gcc/ada/sem_ch8.adb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 251fc43..0521efb 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -2321,6 +2321,13 @@ package body Sem_Ch8 is Insert_Before_And_Analyze (N, Spec_Decl); Wrap_Id := Defining_Entity (Spec_Decl); + -- If the operator carries an Eliminated pragma, indicate that the + -- wrapper is also to be eliminated, to prevent spurious error when + -- using gnatelim on programs that include box-initialization of + -- equality operators. + + Set_Is_Eliminated (Wrap_Id, Is_Eliminated (Prim_Op)); + -- The generated body does not freeze and must be analyzed when the -- class-wide wrapper is frozen. The body is only needed if expansion -- is enabled. |