aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2020-03-02 12:41:52 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-10 09:34:55 -0400
commit71c4a2b35600a1177542b293cf075d6cf6d4dae4 (patch)
tree5e1e44267ea0b9e1bf0bd866c5f17a9c4302b7a3
parent895cf059f064bb0c86c333f9bd05fc95fa9e8d56 (diff)
downloadgcc-71c4a2b35600a1177542b293cf075d6cf6d4dae4.zip
gcc-71c4a2b35600a1177542b293cf075d6cf6d4dae4.tar.gz
gcc-71c4a2b35600a1177542b293cf075d6cf6d4dae4.tar.bz2
[Ada] Reject illegal bodies for null procedures
2020-06-10 Ghjuvan Lacambre <lacambre@adacore.com> gcc/ada/ * par-ch6.adb (P_Subprogram): Reject duplicate subprogram declarations.
-rw-r--r--gcc/ada/par-ch6.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ada/par-ch6.adb b/gcc/ada/par-ch6.adb
index 2cc3f08..a43d673 100644
--- a/gcc/ada/par-ch6.adb
+++ b/gcc/ada/par-ch6.adb
@@ -959,6 +959,13 @@ package body Ch6 is
-- the collected aspects, if any, to the body.
if Token = Tok_Is then
+
+ -- If the subprogram declaration already has a specification, we
+ -- can't define another.
+ if Null_Present (Specification (Decl_Node)) then
+ Error_Msg_AP ("null procedure cannot have a body");
+ end if;
+
Scan;
goto Subprogram_Body;