From: Mark Mitchell Date: Wed, 2 Aug 2000 16:02:43 +0000 (+0000) Subject: * cp-tree.h (DECL_NEEDED_P): Tweak. X-Git-Tag: prereleases/libstdc++-2.92~4962 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3f954fc3f38a0fd76f8107b75f0f0b5936a29fd9;p=thirdparty%2Fgcc.git * cp-tree.h (DECL_NEEDED_P): Tweak. From-SVN: r35426 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index bd8b58a8472f..12becdbcaf0e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2000-08-02 Mark Mitchell + + * cp-tree.h (DECL_NEEDED_P): Tweak. + 2000-07-28 Jason Merrill * lang-specs.h: Use %i in rule for .ii files. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 63c1e8ef2484..d949fcb70c64 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1936,7 +1936,7 @@ struct lang_decl anything that isn't comdat, but we don't know for sure whether or not something is comdat until end-of-file. */ #define DECL_NEEDED_P(DECL) \ - ((at_eof && !DECL_COMDAT (DECL)) \ + ((at_eof && TREE_PUBLIC (DECL) && !DECL_COMDAT (DECL)) \ || (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME ((DECL)))) \ || (flag_syntax_only && TREE_USED ((DECL)))) diff --git a/gcc/testsuite/g++.old-deja/g++.other/static14.C b/gcc/testsuite/g++.old-deja/g++.other/static14.C new file mode 100644 index 000000000000..6df4c4c5e103 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/static14.C @@ -0,0 +1,19 @@ +// Build don't run: +// Origin: scott snyder + +struct basic_string +{ + ~basic_string(); +}; + +struct Side +{ + void name() + { + static basic_string sname; + } +}; + +int main () +{ +}