incpath.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* Set up combined include path for the preprocessor.
  2. Copyright (C) 2003-2019 Free Software Foundation, Inc.
  3. This program is free software; you can redistribute it and/or modify it
  4. under the terms of the GNU General Public License as published by the
  5. Free Software Foundation; either version 3, or (at your option) any
  6. later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program; see the file COPYING3. If not see
  13. <http://www.gnu.org/licenses/>. */
  14. #ifndef GCC_INCPATH_H
  15. #define GCC_INCPATH_H
  16. /* Various fragments of include path. */
  17. enum incpath_kind {
  18. INC_QUOTE = 0, /* include "foo" */
  19. INC_BRACKET, /* include <foo> */
  20. INC_SYSTEM, /* sysinclude */
  21. INC_AFTER, /* post-sysinclude. */
  22. INC_MAX
  23. };
  24. extern void split_quote_chain (void);
  25. extern void add_path (char *, incpath_kind, int, bool);
  26. extern void register_include_chains (cpp_reader *, const char *,
  27. const char *, const char *,
  28. int, int, int);
  29. extern void add_cpp_dir_path (struct cpp_dir *, incpath_kind);
  30. extern struct cpp_dir *get_added_cpp_dirs (incpath_kind);
  31. struct target_c_incpath_s {
  32. /* Do extra includes processing. STDINC is false iff -nostdinc was given. */
  33. void (*extra_pre_includes) (const char *, const char *, int);
  34. void (*extra_includes) (const char *, const char *, int);
  35. };
  36. extern struct target_c_incpath_s target_c_incpath;
  37. #endif /* GCC_INCPATH_H */