diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 13:13:26 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 13:13:26 +0000 |
commit | a644c671d51a05f7ad2202f5250e514d0c760c57 (patch) | |
tree | 7cdac6344493fddee9dd7437b06db0aacfa35f0d /gcc/ada/sem_res.adb | |
parent | 2a82929413ade6657b461f3342a5e9b198027bb9 (diff) | |
download | gcc-a644c671d51a05f7ad2202f5250e514d0c760c57.tar.gz |
2011-08-29 Tristan Gingold <gingold@adacore.com>
* s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
* rtsfind.ads (RTU_Id): Replaces System_Exceptions by
System_Exceptions_Debug
(RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
* a-except.adb: With and use System.Exceptions_Debug instead of
System.Exceptions.
* a-except-2005.adb: Likewise.
* s-assert.adb: Likewise.
* s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
* Makefile.rtl: Add s-excdeb. Adjust compilation rule.
* gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
s-excdeb. Update dependencies.
(GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
as these no longer need external libraries.
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Op_Expon): Additional check to reject an
exponentiation operator on universal values in a context that requires
a fixed-point type.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
before calling notify_handled_exception.
* a-exextr.adb: Fix comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178221 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_res.adb')
-rw-r--r-- | gcc/ada/sem_res.adb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index e552c668560..7d47bbeb05a 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -7839,6 +7839,14 @@ package body Sem_Res is if Is_Fixed_Point_Type (Typ) and then Comes_From_Source (N) then Error_Msg_N ("exponentiation not available for fixed point", N); return; + + elsif Nkind (Parent (N)) in N_Op + and then Is_Fixed_Point_Type (Etype (Parent (N))) + and then Etype (N) = Universal_Real + and then Comes_From_Source (N) + then + Error_Msg_N ("exponentiation not available for fixed point", N); + return; end if; if Comes_From_Source (N) |