aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpphash.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2003-02-21 18:06:30 +0000
committerZack Weinberg <zack@gcc.gnu.org>2003-02-21 18:06:30 +0000
commita8d0ddaf4c62bdc34262be64de2161a413391b8d (patch)
tree4fb088465e0f2697e44b72ef804c30281053c4db /gcc/cpphash.h
parent3a3f137e0de6ea3acab06f1b4b16ada378caec2b (diff)
downloadgcc-a8d0ddaf4c62bdc34262be64de2161a413391b8d.zip
gcc-a8d0ddaf4c62bdc34262be64de2161a413391b8d.tar.gz
gcc-a8d0ddaf4c62bdc34262be64de2161a413391b8d.tar.bz2
cpphash.h (struct lexer_state): Add directive_wants_padding.
* cpphash.h (struct lexer_state): Add directive_wants_padding. * cpplib.c (_cpp_handle_directive): Set directive_wants_padding for directives of type INCL. (glue_header_name, parse_include): Use get_token_no_padding. * cppmacro.c (replace_args): If directive_wants_padding, provide padding tokens. * testsuite/gcc.dg/cpp/include3.c: New test. * testsuite/gcc.dg/cpp/inc/foo.h: New file. From-SVN: r63231
Diffstat (limited to 'gcc/cpphash.h')
-rw-r--r--gcc/cpphash.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cpphash.h b/gcc/cpphash.h
index 07880bd..9aff511 100644
--- a/gcc/cpphash.h
+++ b/gcc/cpphash.h
@@ -214,6 +214,11 @@ struct lexer_state
/* Nonzero if first token on line is CPP_HASH. */
unsigned char in_directive;
+ /* Nonzero if in a directive that will handle padding tokens itself.
+ #include needs this to avoid problems with computed include and
+ spacing between tokens. */
+ unsigned char directive_wants_padding;
+
/* True if we are skipping a failed conditional group. */
unsigned char skipping;