From 6735e374b272717b60842f779c0a554243c32e00 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Thu, 25 Oct 2007 23:42:49 +0000 Subject: [PATCH] re PR c++/33843 (Broken diagnostic: 'bit_not_expr' not supported by pp_cxx_unqualified_id) 2007-10-25 Paolo Carlini PR c++/33843 * cxx-pretty-print.c (pp_cxx_unqualified_id): Deal with BIT_NOT_EXPR. 2007-10-25 Paolo Carlini PR c++/33843 * g++.dg/template/error32.C: New. From-SVN: r129637 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/cxx-pretty-print.c | 5 +++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/template/error32.C | 8 ++++++++ 4 files changed, 23 insertions(+) create mode 100644 gcc/testsuite/g++.dg/template/error32.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d75316e67de..94fe90687e0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2007-10-25 Paolo Carlini + + PR c++/33843 + * cxx-pretty-print.c (pp_cxx_unqualified_id): Deal with BIT_NOT_EXPR. + 2007-10-23 Jason Merrill PR c++/25950 (DR 391) diff --git a/gcc/cp/cxx-pretty-print.c b/gcc/cp/cxx-pretty-print.c index 6481273fd86..7ad46c66637 100644 --- a/gcc/cp/cxx-pretty-print.c +++ b/gcc/cp/cxx-pretty-print.c @@ -195,6 +195,11 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t) pp_cxx_unqualified_id (pp, TYPE_NAME (t)); break; + case BIT_NOT_EXPR: + pp_cxx_complement (pp); + pp_cxx_unqualified_id (pp, TREE_OPERAND (t, 0)); + break; + case TEMPLATE_TYPE_PARM: case TEMPLATE_TEMPLATE_PARM: if (TYPE_IDENTIFIER (t)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5551ed5f80a..a3dc0bf9891 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-25 Paolo Carlini + + PR c++/33843 + * g++.dg/template/error32.C: New. + 2007-10-25 Martin Michlmayr Ira Rosen diff --git a/gcc/testsuite/g++.dg/template/error32.C b/gcc/testsuite/g++.dg/template/error32.C new file mode 100644 index 00000000000..be3c3a08452 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/error32.C @@ -0,0 +1,8 @@ +// PR c++/33843 + +struct A {}; + +void foo(A* p()) +{ + p->A::~A(); // { dg-error "A::~A" } +} -- 2.30.2