diff options
author | Ghjuvan Lacambre <lacambre@adacore.com> | 2020-10-09 16:36:45 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-11-25 08:22:24 -0500 |
commit | 193040a071b1170e5e22b7371d81b880f69aeae1 (patch) | |
tree | c7fb76f77980cf6bbb3a1df0c52335037c08e6c5 | |
parent | 868268a8ecd1961870513ad2c49df7e1fecd92b8 (diff) | |
download | gcc-193040a071b1170e5e22b7371d81b880f69aeae1.zip gcc-193040a071b1170e5e22b7371d81b880f69aeae1.tar.gz gcc-193040a071b1170e5e22b7371d81b880f69aeae1.tar.bz2 |
[Ada] Fix crash on invalid `pragma Profile`
gcc/ada/
* sem_prag.adb (Analyze_Pragma): Emit error on wrong argument
nkind.
-rw-r--r-- | gcc/ada/sem_prag.adb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 5a2dfff..eda8898 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -21494,7 +21494,11 @@ package body Sem_Prag is Argx : constant Node_Id := Get_Pragma_Arg (Arg1); begin - if Chars (Argx) = Name_Ravenscar then + if Nkind (Argx) /= N_Identifier then + Error_Msg_N + ("argument of pragma Profile must be an identifier", N); + + elsif Chars (Argx) = Name_Ravenscar then Set_Ravenscar_Profile (Ravenscar, N); elsif Chars (Argx) = Name_Jorvik then |