diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/class.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 5fb1ded..1c0f9d4 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2004-08-18 Andrew Pinski <apinski@apple.com> + + * class.c (make_local_function_alias): Only make a new decl if we support + alias attribute on all decls. + 2004-08-18 Bryce McKinlay <mckinlay@redhat.com> * class.c (make_local_function_alias): New function. Create local diff --git a/gcc/java/class.c b/gcc/java/class.c index 25f2704..d24e033 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -1201,12 +1201,13 @@ get_access_flags_from_decl (tree decl) static GTY (()) int alias_labelno = 0; /* Create a private alias for METHOD. Using this alias instead of the method -decl ensures that ncode entries in the method table point to the real function -at runtime, not a PLT entry. */ + decl ensures that ncode entries in the method table point to the real function + at runtime, not a PLT entry. */ static tree make_local_function_alias (tree method) { +#ifdef ASM_OUTPUT_DEF tree alias; const char *method_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (method)); char *name = alloca (strlen (method_name) + 1); @@ -1234,6 +1235,9 @@ make_local_function_alias (tree method) if (!flag_syntax_only) assemble_alias (alias, DECL_ASSEMBLER_NAME (method)); return alias; +#else + return method; +#endif } /** Make reflection data (_Jv_Field) for field FDECL. */ |