diff options
author | Tom Tromey <tromey@redhat.com> | 2007-01-04 15:32:26 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-01-04 15:32:26 +0000 |
commit | 705e2d28a1c830064e0bc77fd7e37f7e73b01516 (patch) | |
tree | b221eae7c64169c5383839dda76552523ac6432e /libcpp/internal.h | |
parent | 79e6eaeb8f4c9f54c97425ec9c103378691a7099 (diff) | |
download | gcc-705e2d28a1c830064e0bc77fd7e37f7e73b01516.zip gcc-705e2d28a1c830064e0bc77fd7e37f7e73b01516.tar.gz gcc-705e2d28a1c830064e0bc77fd7e37f7e73b01516.tar.bz2 |
re PR preprocessor/28165 (_Pragma GCC system_header broken)
libcpp
PR preprocessor/28165:
* internal.h (cpp_in_primary_file): New function.
* directives.c (do_include_next): Use cpp_in_primary_file.
(do_pragma_once): Likewise.
(do_pragma_system_header): Likewise.
gcc/testsuite
PR preprocessor/28165:
* gcc.dg/cpp/pr28165.c: New file.
From-SVN: r120441
Diffstat (limited to 'libcpp/internal.h')
-rw-r--r-- | libcpp/internal.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libcpp/internal.h b/libcpp/internal.h index 857bfe1..20f4235 100644 --- a/libcpp/internal.h +++ b/libcpp/internal.h @@ -1,5 +1,5 @@ /* Part of CPP library. - Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -488,6 +488,13 @@ cpp_in_system_header (cpp_reader *pfile) #define CPP_PEDANTIC(PF) CPP_OPTION (PF, pedantic) #define CPP_WTRADITIONAL(PF) CPP_OPTION (PF, warn_traditional) +static inline int cpp_in_primary_file (cpp_reader *); +static inline int +cpp_in_primary_file (cpp_reader *pfile) +{ + return pfile->line_table->depth == 1; +} + /* In errors.c */ extern int _cpp_begin_message (cpp_reader *, int, source_location, unsigned int); |