diff options
Diffstat (limited to 'gcc/cpphash.h')
-rw-r--r-- | gcc/cpphash.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/cpphash.h b/gcc/cpphash.h index 5e69c85..547a70c 100644 --- a/gcc/cpphash.h +++ b/gcc/cpphash.h @@ -253,6 +253,18 @@ struct spec_nodes cpp_hashnode *n__VA_ARGS__; /* C99 vararg macros */ }; +/* Encapsulates state used to convert a stream of tokens into a text + file. */ +struct printer +{ + FILE *outf; /* Stream to write to. */ + const struct line_map *map; /* Logical to physical line mappings. */ + const cpp_token *prev; /* Previous token. */ + const cpp_token *source; /* Source token for spacing. */ + unsigned int line; /* Line currently being written. */ + unsigned char printed; /* Nonzero if something output at line. */ +}; + /* Represents the contents of a file cpplib has read in. */ struct cpp_buffer { @@ -419,6 +431,9 @@ struct cpp_reader preprocessor. */ struct spec_nodes spec_nodes; + /* Used when doing preprocessed output. */ + struct printer print; + /* Whether cpplib owns the hashtable. */ unsigned char our_hashtable; |