Use new tail-calling mechanism on ARM.
[official-gcc.git] / gcc / config / xm-lynx.h
blob009f8445eab7e9e7a0472ea3a284f44f073eca88
1 /* Configuration for GNU C-compiler for Lynx.
2 Copyright (C) 1993, 1995 Free Software Foundation, Inc.
4 This file is part of GNU CC.
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.
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.
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. */
21 /* This file defines machine-independent things specific to a host
22 running Lynx. This file should not be specified as $xm_file itself;
23 instead $xm_file should be CPU/xm-lynx.h, which should include this one. */
25 /* #defines that need visibility everywhere. */
26 #define FALSE 0
27 #define TRUE 1
29 /* Arguments to use with `exit'. */
30 #define SUCCESS_EXIT_CODE 0
31 #define FATAL_EXIT_CODE 33
33 /* Lynx has no vfork system call. */
34 #define vfork fork
36 /* Lynx has a non-standard mktemp function. */
37 /* ??? This is simpler than creating YATM: Yet Another Target Macro. */
38 #define mktemp lynx_mktemp
40 #define lynx_mktemp(template) \
41 do { \
42 int pid = getpid (); \
43 char *t = template; \
44 char *p; \
45 p = t + strlen (t); \
46 while (*--p == 'X') \
47 { \
48 *p = (pid % 10) + '0'; \
49 pid /= 10; \
50 } \
51 } while (0)