From: Mark Mitchell Date: Thu, 24 Feb 2005 02:42:17 +0000 (+0000) Subject: re PR c++/19878 (ICE in import_export_decl) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1ceb02beedb77918557c665668eb966e4c21d9a2;p=gcc.git 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 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c8b31120e3c..0905273daa7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-02-23 Mark Mitchell + + PR c++/19878 + * decl.c (grokvardecl): Set DECL_INTERFACE_KNOWN for declarations + with internal linkage. + 2005-02-23 Alexandre Oliva * decl.c (grokvardecl): Don't exempt anonymous types from having diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index bf0fb20061c..cea13b83554 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 ed9f7194101..6f590f33a92 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-02-23 Mark Mitchell + + PR c++/19878 + * g++.dg/init/const2.C: New test. + 2005-02-23 Hans-Peter Nilsson 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 00000000000..4fd631851a4 --- /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; +