From: Richard Stallman Date: Wed, 31 Mar 1993 20:57:52 +0000 (+0000) Subject: (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4179196a15c43513e08544ff61486134c4b9abd2;p=gcc.git (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Use new REAL_VALUE... macros. (ASM_OUTPUT_LONG_DOUBLE): New definition. From-SVN: r3964 --- diff --git a/gcc/config/m68k/3b1.h b/gcc/config/m68k/3b1.h index c92de6bddd7..f22cf0dfe25 100644 --- a/gcc/config/m68k/3b1.h +++ b/gcc/config/m68k/3b1.h @@ -137,15 +137,24 @@ output_file_directive ((FILE), main_input_filename) /* The unixpc doesn't know about double's and float's */ #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \ -do { union { double d; long l[2]; } tem; \ - tem.d = (VALUE); \ - fprintf(FILE, "\tlong 0x%x,0x%x\n", tem.l[0], tem.l[1]); \ +do { long l[2]; \ + REAL_VALUE_TO_TARGET_DOUBLE (VALUE, l); \ + fprintf (FILE, "\tlong 0x%x,0x%x\n", l[0], l[1]); \ } while (0) +#undef ASM_OUTPUT_LONG_DOUBLE +#define ASM_OUTPUT_LONG_DOUBLE(FILE,VALUE) \ +do { long l[3]; \ + REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, l); \ + fprintf (FILE, "\tlong 0x%x,0x%x,0x%x\n", l[0], l[1], l[2]); \ + } while (0) + +/* This is how to output an assembler line defining a `float' constant. */ + #define ASM_OUTPUT_FLOAT(FILE,VALUE) \ -do { union { float f; long l;} tem; \ - tem.f = (VALUE); \ - fprintf (FILE, "\tlong 0x%x\n", tem.l); \ +do { long l; \ + REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \ + fprintf ((FILE), "\tlong 0x%x\n", l); \ } while (0) #define ASM_OUTPUT_ALIGN(FILE,LOG) \