aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-04-13 08:45:41 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-04-13 08:45:41 -0400
commit0076aa6bda29f13eade22a16783d6192d7a34498 (patch)
tree075860706c1e5785ee714abea35fd148f9abd67c /gcc
parent7daa56f55b690b94cebc80b2ef8a7d486dca2e21 (diff)
downloadgcc-0076aa6bda29f13eade22a16783d6192d7a34498.zip
gcc-0076aa6bda29f13eade22a16783d6192d7a34498.tar.gz
gcc-0076aa6bda29f13eade22a16783d6192d7a34498.tar.bz2
(WINDOWS_NT): Provide default definition.
(ASM_OUTPUT_INT): Use output_addr_const. (ASM_OUTPUT_ADDR_DIFF_ELT): Use .long for NT. From-SVN: r9370
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/alpha/alpha.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 7fa19cb..9a73de0 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -69,6 +69,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION
+/* Default this to not be compiling for Windows/NT. */
+#ifndef WINDOWS_NT
+#define WINDOWS_NT 0
+#endif
+
/* Define the location for the startup file on OSF/1 for Alpha. */
#define MD_STARTFILE_PREFIX "/usr/lib/cmplrs/cc/"
@@ -333,7 +338,7 @@ extern int target_flags;
$28 (likewise)
$0 (likewise, but return value)
$21-$16 (likewise, but input args)
- $27 (procedure value)
+ $27 (procedure value in OSF, nonsaved in NT)
$9-$14 (saved integer registers)
$26 (return PC)
$15 (frame pointer)
@@ -1294,7 +1299,7 @@ extern char *current_function_name;
Do not define this if the table should contain absolute addresses.
On the Alpha, the table is really GP-relative, not relative to the PC
of the table, but we pretend that it is PC-relative; this should be OK,
- but we hsould try to find some better way sometime. */
+ but we should try to find some better way sometime. */
#define CASE_VECTOR_PC_RELATIVE
/* Specify the tree operation to be used to convert reals to integers. */
@@ -1652,9 +1657,9 @@ literal_section () \
/* This is how to output an assembler line defining an `int' constant. */
#define ASM_OUTPUT_INT(FILE,VALUE) \
- fprintf (FILE, "\t.long %d\n", \
- (GET_CODE (VALUE) == CONST_INT \
- ? INTVAL (VALUE) & 0xffffffff : (abort (), 0)))
+( fprintf (FILE, "\t.long "), \
+ output_addr_const (FILE, (VALUE)), \
+ fprintf (FILE, "\n"))
/* This is how to output an assembler line defining a `long' constant. */
@@ -1748,8 +1753,13 @@ literal_section () \
/* This is how to output an element of a case-vector that is relative. */
+#if WINDOWS_NT
+#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
+ fprintf (FILE, "\t.long $%d\n", (VALUE) + 32)
+#else
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
fprintf (FILE, "\t.gprel32 $%d\n", (VALUE) + 32)
+#endif
/* This is how to output an assembler line
that says to advance the location counter