OSDN Git Service

* decl2.c (determine_visibility): Make anonymous types internal.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Sep 2009 21:25:18 +0000 (21:25 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 18 Sep 2009 21:25:18 +0000 (21:25 +0000)
commit5f34abf8eb3649c6e1181795469b04845a982b30
treeec33a1350ff4e953d12da2838d2890d5f32c3181
parenta9e738c10afce389cd0572b777edb8a66863738b
* decl2.c (determine_visibility): Make anonymous types internal.
(mark_used): Complain about types without linkage used in
decls with internal linkage.
(vague_linkage_fn_p): Split out from...
* decl.c (maybe_commonize_var): ...here.
(grokdeclarator): Adjust linkage when a typedef gives linkage name.
* tree.c (no_linkage_check): Check the enclosing class and template
arguments.

* cp-tree.h (TYPE_NAMESPACE_SCOPE_P): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151868 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/nolinkage1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/nolinkage1.h [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/nolinkage1a.cc [new file with mode: 0644]