From 373a47c90394c72d65bcd273fe502f1d0c73b7b4 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 2 Jan 2020 18:36:50 +0100 Subject: [PATCH] re PR c/90677 (gcc-9.1.0 fails to build __gcc_diag__ souce: error: 'cgraph_node' is not defined as a type) PR c/90677 * cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name has not been found, rather than error_mark_node. * c-c++-common/pr90677-2.c: New test. From-SVN: r279841 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/cp-objcp-common.c | 7 +++++-- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/c-c++-common/pr90677-2.c | 8 ++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/c-c++-common/pr90677-2.c diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index b2e49a4da4c4..0d9b1806a51f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2020-01-02 Jakub Jelinek + + PR c/90677 + * cp-objcp-common.c (identifier_global_tag): Return NULL_TREE if name + has not been found, rather than error_mark_node. + 2019-12-20 Jakub Jelinek Backported from mainline diff --git a/gcc/cp/cp-objcp-common.c b/gcc/cp/cp-objcp-common.c index a1c976e33a1c..4118ab8a31d6 100644 --- a/gcc/cp/cp-objcp-common.c +++ b/gcc/cp/cp-objcp-common.c @@ -357,8 +357,11 @@ identifier_global_value (tree name) tree identifier_global_tag (tree name) { - return lookup_qualified_name (global_namespace, name, /*prefer_type*/2, - /*complain*/false); + tree ret = lookup_qualified_name (global_namespace, name, /*prefer_type*/2, + /*complain*/false); + if (ret == error_mark_node) + return NULL_TREE; + return ret; } /* Register c++-specific dumps. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 122c4ef4d031..25874aa79aab 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-01-02 Jakub Jelinek + + PR c/90677 + * c-c++-common/pr90677-2.c: New test. + 2019-12-30 Thomas Koenig Backport from trunk diff --git a/gcc/testsuite/c-c++-common/pr90677-2.c b/gcc/testsuite/c-c++-common/pr90677-2.c new file mode 100644 index 000000000000..1d125e01586f --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr90677-2.c @@ -0,0 +1,8 @@ +/* PR c/90677 */ +/* { dg-do compile } */ +/* { dg-options "-W -Wall" } */ + +extern void foo (int, int, const char *, ...) + __attribute__ ((__format__ (__gcc_tdiag__, 3, 4))); +struct cgraph_node; +extern void bar (struct cgraph_node *); -- 2.47.2