rs6000-protos.h (function_value): Protoize.
[platform/upstream/gcc.git] / gcc / config / pa / pa-hiux.h
1 /* Definitions of target machine for GNU compiler, for HI-UX.
2    Copyright (C) 1993, 1995, 1996, 2002 Free Software Foundation, Inc.
3
4 This file is part of GNU CC.
5
6 GNU CC 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.
10
11 GNU CC 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.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU CC; see the file COPYING.  If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21 /* HIUX is just a HPUX variant.  We can simply use the HPUX configuration
22    for just about everything.  */
23
24 /* OS cpp builtins are the one noteworthy difference between HPUX and HIUX.
25    The following defines are similar to those for hpux10 with the addition
26    of __H3050R and __H3050RX.  */
27 #undef TARGET_OS_CPP_BUILTINS
28 #define TARGET_OS_CPP_BUILTINS()                                \
29   do                                                            \
30     {                                                           \
31         builtin_assert ("system=hiux");                         \
32         builtin_assert ("system=unix");                         \
33         builtin_define ("__hp9000s800");                        \
34         builtin_define ("__hp9000s800__");                      \
35         builtin_define ("__hiux");                              \
36         builtin_define ("__hiux__");                            \
37         builtin_define ("__unix");                              \
38         builtin_define ("__unix__");                            \
39         builtin_define ("__H3050R");                            \
40         builtin_define ("__H3050RX");                           \
41         if (c_language == clk_cplusplus)                        \
42           {                                                     \
43             builtin_define ("_HIUX_SOURCE");                    \
44             builtin_define ("_INCLUDE_LONGLONG");               \
45           }                                                     \
46         else if (!flag_iso)                                     \
47           {                                                     \
48             builtin_define ("_HIUX_SOURCE");                    \
49             if (preprocessing_trad_p ())                        \
50               {                                                 \
51                 builtin_define ("hp9000s800");                  \
52                 builtin_define ("hppa");                        \
53                 builtin_define ("hiux");                        \
54                 builtin_define ("unix");                        \
55                 builtin_define ("__CLASSIC_C__");               \
56                 builtin_define ("_PWB");                        \
57                 builtin_define ("PWB");                         \
58               }                                                 \
59             else                                                \
60               builtin_define ("__STDC_EXT__");                  \
61           }                                                     \
62         if (TARGET_SIO)                                         \
63           builtin_define ("_SIO");                              \
64         else                                                    \
65           {                                                     \
66             builtin_define ("__hp9000s700");                    \
67             builtin_define ("__hp9000s700__");                  \
68             builtin_define ("_WSIO");                           \
69           }                                                     \
70     }                                                           \
71   while (0)
72
73 #undef SUBTARGET_SWITCHES
74 #define SUBTARGET_SWITCHES \
75   { "sio",       MASK_SIO,      N_("Generate cpp defines for server IO") }, \
76   { "wsio",     -MASK_SIO,      N_("Generate cpp defines for workstation IO") },