diff options
author | Seongbae Park <seongbae.park@gmail.com> | 2007-05-02 23:11:13 +0000 |
---|---|---|
committer | Seongbae Park <spark@gcc.gnu.org> | 2007-05-02 23:11:13 +0000 |
commit | ba99296704bd337a302e5dee43dc57f013d1177b (patch) | |
tree | 607c7af016a22b560e2c1a42510cf7ce4d505d96 /gcc/testsuite | |
parent | e0310afb08cc322a877a51e232bda6efe59d92ed (diff) | |
download | gcc-ba99296704bd337a302e5dee43dc57f013d1177b.zip gcc-ba99296704bd337a302e5dee43dc57f013d1177b.tar.gz gcc-ba99296704bd337a302e5dee43dc57f013d1177b.tar.bz2 |
re PR c++/31663 (Segfault in constrain_class_visibility with anonymous namespace)
gcc/ChangeLog:
2007-05-02 Seongbae Park <seongbae.park@gmail.com>
PR c++/31663
* c-common.c (strip_pointer_or_array_types): New function.
* c-common.h (strip_pointer_or_array_types): New function declaration.
gcc/cp/ChangeLog:
2007-05-02 Seongbae Park <seongbae.park@gmail.com>
PR c++/31663
* decl2.c (constrain_class_visibility):
Use strip_pointer_or_array_types instead of strip_array_types.
gcc/testsuite/ChangeLog:
2007-05-02 Seongbae Park <seongbae.park@gmail.com>
PR C++/31663
* g++.dg/warn/anonymous-namespace-2.C: New.
* g++.dg/warn/anonymous-namespace-2.h: New.
From-SVN: r124363
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C | 29 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/anonymous-namespace-2.h | 3 |
3 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ce5e78c..1ecf013 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-05-02 Seongbae Park <seongbae.park@gmail.com> + + PR C++/31663 + * g++.dg/warn/anonymous-namespace-2.C: New. + * g++.dg/warn/anonymous-namespace-2.h: New. + 2007-05-02 Paul Brook <paul@codesourcery.com> * gcc.dg/arm-eabi1.c: Move debug output. Augment lcmp/ulcmp tests. diff --git a/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C b/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C new file mode 100644 index 0000000..4d87b69 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.C @@ -0,0 +1,29 @@ +// Test for the warning of exposing types from an anonymous namespace +// { dg-do compile } +// +#include "anonymous-namespace-2.h" + +namespace { + struct good { }; +} + +struct g1 { + good * A; +}; +struct b1 { // { dg-warning "uses the anonymous namespace" } + bad * B; +}; + +struct g2 { + good * A[1]; +}; +struct b2 { // { dg-warning "uses the anonymous namespace" } + bad * B[1]; +}; + +struct g3 { + good (*A)[1]; +}; +struct b3 { // { dg-warning "uses the anonymous namespace" } + bad (*B)[1]; +}; diff --git a/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.h b/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.h new file mode 100644 index 0000000..ce5d05c --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/anonymous-namespace-2.h @@ -0,0 +1,3 @@ +namespace { + struct bad { }; +} |