This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] Fix warnings building trunk on vax-ultrix
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 31 Oct 2003 21:42:23 +1900 (EST)
- Subject: [committed] Fix warnings building trunk on vax-ultrix
This patch fixes a warning and two build failures in the vax backend.
One build failure was a typo. "urem" was inadvertantly changed to "umod".
The other build failure was resolved by including toplev.h to resolve
the define for TARGET_OPTIONS.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
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.
Index: config/vax/vax.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vax.c,v
retrieving revision 1.51
diff -u -3 -p -r1.51 vax.c
--- config/vax/vax.c 13 Oct 2003 21:16:33 -0000 1.51
+++ config/vax/vax.c 1 Nov 2003 01:55:59 -0000
@@ -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. */
Index: config/vax/vax.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/vax/vax.h,v
retrieving revision 1.63
diff -u -3 -p -r1.63 vax.h
--- config/vax/vax.h 2 Oct 2003 00:44:29 -0000 1.63
+++ config/vax/vax.h 1 Nov 2003 01:55:59 -0000
@@ -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_
/* 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) \