aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-06-25 05:36:54 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-10-16 03:31:17 -0400
commit6f238680dd3091f7431f3e1b571ea3c51f8ce2b4 (patch)
tree7318e288e46549a524c8df08e7cffbcf271b0de0 /gcc/ada
parent64d5b75fc6efe4e222f7ffb4d64d3ee93afea398 (diff)
downloadgcc-6f238680dd3091f7431f3e1b571ea3c51f8ce2b4.zip
gcc-6f238680dd3091f7431f3e1b571ea3c51f8ce2b4.tar.gz
gcc-6f238680dd3091f7431f3e1b571ea3c51f8ce2b4.tar.bz2
[Ada] Crash when specifying an abstract subprogram with Stream_Convert
gcc/ada/ * sem_prag.adb (Check_OK_Stream_Convert_Function): Check for abstract subprograms.
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/sem_prag.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index b3fa734..3876198 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -23719,6 +23719,9 @@ package body Sem_Prag is
Error_Pragma_Arg
("argument for pragma% must be function of one argument",
Arg);
+ elsif Is_Abstract_Subprogram (Ent) then
+ Error_Pragma_Arg
+ ("argument for pragma% cannot be abstract", Arg);
end if;
end Check_OK_Stream_Convert_Function;