diff options
author | Mark Mitchell <mark@codesourcery.com> | 2005-02-24 02:42:17 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2005-02-24 02:42:17 +0000 |
commit | 1ceb02beedb77918557c665668eb966e4c21d9a2 (patch) | |
tree | 317757a9e5468e8a42e3c2ca066d1a681b186f9a /gcc | |
parent | 03ce14dbc0ca6b32e83d4167449a3cbce4305480 (diff) | |
download | gcc-1ceb02beedb77918557c665668eb966e4c21d9a2.zip gcc-1ceb02beedb77918557c665668eb966e4c21d9a2.tar.gz gcc-1ceb02beedb77918557c665668eb966e4c21d9a2.tar.bz2 |
re PR c++/19878 (ICE in import_export_decl)
PR c++/19878
* decl.c (grokvardecl): Set DECL_INTERFACE_KNOWN for declarations
with internal linkage.
PR c++/19878
* g++.dg/init/const2.C: New test.
From-SVN: r95490
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/decl.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/const2.C | 7 |
4 files changed, 20 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c8b3112..0905273 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-02-23 Mark Mitchell <mark@codesourcery.com> + + PR c++/19878 + * decl.c (grokvardecl): Set DECL_INTERFACE_KNOWN for declarations + with internal linkage. + 2005-02-23 Alexandre Oliva <aoliva@redhat.com> * decl.c (grokvardecl): Don't exempt anonymous types from having diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index bf0fb20..cea13b8 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -5950,6 +5950,8 @@ grokvardecl (tree type, warning ("non-local variable %q#D uses local type %qT", decl, t); } } + else + DECL_INTERFACE_KNOWN (decl) = 1; return decl; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ed9f719..6f590f3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-02-23 Mark Mitchell <mark@codesourcery.com> + + PR c++/19878 + * g++.dg/init/const2.C: New test. + 2005-02-23 Hans-Peter Nilsson <hp@axis.com> PR tree-optimization/20100 diff --git a/gcc/testsuite/g++.dg/init/const2.C b/gcc/testsuite/g++.dg/init/const2.C new file mode 100644 index 0000000..4fd6318 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/const2.C @@ -0,0 +1,7 @@ +// PR c++/19878 + +struct S { + char k; +}; +char const volatile S::* const p01 = &S::k; + |