summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-13 21:26:49 +0000
committerechristo <echristo@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-13 21:26:49 +0000
commit3469b0cf77d6be77253fe09144ba402e9c05fbc8 (patch)
tree0e68aedc878796aca01f6b28a66dcd3f7b92f4e5
parent79f0a894fe4f1b4c71b145e73e0eb539e1429a3d (diff)
downloadppe42-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/ChangeLog9
-rw-r--r--gcc/config/darwin.c15
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;
OpenPOWER on IntegriCloud