aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2024-01-16 12:15:31 +0100
committerEric Botcazou <ebotcazou@adacore.com>2024-01-16 12:17:32 +0100
commitcf420e7b98d845323fad8280aea4ede60d3d96fe (patch)
tree93ab3225a8ff3e250bc5c7fa4bc7a7f657c8e407 /gcc/c-family
parent1251d3957de04dc9b023a23c09400217e13deadb (diff)
downloadgcc-cf420e7b98d845323fad8280aea4ede60d3d96fe.zip
gcc-cf420e7b98d845323fad8280aea4ede60d3d96fe.tar.gz
gcc-cf420e7b98d845323fad8280aea4ede60d3d96fe.tar.bz2
Fix crash of -fdump-ada-spec in a pathological case
gcc/c-family/ PR ada/113397 * c-ada-spec.cc (check_type_name_conflict): Add guard for the presence of DECL_NAME on a TYPE_DECL.
Diffstat (limited to 'gcc/c-family')
-rw-r--r--gcc/c-family/c-ada-spec.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-family/c-ada-spec.cc b/gcc/c-family/c-ada-spec.cc
index 7d886c0..4b245ed 100644
--- a/gcc/c-family/c-ada-spec.cc
+++ b/gcc/c-family/c-ada-spec.cc
@@ -1566,6 +1566,8 @@ check_type_name_conflict (pretty_printer *buffer, tree t)
s = "";
else if (TREE_CODE (TYPE_NAME (tmp)) == IDENTIFIER_NODE)
s = IDENTIFIER_POINTER (TYPE_NAME (tmp));
+ else if (!DECL_NAME (TYPE_NAME (tmp)))
+ s = "";
else
s = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (tmp)));