aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/cp-tree.h
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2009-09-18 17:25:18 -0400
committerJason Merrill <jason@gcc.gnu.org>2009-09-18 17:25:18 -0400
commitecc607fc08d8d9345406ff824063fcaf500f9021 (patch)
treeec33a1350ff4e953d12da2838d2890d5f32c3181 /gcc/cp/cp-tree.h
parent5f5babf18b5bede638a67406cbd3ebf480cd4b8f (diff)
downloadgcc-ecc607fc08d8d9345406ff824063fcaf500f9021.zip
gcc-ecc607fc08d8d9345406ff824063fcaf500f9021.tar.gz
gcc-ecc607fc08d8d9345406ff824063fcaf500f9021.tar.bz2
decl2.c (determine_visibility): Make anonymous types internal.
* 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. From-SVN: r151868
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r--gcc/cp/cp-tree.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 7801f98..816b4ca 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -2129,6 +2129,9 @@ struct GTY(()) lang_decl {
(!DECL_TEMPLATE_PARM_P (NODE) \
&& TREE_CODE (CP_DECL_CONTEXT (NODE)) == NAMESPACE_DECL)
+#define TYPE_NAMESPACE_SCOPE_P(NODE) \
+ (TREE_CODE (CP_TYPE_CONTEXT (NODE)) == NAMESPACE_DECL)
+
/* 1 iff NODE is a class member. */
#define DECL_CLASS_SCOPE_P(NODE) \
(DECL_CONTEXT (NODE) && TYPE_P (DECL_CONTEXT (NODE)))
@@ -4457,6 +4460,7 @@ extern bool check_java_method (tree);
extern tree build_memfn_type (tree, tree, cp_cv_quals);
extern void maybe_retrofit_in_chrg (tree);
extern void maybe_make_one_only (tree);
+extern bool vague_linkage_fn_p (tree);
extern void grokclassfn (tree, tree,
enum overload_flags);
extern tree grok_array_decl (tree, tree);