diff options
author | Michael Matz <matz@suse.de> | 2007-02-22 17:03:48 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2007-02-22 17:03:48 +0000 |
commit | a0ad3539f415e3f925691340ce389c0dc0819c91 (patch) | |
tree | b9429c7e1446e9672a2be1a81499cfcc7a228646 /gcc/cp/cp-lang.c | |
parent | b3502aa8d46d9cd008916170a635b2bf3a5d5125 (diff) | |
download | gcc-a0ad3539f415e3f925691340ce389c0dc0819c91.zip gcc-a0ad3539f415e3f925691340ce389c0dc0819c91.tar.gz gcc-a0ad3539f415e3f925691340ce389c0dc0819c91.tar.bz2 |
dwarf2out.c (add_AT_string): Call ggc_strdup once per string.
* dwarf2out.c (add_AT_string): Call ggc_strdup once per string.
(type_tag): Use lang_hooks.dwarf_name instead of DECL_NAME.
* cp-tree.h (TFF_NO_OUTER_SCOPE): New formatting flag.
* error.c (dump_aggr_type, dump_simple_decl, dump_decl,
dump_function_decl): Guard emitting outer scopes by new flag.
* cp-lang.c (cxx_dwarf_name): New function.
(LANG_HOOKS_DWARF_NAME): Define to cxx_dwarf_name.
* pt.c (classtype_mangled_name, mangle_class_name_for_template):
Remove functions.
(push_template_decl_real, lookup_template_class): Remove calls
to above functions.
From-SVN: r122230
Diffstat (limited to 'gcc/cp/cp-lang.c')
-rw-r--r-- | gcc/cp/cp-lang.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index 793046b..507641c 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -36,6 +36,7 @@ Boston, MA 02110-1301, USA. */ enum c_language_kind c_language = clk_cxx; static void cp_init_ts (void); +static const char * cxx_dwarf_name (tree t, int verbosity); /* Lang hooks common to C++ and ObjC++ are declared in cp/cp-objcp-common.h; consequently, there should be very few hooks below. */ @@ -46,6 +47,8 @@ static void cp_init_ts (void); #define LANG_HOOKS_INIT cxx_init #undef LANG_HOOKS_DECL_PRINTABLE_NAME #define LANG_HOOKS_DECL_PRINTABLE_NAME cxx_printable_name +#undef LANG_HOOKS_DWARF_NAME +#define LANG_HOOKS_DWARF_NAME cxx_dwarf_name #undef LANG_HOOKS_FOLD_OBJ_TYPE_REF #define LANG_HOOKS_FOLD_OBJ_TYPE_REF cp_fold_obj_type_ref #undef LANG_HOOKS_INIT_TS @@ -138,6 +141,17 @@ cp_init_ts (void) } +static const char * +cxx_dwarf_name (tree t, int verbosity) +{ + gcc_assert (DECL_P (t)); + + if (verbosity >= 2) + return decl_as_string (t, TFF_DECL_SPECIFIERS | TFF_UNQUALIFIED_NAME); + + return cxx_printable_name (t, verbosity); +} + void finish_file (void) { |