* extend.texi: Improve documentation of volatile asms.
[official-gcc.git] / gcc / cppdefault.h
blobdb7063cd662d758657971bd0ef51f1d2d3f9ffdf
1 /* CPP Library.
2 Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3 1999, 2000 Free Software Foundation, Inc.
4 Contributed by Per Bothner, 1994-95.
5 Based on CCCP program by Paul Rubin, June 1986
6 Adapted to ANSI C, Richard Stallman, Jan 1987
8 This program is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the
10 Free Software Foundation; either version 2, or (at your option) any
11 later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
22 #ifndef __GCC_CPPDEFAULT__
23 #define __GCC_CPPDEFAULT__
25 /* This header contains declarations and/or #defines for all the
26 hard-wired defaults in cpp. Note it's used by both cpplib and
27 tradcpp. */
29 #ifndef STANDARD_INCLUDE_DIR
30 #define STANDARD_INCLUDE_DIR "/usr/include"
31 #endif
33 #ifndef STANDARD_INCLUDE_COMPONENT
34 #define STANDARD_INCLUDE_COMPONENT 0
35 #endif
37 #ifdef CROSS_COMPILE
38 #undef LOCAL_INCLUDE_DIR
39 #undef SYSTEM_INCLUDE_DIR
40 #undef STANDARD_INCLUDE_DIR
41 #else
42 #undef CROSS_INCLUDE_DIR
43 #endif
45 /* We let tm.h override the types used here, to handle trivial differences
46 such as the choice of unsigned int or long unsigned int for size_t.
47 When machines start needing nontrivial differences in the size type,
48 it would be best to do something here to figure out automatically
49 from other information what type to use. */
51 /* The string value for __SIZE_TYPE__. */
53 #ifndef SIZE_TYPE
54 #define SIZE_TYPE "long unsigned int"
55 #endif
57 /* The string value for __PTRDIFF_TYPE__. */
59 #ifndef PTRDIFF_TYPE
60 #define PTRDIFF_TYPE "long int"
61 #endif
63 /* The string value for __WCHAR_TYPE__. */
65 #ifndef WCHAR_TYPE
66 #define WCHAR_TYPE "int"
67 #endif
69 /* The string value for __WINT_TYPE__. */
71 #ifndef WINT_TYPE
72 #define WINT_TYPE "unsigned int"
73 #endif
75 /* The string value for __USER_LABEL_PREFIX__ */
77 #ifndef USER_LABEL_PREFIX
78 #define USER_LABEL_PREFIX ""
79 #endif
81 /* The string value for __REGISTER_PREFIX__ */
83 #ifndef REGISTER_PREFIX
84 #define REGISTER_PREFIX ""
85 #endif
87 /* This is the default list of directories to search for include files.
88 It may be overridden by the various -I and -ixxx options.
90 #include "file" looks in the same directory as the current file,
91 then this list.
92 #include <file> just looks in this list.
94 All these directories are treated as `system' include directories
95 (they are not subject to pedantic warnings in some cases). */
97 struct default_include
99 const char *fname; /* The name of the directory. */
100 const char *component; /* The component containing the directory
101 (see update_path in prefix.c) */
102 int cplusplus; /* Only look here if we're compiling C++. */
103 int cxx_aware; /* Includes in this directory don't need to
104 be wrapped in extern "C" when compiling
105 C++. */
108 extern const struct default_include cpp_include_defaults[];
109 extern const char cpp_GCC_INCLUDE_DIR[];
110 extern const size_t cpp_GCC_INCLUDE_DIR_len;
112 #endif /* cppdefault.h */