(root)/
gcc-13.2.0/
gcc/
cppdefault.h
       1  /* CPP Library.
       2     Copyright (C) 1986-2023 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.cc) */
      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 */