Daily bump.
[platform/upstream/gcc.git] / gcc / cppdefault.h
1 /* CPP Library.
2    Copyright (C) 1986-2021 Free Software Foundation, Inc.
3    Contributed by Per Bothner, 1994-95.
4    Based on CCCP program by Paul Rubin, June 1986
5    Adapted to ANSI C, Richard Stallman, Jan 1987
6
7    This program is free software; you can redistribute it and/or modify it
8    under the terms of the GNU General Public License as published by the
9    Free Software Foundation; either version 3, or (at your option) any
10    later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program; see the file COPYING3.  If not see
19    <http://www.gnu.org/licenses/>.  */
20
21 #ifndef GCC_CPPDEFAULT_H
22 #define GCC_CPPDEFAULT_H
23
24 /* This is the default list of directories to search for include files.
25    It may be overridden by the various -I and -ixxx options.
26
27    #include "file" looks in the same directory as the current file,
28    then this list.
29    #include <file> just looks in this list.
30
31    All these directories are treated as `system' include directories
32    (they are not subject to pedantic warnings in some cases).  */
33
34 struct default_include
35 {
36   const char *const fname;      /* The name of the directory.  */
37   const char *const component;  /* The component containing the directory
38                                    (see update_path in prefix.c) */
39   const char cplusplus;         /* When this is non-zero, we should only
40                                    consider this if we're compiling C++.
41                                    When the -stdlib option is configured, this
42                                    may take values greater than 1 to indicate
43                                    which C++ standard library should be
44                                    used.  */
45   const char cxx_aware;         /* Includes in this directory don't need to
46                                    be wrapped in extern "C" when compiling
47                                    C++.  */
48   const char add_sysroot;       /* FNAME should be prefixed by
49                                    cpp_SYSROOT.  */
50   const char multilib;          /* FNAME should have appended
51                                    - the multilib path specified with -imultilib
52                                      when set to 1,
53                                    - the multiarch path specified with
54                                      -imultiarch, when set to 2.  */
55 };
56
57 extern const struct default_include cpp_include_defaults[];
58 extern const char cpp_GCC_INCLUDE_DIR[];
59 extern const size_t cpp_GCC_INCLUDE_DIR_len;
60
61 /* The configure-time prefix, i.e., the value supplied as the argument
62    to --prefix=.  */
63 extern const char cpp_PREFIX[];
64 /* The length of the configure-time prefix.  */
65 extern const size_t cpp_PREFIX_len;
66 /* The configure-time execution prefix.  This is typically the lib/gcc
67    subdirectory of cpp_PREFIX.  */
68 extern const char cpp_EXEC_PREFIX[];
69 /* The run-time execution prefix.  This is typically the lib/gcc
70    subdirectory of the actual installation.  */
71 extern const char *gcc_exec_prefix;
72
73 /* Return true if the toolchain is relocated.  */
74 bool cpp_relocated (void);
75
76 #endif /* ! GCC_CPPDEFAULT_H */