aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorAndrew MacLeod <amacleod@redhat.com>2015-06-17 15:36:02 +0000
committerAndrew Macleod <amacleod@gcc.gnu.org>2015-06-17 15:36:02 +0000
commitee47f74ef0e961a0168e830919606981ef331c52 (patch)
tree573d8e14e3900a28a20976ad8875fbc8ae34ac5f /gcc/tree.h
parent82ba6a8e7e8be8714e0976805cf1423b5c885504 (diff)
downloadgcc-ee47f74ef0e961a0168e830919606981ef331c52.zip
gcc-ee47f74ef0e961a0168e830919606981ef331c52.tar.gz
gcc-ee47f74ef0e961a0168e830919606981ef331c52.tar.bz2
tree.h (merge_dllimport_decl_attributes, [...]): Remove conditional exposure of prototypes.
* tree.h (merge_dllimport_decl_attributes, handle_dll_attribute): Remove conditional exposure of prototypes. (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete. * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro definitions in tree.h with functions. * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use anon_aggrname_p. * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise. * cp/cp-lang.c (cxx_dwarf_name): Use anon_aggrname_p. * cp/cp-tree.h (TYPE_ANONYMOUS_P): Likewise. * cp/decl.c (grokdeclarator, xref_tag_1): Likewise. * cp/error.c (dump_aggr_type): likewise. * cp/pt.c (push_template_decl_real): Likewise. * cp/name-lookup.c (make_anon_name): Use anon_aggrname_format. From-SVN: r224564
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h21
1 files changed, 2 insertions, 19 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index ca5e681..dedcb37 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3988,14 +3988,12 @@ extern tree remove_attribute (const char *, tree);
extern tree merge_attributes (tree, tree);
-#if TARGET_DLLIMPORT_DECL_ATTRIBUTES
/* Given two Windows decl attributes lists, possibly including
dllimport, return a list of their union . */
extern tree merge_dllimport_decl_attributes (tree, tree);
/* Handle a "dllimport" or "dllexport" attribute. */
extern tree handle_dll_attribute (tree *, tree, tree, int, bool *);
-#endif
/* Returns true iff unqualified CAND and BASE are equivalent. */
@@ -4899,23 +4897,8 @@ target_opts_for_fn (const_tree fndecl)
/* For anonymous aggregate types, we need some sort of name to
hold on to. In practice, this should not appear, but it should
not be harmful if it does. */
-#ifndef NO_DOT_IN_LABEL
-#define ANON_AGGRNAME_FORMAT "._%d"
-#define ANON_AGGRNAME_P(ID_NODE) (IDENTIFIER_POINTER (ID_NODE)[0] == '.' \
- && IDENTIFIER_POINTER (ID_NODE)[1] == '_')
-#else /* NO_DOT_IN_LABEL */
-#ifndef NO_DOLLAR_IN_LABEL
-#define ANON_AGGRNAME_FORMAT "$_%d"
-#define ANON_AGGRNAME_P(ID_NODE) (IDENTIFIER_POINTER (ID_NODE)[0] == '$' \
- && IDENTIFIER_POINTER (ID_NODE)[1] == '_')
-#else /* NO_DOLLAR_IN_LABEL */
-#define ANON_AGGRNAME_PREFIX "__anon_"
-#define ANON_AGGRNAME_P(ID_NODE) \
- (!strncmp (IDENTIFIER_POINTER (ID_NODE), ANON_AGGRNAME_PREFIX, \
- sizeof (ANON_AGGRNAME_PREFIX) - 1))
-#define ANON_AGGRNAME_FORMAT "__anon_%d"
-#endif /* NO_DOLLAR_IN_LABEL */
-#endif /* NO_DOT_IN_LABEL */
+extern const char *anon_aggrname_format();
+extern bool anon_aggrname_p (const_tree);
/* The tree and const_tree overload templates. */
namespace wi