aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_intr.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2016-07-04 14:32:22 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2016-07-04 14:32:22 +0200
commit0c3f76bac4d10283ab9d6fc9a64ccb0140a0b91e (patch)
treec87cbe44a1dfabcbe30a880e6d790dd9b0925b5b /gcc/ada/sem_intr.adb
parentf3e0f7c3c189b07f56e8758ab5174bd2820d7ea5 (diff)
downloadgcc-0c3f76bac4d10283ab9d6fc9a64ccb0140a0b91e.zip
gcc-0c3f76bac4d10283ab9d6fc9a64ccb0140a0b91e.tar.gz
gcc-0c3f76bac4d10283ab9d6fc9a64ccb0140a0b91e.tar.bz2
[multiple changes]
2016-07-04 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute_Old_Result): The attributes can appear in the postcondition of a subprogram renaming declaration, when the renamed entity is an attribute reference that is a function (such as 'Value). * sem_attr.adb (Eval_Attribute): It doesn't need to be static, just known at compile time, so use Compile_Time_Known_Value instead of Is_Static_Expression. This is an efficiency improvement over the previous bug fix. * sem_ch13.adb (Analyze_One_Aspect): Use Original_Node to detect illegal aspects on subprogram renaming declarations that may have been rewritten as bodies. 2016-07-04 Arnaud Charlet <charlet@adacore.com> * sem_intr.adb (Errint): Do not emit error message in Relaxed_RM_Semantics mode. From-SVN: r237976
Diffstat (limited to 'gcc/ada/sem_intr.adb')
-rw-r--r--gcc/ada/sem_intr.adb10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ada/sem_intr.adb b/gcc/ada/sem_intr.adb
index a15e95c..e26443a 100644
--- a/gcc/ada/sem_intr.adb
+++ b/gcc/ada/sem_intr.adb
@@ -31,6 +31,7 @@ with Errout; use Errout;
with Fname; use Fname;
with Lib; use Lib;
with Namet; use Namet;
+with Opt; use Opt;
with Sem_Aux; use Sem_Aux;
with Sem_Eval; use Sem_Eval;
with Sem_Util; use Sem_Util;
@@ -466,8 +467,13 @@ package body Sem_Intr is
procedure Errint (Msg : String; S : Node_Id; N : Node_Id) is
begin
- Error_Msg_N (Msg, S);
- Error_Msg_N ("incorrect intrinsic subprogram, see spec", N);
+ -- Ignore errors on Intrinsic in Relaxed_RM_Semantics mode where we can
+ -- be more liberal.
+
+ if not Relaxed_RM_Semantics then
+ Error_Msg_N (Msg, S);
+ Error_Msg_N ("incorrect intrinsic subprogram, see spec", N);
+ end if;
end Errint;
end Sem_Intr;