GCC Middle and Back End API Reference
incpath.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  target_c_incpath_s
 

Enumerations

enum  incpath_kind {
  INC_QUOTE = 0 , INC_BRACKET , INC_SYSTEM , INC_AFTER ,
  INC_EMBED , INC_MAX
}
 

Functions

void split_quote_chain (void)
 
void add_path (char *, incpath_kind, int, bool)
 
void register_include_chains (cpp_reader *, const char *, const char *, const char *, int, int, int)
 
void add_cpp_dir_path (struct cpp_dir *, incpath_kind)
 
struct cpp_dir * get_added_cpp_dirs (incpath_kind)
 

Variables

struct target_c_incpath_s target_c_incpath
 

Enumeration Type Documentation

◆ incpath_kind

Set up combined include path for the preprocessor. Copyright (C) 2003-2025 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Various fragments of include path.
Enumerator
INC_QUOTE 
INC_BRACKET 
INC_SYSTEM 
INC_AFTER 
INC_EMBED 
INC_MAX 

Function Documentation

◆ add_cpp_dir_path()

void add_cpp_dir_path ( cpp_dir * p,
incpath_kind chain )
extern
Add P to the chain specified by CHAIN.

References heads, and tails.

Referenced by add_path().

◆ add_path()

void add_path ( char * path,
incpath_kind chain,
int cxx_aware,
bool user_supplied_p )
extern
Add PATH to the include chain CHAIN. PATH must be malloc-ed and NUL-terminated.

References add_cpp_dir_path(), end(), INC_AFTER, INC_SYSTEM, NULL, and path.

Referenced by add_env_var_paths(), and add_standard_paths().

◆ get_added_cpp_dirs()

struct cpp_dir * get_added_cpp_dirs ( incpath_kind chain)
extern
Return the current chain of cpp dirs.

References heads.

◆ register_include_chains()

void register_include_chains ( cpp_reader * pfile,
const char * sysroot,
const char * iprefix,
const char * imultilib,
int stdinc,
int cxx_stdinc,
int verbose )
extern
Exported function to handle include chain merging, duplicate removal, and registration with cpplib.

References add_env_var_paths(), add_standard_paths(), cpp_options, heads, INC_BRACKET, INC_EMBED, INC_QUOTE, INC_SYSTEM, merge_include_chains(), quote_ignores_source_dir, target_c_incpath, and verbose.

◆ split_quote_chain()

void split_quote_chain ( void )
extern
Use given -I paths for #include "..." but not #include <...>, and don't search the directory of the present file for #include "...". (Note that -I. -I- is not the same as the default setup; -I. uses the compiler's working dir.)

References free_path(), heads, INC_BRACKET, INC_QUOTE, NULL, quote_ignores_source_dir, REASON_QUIET, and tails.

Variable Documentation

◆ target_c_incpath

struct target_c_incpath_s target_c_incpath
extern

Referenced by register_include_chains().