vax.c: Include toplev.h.

* vax.c: Include toplev.h.
	(vax_init_libfuncs): Fix typo (umod).
	* vax.h (ASM_COMMENT_START): Define.
	(PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.

From-SVN: r73167
This commit is contained in:
John David Anglin 2003-11-01 02:11:12 +00:00 committed by John David Anglin
parent 41ba7ed74c
commit 72f03fdeb8
3 changed files with 24 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* vax.c: Include toplev.h.
(vax_init_libfuncs): Fix typo (umod).
* vax.h (ASM_COMMENT_START): Define.
(PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2003-10-31 Roger Sayle <roger@eyesopen.com>
PR middle-end/11968

View File

@ -38,6 +38,7 @@ Boston, MA 02111-1307, USA. */
#include "optabs.h"
#include "flags.h"
#include "debug.h"
#include "toplev.h"
#include "tm_p.h"
#include "target.h"
#include "target-def.h"
@ -152,7 +153,7 @@ static void
vax_init_libfuncs (void)
{
set_optab_libfunc (udiv_optab, SImode, TARGET_ELF ? "*__udiv" : "*udiv");
set_optab_libfunc (umod_optab, SImode, TARGET_ELF ? "*__umod" : "*umod");
set_optab_libfunc (umod_optab, SImode, TARGET_ELF ? "*__urem" : "*urem");
}
/* This is like nonimmediate_operand with a restriction on the type of MEM. */

View File

@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler. VAX version.
Copyright (C) 1987, 1988, 1991, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@ -933,6 +933,12 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
/* Control the assembler format that we output. */
/* A C string constant describing how to begin a comment in the target
assembler language. The compiler assumes that the comment will end at
the end of the line. */
#define ASM_COMMENT_START "#"
/* Output to assembler file text saying following lines
may contain character constants, extra white space, comments, etc. */
@ -1106,7 +1112,13 @@ VAX operand formatting codes:
/* The purpose of D is to get around a quirk or bug in VAX assembler
whereby -1 in a 64-bit immediate operand means 0x00000000ffffffff,
which is not a 64-bit minus one. */
which is not a 64-bit minus one. As a workaround, we output negative
values in hex. */
#if HOST_BITS_PER_WIDE_INT == 64
# define NEG_HWI_PRINT_HEX16 HOST_WIDE_INT_PRINT_HEX
#else
# define NEG_HWI_PRINT_HEX16 "0xffffffff%08lx"
#endif
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) \
((CODE) == '#' || (CODE) == '|')
@ -1118,7 +1130,7 @@ VAX operand formatting codes:
else if (CODE == 'C') \
fputs (rev_cond_name (X), FILE); \
else if (CODE == 'D' && GET_CODE (X) == CONST_INT && INTVAL (X) < 0) \
fprintf (FILE, "$0xffffffff%08x", INTVAL (X)); \
fprintf (FILE, "$" NEG_HWI_PRINT_HEX16, INTVAL (X)); \
else if (CODE == 'P' && GET_CODE (X) == CONST_INT) \
fprintf (FILE, "$" HOST_WIDE_INT_PRINT_DEC, INTVAL (X) + 1); \
else if (CODE == 'N' && GET_CODE (X) == CONST_INT) \