source: trunk/third/gcc/gcc/tsystem.h @ 18474

Revision 18474, 2.5 KB checked in by ghudson, 21 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18473, which included commits to RCS files with non-trunk default branches.
Line 
1/* Get common system includes and various definitions and declarations
2   based on target macros.
3   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 2, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING.  If not, write to the Free
19Software Foundation, 59 Temple Place - Suite 330, Boston, MA
2002111-1307, USA.  */
21
22#ifndef GCC_TSYSTEM_H
23#define GCC_TSYSTEM_H
24
25/* System headers (e.g. stdio.h, stdlib.h, unistd.h) sometimes
26   indirectly include getopt.h.  Our -I flags will cause gcc's gnu
27   getopt.h to be included, not the platform's copy.  In the default
28   case, gnu getopt.h will provide us with a no-argument prototype
29   which will generate -Wstrict-prototypes warnings.  None of the
30   target files actually use getopt, so it is safe to tell gnu
31   getopt.h we never need this prototype.  */
32#ifndef HAVE_DECL_GETOPT
33#define HAVE_DECL_GETOPT 1
34#endif
35
36/* GCC supplies this header.  */
37#include <stddef.h>
38
39#ifdef inhibit_libc
40
41#ifndef malloc
42extern void *malloc (size_t);
43#endif
44
45#ifndef free
46extern void free (void *);
47#endif
48
49#ifndef atexit
50extern int atexit (void (*)(void));
51#endif
52
53#else /* ! inhibit_libc */
54/* We disable this when inhibit_libc, so that gcc can still be built without
55   needing header files first.  */
56/* ??? This is not a good solution, since prototypes may be required in
57   some cases for correct code.  */
58
59/* GCC supplies this header.  */
60#include <stdarg.h>
61
62/* All systems have this header.  */
63#include <stdio.h>
64
65/* All systems have this header.  */
66#include <sys/types.h>
67
68/* All systems have this header.  */
69#include <errno.h>
70
71#ifndef errno
72extern int errno;
73#endif
74
75#ifdef POSIX
76#include <string.h>
77#endif
78
79/* GCC (fixproto) guarantees these system headers exist.  */
80#include <stdlib.h>
81#include <unistd.h>
82
83/* GCC supplies this header.  */
84#include <limits.h>
85
86#ifdef POSIX
87#include <time.h>
88#endif
89
90#endif /* inhibit_libc */
91
92/* Define a generic NULL if one hasn't already been defined.  */
93#ifndef NULL
94#define NULL 0
95#endif
96
97#endif /* ! GCC_TSYSTEM_H */
Note: See TracBrowser for help on using the repository browser.