diff options
author | Bob Duff <duff@adacore.com> | 2020-05-15 11:40:50 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-07-07 05:27:00 -0400 |
commit | e997d94b298c5ea753b613c38518a2c72bdf44af (patch) | |
tree | 714dca955c9704e011351160826bc37f5ca66fa3 | |
parent | a21df0b6a46a7807534c2096bba1642e74e1fbd3 (diff) | |
download | gcc-e997d94b298c5ea753b613c38518a2c72bdf44af.zip gcc-e997d94b298c5ea753b613c38518a2c72bdf44af.tar.gz gcc-e997d94b298c5ea753b613c38518a2c72bdf44af.tar.bz2 |
[Ada] Avoid crash on node extension
gcc/ada/
* treepr.adb (Print_Node): Add code to test Is_Extension.
-rw-r--r-- | gcc/ada/treepr.adb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/treepr.adb b/gcc/ada/treepr.adb index b84af01..b4fd545 100644 --- a/gcc/ada/treepr.adb +++ b/gcc/ada/treepr.adb @@ -1006,6 +1006,15 @@ package body Treepr is return; end if; + -- Similarly, if N points to an extension, avoid crashing + + if Atree_Private_Part.Nodes.Table (N).Is_Extension then + Print_Int (Int (N)); + Print_Str (" is an extension, not a node"); + Print_Eol; + return; + end if; + Prefix_Str_Char (Prefix_Str'Range) := Prefix_Str; Prefix_Str_Char (Prefix_Str'Last + 1) := Prefix_Char; |