diff options
author | Joern Rennecke <amylaar@spamcop.net> | 2010-11-06 15:04:52 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2010-11-06 15:04:52 +0000 |
commit | 4ee3b0139f8dd732d6f0cf9571e86cd0ce3740a0 (patch) | |
tree | b56460ca5534a7fdbf2c285dcfdd238b028c3201 /gcc/java | |
parent | a9625a91d2cd2ef2cc6d82f6ace9be5199745fdf (diff) | |
download | gcc-4ee3b0139f8dd732d6f0cf9571e86cd0ce3740a0.zip gcc-4ee3b0139f8dd732d6f0cf9571e86cd0ce3740a0.tar.gz gcc-4ee3b0139f8dd732d6f0cf9571e86cd0ce3740a0.tar.bz2 |
re PR middle-end/46314 (frontends use ASM_GENERATE_INTERNAL_LABEL)
PR middle-end/46314
gcc:
* target.def (generate_internal_label): New asm_out hook.
* output.h (default_generate_internal_label): Declare.
* varasm.c (default_generate_internal_label): Define.
gcc/cp:
* method.c (make_alias_for_thunk):
Use targetm.asm_out.generate_internal_label.
gcc/java:
* class.c: Include target.h.
(make_local_function_alias):
Use targetm.asm_out.generate_internal_label.
* expr.c (lookup_label, generate_name): Likewise.
From-SVN: r166404
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/java/class.c | 3 | ||||
-rw-r--r-- | gcc/java/expr.c | 5 |
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ae89444..4b97677 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,11 @@ +2010-11-06 Joern Rennecke <amylaar@spamcop.net> + + PR middle-end/46314 + * class.c: Include target.h. + (make_local_function_alias): + Use targetm.asm_out.generate_internal_label. + * expr.c (lookup_label, generate_name): Likewise. + 2010-11-03 Joern Rennecke <joern.rennecke@embecosm.com> PR bootstrap/44335 diff --git a/gcc/java/class.c b/gcc/java/class.c index ece261b..a1dc9c0 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -43,6 +43,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */ #include "tree-iterator.h" #include "vecprim.h" #include "tm.h" /* FIXME: For gcc_obstack_init from defaults.h. */ +#include "target.h" /* DOS brain-damage */ #ifndef O_BINARY @@ -1399,7 +1400,7 @@ make_local_function_alias (tree method) *name = 'L'; strcpy (name + 1, method_name); - ASM_GENERATE_INTERNAL_LABEL (buf, name, alias_labelno++); + targetm.asm_out.generate_internal_label (buf, name, alias_labelno++); alias = build_decl (input_location, FUNCTION_DECL, get_identifier (buf), TREE_TYPE (method)); diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 9f9667f..85cf1a2 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1763,7 +1763,8 @@ lookup_label (int pc) char buf[32]; if (pc > highest_label_pc_this_method) highest_label_pc_this_method = pc; - ASM_GENERATE_INTERNAL_LABEL(buf, "LJpc=", start_label_pc_this_method + pc); + targetm.asm_out.generate_internal_label (buf, "LJpc=", + start_label_pc_this_method + pc); name = get_identifier (buf); if (IDENTIFIER_LOCAL_VALUE (name)) return IDENTIFIER_LOCAL_VALUE (name); @@ -1783,7 +1784,7 @@ generate_name (void) { static int l_number = 0; char buff [32]; - ASM_GENERATE_INTERNAL_LABEL(buff, "LJv", l_number); + targetm.asm_out.generate_internal_label (buff, "LJv", l_number); l_number++; return get_identifier (buff); } |