diff options
author | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-13 21:26:49 +0000 |
---|---|---|
committer | echristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-13 21:26:49 +0000 |
commit | 3469b0cf77d6be77253fe09144ba402e9c05fbc8 (patch) | |
tree | 0e68aedc878796aca01f6b28a66dcd3f7b92f4e5 | |
parent | 79f0a894fe4f1b4c71b145e73e0eb539e1429a3d (diff) | |
download | ppe42-gcc-3469b0cf77d6be77253fe09144ba402e9c05fbc8.tar.gz ppe42-gcc-3469b0cf77d6be77253fe09144ba402e9c05fbc8.zip |
2006-10-13 Eric Christopher <echristo@apple.com>
* config/darwin.c (darwin_emit_unwind_label): Strip
name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117708 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/darwin.c | 15 |
2 files changed, 16 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d242366e058..bb1be3c9caf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-10-13 Eric Christopher <echristo@apple.com> + + * config/darwin.c (darwin_emit_unwind_label): Strip + name encoding. Use DECL_ASSEMBLER_NAME_SET_P. + 2006-10-13 Richard Guenther <rguenther@suse.de> PR tree-optimization/29446 @@ -202,7 +207,7 @@ Use <modeconstraint> instead of "r" as operand 1 constraint. 2006-10-06 Olivier Hainque <hainque@adacore.com> - + * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]: Don't recurse on the pointed-to type. * c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or @@ -278,7 +283,7 @@ (get_emutls_object_name, get_emutls_object_type): New. (get_emutls_init_templ_addr, emutls_decl): New. (emutls_common_1, emutls_finish): New. - (assemble_variable): When emulating tls, swap decls; generate + (assemble_variable): When emulating tls, swap decls; generate constructor for the emutls objects. (do_assemble_alias): When emulating tls, swap decl and target name. (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index e486594b702..124d4af4e88 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -1338,14 +1338,17 @@ no_dead_strip (FILE *file, const char *lab) void darwin_emit_unwind_label (FILE *file, tree decl, int for_eh, int empty) { - tree id = DECL_ASSEMBLER_NAME (decl) - ? DECL_ASSEMBLER_NAME (decl) - : DECL_NAME (decl); + const char *base; + char *lab; + bool need_quotes; - const char *base = IDENTIFIER_POINTER (id); + if (DECL_ASSEMBLER_NAME_SET_P (decl)) + base = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)); + else + base = IDENTIFIER_POINTER (DECL_NAME (decl)); - bool need_quotes = name_needs_quotes (base); - char *lab; + base = targetm.strip_name_encoding (base); + need_quotes = name_needs_quotes (base); if (! for_eh) return; |