]> gcc.gnu.org Git - gcc.git/blame - gcc/config/xm-interix.h
c4x.md (*addqi3_noclobber_reload): Ensure that CC never modified inadvertently.
[gcc.git] / gcc / config / xm-interix.h
CommitLineData
052dbd9e
MK
1/* Configuration for GNU compiler for processor running Interix
2 Copyright (C) 1993, 1995, 1999 Free Software Foundation, Inc.
3 Donn Terry, Softway Systems, Inc,
4 from code
5 Contributed by Douglas B. Rupp (drupp@cs.washington.edu)
6
7This file is part of GNU CC.
8
9GNU CC is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 2, or (at your option)
12any later version.
13
14GNU CC is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with GNU CC; see the file COPYING. If not, write to
21the Free Software Foundation, 59 Temple Place - Suite 330,
22Boston, MA 02111-1307, USA. */
23
24#ifndef USG
25#define USG 1
26#endif
27
28#ifndef ONLY_INT_FIELDS
97ad1d43 29#ifndef __GNUC__
052dbd9e
MK
30#define ONLY_INT_FIELDS 1
31#endif
97ad1d43 32#endif
052dbd9e
MK
33
34#ifndef USE_PROTOTYPES
35#define USE_PROTOTYPES 1
36#endif
37
38/* If not compiled with GNU C, use the portable alloca. */
39#ifndef __GNUC__
40#define USE_C_ALLOCA 1
41#endif
42
052dbd9e
MK
43/* Our strategy for finding global constructors is a bit different, although
44 not a lot. */
45#define DO_GLOBAL_CTORS_BODY \
46do { \
47 int i; \
48 unsigned long nptrs; \
49 func_ptr *p; \
50 asm( \
51 " .section .ctor_head, \"rw\"\n" \
52 "1:\n" \
53 " .text \n" \
54 ASM_LOAD_ADDR(1b,%0) \
55 : "=r" (p) : : "cc"); \
56 for (nptrs = 0; p[nptrs] != 0; nptrs++); \
57 for (i = nptrs-1; i >= 0; i--) \
58 p[i] (); \
59} while (0)
60
61#define DO_GLOBAL_DTORS_BODY \
62do { \
63 func_ptr *p; \
64 asm( \
65 " .section .dtor_head, \"rw\"\n" \
66 "1:\n" \
67 " .text \n" \
68 ASM_LOAD_ADDR(1b,%0) \
69 : "=r" (p) : : "cc"); \
70 while (*p) \
71 { \
72 p++; \
73 (*(p-1)) (); \
74 } \
75} while (0)
This page took 0.176772 seconds and 5 git commands to generate.