2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / config / alpha / osf5.h
blob7bd926290357b027b10b31fd3a251a1b21ebf45e
1 /* Definitions of target machine for GNU compiler, for DEC Alpha on Tru64 5.
2 Copyright (C) 2000, 2001 Free Software Foundation, Inc.
4 This file is part of GCC.
6 GCC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GCC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING. If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 /* Tru64 5.1 uses IEEE QUAD format. */
22 /* ??? However, since there is no support for VAX H_floating, we must
23 drop back to a 64-bit long double to avoid a crash looking for the
24 format associated with TFmode. */
25 #undef LONG_DOUBLE_TYPE_SIZE
26 #define LONG_DOUBLE_TYPE_SIZE (TARGET_FLOAT_VAX ? 64 : 128)
28 /* In Tru64 UNIX V5.1, Compaq introduced a new assembler
29 (/usr/lib/cmplrs/cc/adu) which currently (versions between 3.04.29 and
30 3.04.32) breaks mips-tfile. Passing the undocumented -oldas flag reverts
31 to using the old assembler (/usr/lib/cmplrs/cc/as[01]).
33 The V5.0 and V5.0A assemblers silently ignore -oldas, so it can be
34 specified here.
36 It is clearly not desirable to depend on this undocumented flag, and
37 Compaq wants -oldas to go away soon, but until they have released a
38 new adu that works with mips-tfile, this is the only option.
40 In some versions of the DTK, the assembler driver invokes ld after
41 assembly. This has been fixed in current versions, but adding -c
42 works as expected for all versions. */
44 #undef ASM_OLDAS_SPEC
45 #define ASM_OLDAS_SPEC "-oldas -c"
47 /* The linker appears to perform invalid code optimizations that result
48 in the ldgp emitted for the exception_receiver pattern being incorrectly
49 linked. */
50 #undef TARGET_LD_BUGGY_LDGP
51 #define TARGET_LD_BUGGY_LDGP 1
53 /* Tru64 v5.1 has the float and long double forms of math functions. */
54 #undef TARGET_C99_FUNCTIONS
55 #define TARGET_C99_FUNCTIONS 1