diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2015-06-17 15:36:02 +0000 |
---|---|---|
committer | Andrew Macleod <amacleod@gcc.gnu.org> | 2015-06-17 15:36:02 +0000 |
commit | ee47f74ef0e961a0168e830919606981ef331c52 (patch) | |
tree | 573d8e14e3900a28a20976ad8875fbc8ae34ac5f /gcc/tree.h | |
parent | 82ba6a8e7e8be8714e0976805cf1423b5c885504 (diff) | |
download | gcc-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.h | 21 |
1 files changed, 2 insertions, 19 deletions
@@ -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 |