------- Comment #3 from jason at gcc dot gnu dot org 2006-07-20 16:03 ------- Subject: Bug 28409
Author: jason Date: Thu Jul 20 16:02:57 2006 New Revision: 115622 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115622 Log: PR c++/28407 * cp/decl.c (grokvardecl): Set DECL_THIS_STATIC on file-scope const variables with implicit internal linkage. * cp/tree.c (decl_linkage): Only return lk_external if it's set. PR c++/28409 * cp/decl2.c (constrain_visibility): Ignore the anonymous namespace for extern C decls. (VISIBILITY_STATIC): Rename to VISIBILITY_ANON. Don't override explicit visibility. * cp/decl2.c (constrain_visibility): Remove specified and reason parameters. Don't touch decls that already have explicit visibility. (determine_visibility): Do copy DECL_VISIBILITY_SPECIFIED from template. (determine_visibility_from_class): Reverse sense of DECL_VISIBILITY_SPECIFIED test for target-specific visibility rules. (constrain_class_visibility): Only complain about member visibility if the member type is another class. Don't change visibility of the current class. * tree.c (remove_attribute): New fn. * tree.h: Declare it. Added: trunk/gcc/testsuite/g++.dg/ext/visibility/template6.C trunk/gcc/testsuite/g++.dg/lookup/anon5.C trunk/gcc/testsuite/g++.dg/template/anon4.C Modified: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl.c trunk/gcc/cp/decl2.c trunk/gcc/cp/pt.c trunk/gcc/cp/tree.c trunk/gcc/doc/extend.texi trunk/gcc/testsuite/g++.dg/ext/visibility/warn2.C trunk/gcc/testsuite/g++.dg/ext/visibility/warn3.C trunk/gcc/tree.c trunk/gcc/tree.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28409