Undo assemble_name change in earlier patch.
From-SVN: r46617
This commit is contained in:
parent
26e51caa4d
commit
54ee97997a
@ -1,9 +1,13 @@
|
||||
2001-10-29 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
Undo assemble_name change in earlier patch.
|
||||
|
||||
Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
|
||||
|
||||
* objc/objc-act.c (finish_message_expr): For the GNU runtime: when
|
||||
determining the type of the receiver, do not check that TREE_CODE
|
||||
of receiver is CALL_EXPR before calling receiver_is_class_object
|
||||
(). (receiver_is_class_object): For the GNU runtime: recognize
|
||||
of receiver is CALL_EXPR before calling receiver_is_class_object().
|
||||
(receiver_is_class_object): For the GNU runtime: recognize
|
||||
the case that the receiver is self in a class method context.
|
||||
Check that TREE_CODE of receiver is CALL_EXPR when checking that
|
||||
the receiver is a call to objc_get_class.
|
||||
|
@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. */
|
||||
if (TREE_CODE (DECL) == FUNCTION_DECL) \
|
||||
{ \
|
||||
fputs ("\n\t.extern .", FILE); \
|
||||
assemble_name (FILE, XSTR (_symref, 0)); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, XSTR (_symref, 0)); \
|
||||
} \
|
||||
putc ('\n', FILE); \
|
||||
}
|
||||
|
@ -79,6 +79,12 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef REGISTER_NAMES
|
||||
#define REGISTER_NAMES DEBUG_REGISTER_NAMES
|
||||
|
||||
/* This outputs NAME to FILE. */
|
||||
|
||||
#undef RS6000_OUTPUT_BASENAME
|
||||
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
|
||||
assemble_name (FILE, NAME);
|
||||
|
||||
/* Output before instructions. */
|
||||
/* This is how to output the definition of a user-level label named NAME,
|
||||
such as the label on a static function or variable NAME. */
|
||||
@ -92,7 +98,7 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef ASM_GLOBALIZE_LABEL
|
||||
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
|
||||
do { fputs ("\t.globl ", FILE); \
|
||||
assemble_name (FILE, NAME); putc ('\n', FILE);} while (0)
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); putc ('\n', FILE);} while (0)
|
||||
|
||||
/* This is how to output an internal label prefix. rs6000.c uses this
|
||||
when generating traceback tables. */
|
||||
@ -116,7 +122,7 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef ASM_OUTPUT_ALIGNED_COMMON
|
||||
#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) \
|
||||
do { fputs (".comm ", (FILE)); \
|
||||
assemble_name ((FILE), (NAME)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
|
||||
fprintf ((FILE), ",%d\n", (SIZE)); } while (0)
|
||||
|
||||
#define ASM_OUTPUT_SKIP(FILE,SIZE) \
|
||||
|
@ -4691,7 +4691,11 @@ print_operand (file, x, code)
|
||||
break;
|
||||
}
|
||||
}
|
||||
#if TARGET_AIX
|
||||
RS6000_OUTPUT_BASENAME (file, XSTR (x, 0));
|
||||
#else
|
||||
assemble_name (file, XSTR (x, 0));
|
||||
#endif
|
||||
return;
|
||||
|
||||
case 'Z':
|
||||
@ -7045,9 +7049,17 @@ rs6000_output_function_epilogue (file, size)
|
||||
/* Offset from start of code to tb table. */
|
||||
fputs ("\t.long ", file);
|
||||
ASM_OUTPUT_INTERNAL_LABEL_PREFIX (file, "LT");
|
||||
#if TARGET_AIX
|
||||
RS6000_OUTPUT_BASENAME (file, fname);
|
||||
#else
|
||||
assemble_name (file, fname);
|
||||
#endif
|
||||
fputs ("-.", file);
|
||||
#if TARGET_AIX
|
||||
RS6000_OUTPUT_BASENAME (file, fname);
|
||||
#else
|
||||
assemble_name (file, fname);
|
||||
#endif
|
||||
putc ('\n', file);
|
||||
|
||||
/* Interrupt handler mask. */
|
||||
@ -7464,7 +7476,13 @@ rs6000_output_symbol_ref (file, x)
|
||||
we emit the TOC reference to reference the symbol and not the
|
||||
section. */
|
||||
const char *name = XSTR (x, 0);
|
||||
assemble_name (file, name);
|
||||
|
||||
if (VTABLE_NAME_P (name))
|
||||
{
|
||||
RS6000_OUTPUT_BASENAME (file, name);
|
||||
}
|
||||
else
|
||||
assemble_name (file, name);
|
||||
}
|
||||
|
||||
/* Output a TOC entry. We derive the entry name from what is being
|
||||
@ -7697,7 +7715,7 @@ output_toc (file, x, labelno, mode)
|
||||
section. */
|
||||
if (VTABLE_NAME_P (name))
|
||||
{
|
||||
assemble_name (file, name);
|
||||
RS6000_OUTPUT_BASENAME (file, name);
|
||||
if (offset < 0)
|
||||
fprintf (file, "%d", offset);
|
||||
else if (offset > 0)
|
||||
|
@ -886,6 +886,11 @@ do { \
|
||||
#undef ENCODE_SECTION_INFO
|
||||
#define ENCODE_SECTION_INFO(DECL) rs6000_encode_section_info (DECL)
|
||||
|
||||
/* The ELF version doesn't encode [DS] or whatever at the end of symbols. */
|
||||
|
||||
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
|
||||
assemble_name (FILE, NAME)
|
||||
|
||||
/* This macro gets just the user-specified name
|
||||
out of the string in a SYMBOL_REF. Discard
|
||||
a leading * or @. */
|
||||
|
@ -231,18 +231,28 @@ toc_section () \
|
||||
#define RS6000_ITRUNC "__itrunc"
|
||||
#define RS6000_UITRUNC "__uitrunc"
|
||||
|
||||
/* This outputs NAME to FILE up to the first null or '['. */
|
||||
|
||||
#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
|
||||
{ \
|
||||
const char *_p; \
|
||||
\
|
||||
STRIP_NAME_ENCODING (_p, (NAME)); \
|
||||
assemble_name ((FILE), _p); \
|
||||
}
|
||||
|
||||
/* This is how to output the definition of a user-level label named NAME,
|
||||
such as the label on a static function or variable NAME. */
|
||||
|
||||
#define ASM_OUTPUT_LABEL(FILE,NAME) \
|
||||
do { assemble_name (FILE, NAME); fputs (":\n", FILE); } while (0)
|
||||
do { RS6000_OUTPUT_BASENAME (FILE, NAME); fputs (":\n", FILE); } while (0)
|
||||
|
||||
/* This is how to output a command to make the user-level label named NAME
|
||||
defined for reference from other files. */
|
||||
|
||||
#define ASM_GLOBALIZE_LABEL(FILE,NAME) \
|
||||
do { fputs ("\t.globl ", FILE); \
|
||||
assemble_name (FILE, NAME); putc ('\n', FILE);} while (0)
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); putc ('\n', FILE);} while (0)
|
||||
|
||||
/* Remove any trailing [DS] or the like from the symbol name. */
|
||||
|
||||
@ -333,27 +343,27 @@ toc_section () \
|
||||
if (TREE_PUBLIC (DECL)) \
|
||||
{ \
|
||||
fputs ("\t.globl .", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); \
|
||||
putc ('\n', FILE); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
fputs ("\t.lglobl .", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); \
|
||||
putc ('\n', FILE); \
|
||||
} \
|
||||
fputs ("\t.csect ", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); \
|
||||
fputs (TARGET_32BIT ? "[DS]\n" : "[DS],3\n", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); \
|
||||
fputs (":\n", FILE); \
|
||||
fputs (TARGET_32BIT ? "\t.long ." : "\t.llong .", FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); \
|
||||
fputs (", TOC[tc0], 0\n", FILE); \
|
||||
in_section = no_section; \
|
||||
function_section(DECL); \
|
||||
putc ('.', FILE); \
|
||||
assemble_name (FILE, NAME); \
|
||||
RS6000_OUTPUT_BASENAME (FILE, NAME); \
|
||||
fputs (":\n", FILE); \
|
||||
if (write_symbols == XCOFF_DEBUG) \
|
||||
xcoffout_declare_function (FILE, DECL, NAME); \
|
||||
@ -421,7 +431,7 @@ toc_section () \
|
||||
|
||||
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGNMENT) \
|
||||
do { fputs ("\t.comm ", (FILE)); \
|
||||
assemble_name ((FILE), (NAME)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
|
||||
if ( (SIZE) > 4) \
|
||||
fprintf ((FILE), ",%d,3\n", (SIZE)); \
|
||||
else \
|
||||
@ -439,7 +449,7 @@ toc_section () \
|
||||
|
||||
#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) \
|
||||
do { fputs ("\t.lcomm ", (FILE)); \
|
||||
assemble_name ((FILE), (NAME)); \
|
||||
RS6000_OUTPUT_BASENAME ((FILE), (NAME)); \
|
||||
fprintf ((FILE), ",%d,%s\n", (TARGET_32BIT ? (SIZE) : (ROUNDED)), \
|
||||
xcoff_bss_section_name); \
|
||||
} while (0)
|
||||
|
Loading…
Reference in New Issue
Block a user