summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_res.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-29 13:13:26 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-29 13:13:26 +0000
commita644c671d51a05f7ad2202f5250e514d0c760c57 (patch)
tree7cdac6344493fddee9dd7437b06db0aacfa35f0d /gcc/ada/sem_res.adb
parent2a82929413ade6657b461f3342a5e9b198027bb9 (diff)
downloadgcc-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.adb8
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)