]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/ia64/hpux.h
simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from old and new operands...
[thirdparty/gcc.git] / gcc / config / ia64 / hpux.h
CommitLineData
7e5b9908
SE
1/* Definitions of target machine GNU compiler. IA-64 version.
2 Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
3 Contributed by Steve Ellcey <sje@cup.hp.com> and
4 Reva Cuthbertson <reva@cup.hp.com>
5
6This file is part of GNU CC.
7
8GNU CC is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 2, or (at your option)
11any later version.
12
13GNU CC is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU CC; see the file COPYING. If not, write to
20the Free Software Foundation, 59 Temple Place - Suite 330,
21Boston, MA 02111-1307, USA. */
22
23#undef CPP_PREDEFINES
24#define CPP_PREDEFINES "\
25 -D__IA64__ -D__ia64 -D__ia64__ -D__hpux -D__hpux__ -Dhpux -Dunix \
26 -D__BIG_ENDIAN__ -D_LONGLONG -D__ELF__ \
27 -Asystem=hpux -Asystem=posix -Asystem=unix -Acpu=ia64 -Amachine=ia64 \
28 -D_UINT128_T"
29
30/* -D__fpreg=long double is needed to compensate for the lack of __fpreg
31 which is a primitive type in HP C but does not exist in GNU C. Same
32 for __float80 and __float128. These types appear in HP-UX header
33 files and so must have some definition. */
34
35#undef CPP_SPEC
36#define CPP_SPEC "\
37 %{mcpu=itanium:-D__itanium__} \
38 -D__LP64__ -D__LONG_MAX__=9223372036854775807L \
39 %{!ansi:%{!std=c*:%{!std=i*: -D_HPUX_SOURCE -D__STDC_EXT__}}} \
40 -D__fpreg=long\\ double \
41 -D__float80=long\\ double \
42 -D__float128=long\\ double"
43
44#undef ASM_SPEC
45#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}"
46
47#undef ENDFILE_SPEC
48
49#undef STARTFILE_SPEC
50#ifdef CROSS_COMPILE
51#define STARTFILE_SPEC "%{!shared:crt0%O%s}"
52#else
53#define STARTFILE_SPEC "/usr/ccs/lib/hpux64/crt0%O"
54#endif
55
56#undef LINK_SPEC
57#define LINK_SPEC "\
58 +Accept TypeMismatch \
59 %{shared:-b} \
60 %{!shared: \
61 -u main \
62 %{!static: \
63 %{rdynamic:-export-dynamic}} \
64 %{static:-static}}"
65
66#undef LIB_SPEC
67#define LIB_SPEC "%{!shared:%{!symbolic:-lc}}"
68
69#define DONT_USE_BUILTIN_SETJMP
70#define JMP_BUF_SIZE (8 * 76)
71
72#undef CONST_SECTION_ASM_OP
73#define CONST_SECTION_ASM_OP "\t.section\t.rodata,\t\"a\",\t\"progbits\""
74
75#undef BITS_BIG_ENDIAN
76#define BITS_BIG_ENDIAN 1
77
78#undef TARGET_DEFAULT
79#define TARGET_DEFAULT (MASK_DWARF2_ASM | MASK_BIG_ENDIAN)