/* Location in the clean line the note refers to. */
const uchar *pos;
- /* Type of note. */
- enum { NOTE_ESC_NL = 0,
- NOTE_ESC_SPACE_NL,
- NOTE_TRIGRAPH,
- NOTE_NEWLINE } type;
+ /* Type of note. The 9 'from' trigraph characters represent those
+ trigraphs, '\\' an escaped newline, ' ' an escaped newline with
+ intervening space, and anything else is invalid. */
+ unsigned int type;
};
/* Represents the contents of a file cpplib has read in. */
struct cpp_buffer *prev;
- const unsigned char *backup_to; /* Soon to die. */
-
/* Pointer into the include table; non-NULL if this is a file
buffer. Used for include_next and to record control macros. */
struct include_file *inc;
cpp_token avoid_paste;
cpp_token eof;
- /* True if we have already warned about dollars in identifiers or
- numbers for this buffer. */
- bool warned_dollar;
+ /* True if we should warn about dollars in identifiers or numbers
+ for this translation unit. */
+ bool warn_dollars;
/* Opaque handle to the dependencies of mkdeps.c. */
struct deps *deps;
extern void _cpp_fake_include PARAMS ((cpp_reader *, const char *));
extern void _cpp_never_reread PARAMS ((struct include_file *));
extern bool _cpp_read_file PARAMS ((cpp_reader *, const char *));
-extern bool _cpp_execute_include PARAMS ((cpp_reader *,
- const cpp_token *,
- enum include_type));
-extern int _cpp_compare_file_date PARAMS ((cpp_reader *,
- const cpp_token *));
+extern bool _cpp_execute_include PARAMS ((cpp_reader *, const char *,
+ int, enum include_type));
+extern int _cpp_compare_file_date PARAMS ((cpp_reader *, const char *,
+ int));
extern void _cpp_report_missing_guards PARAMS ((cpp_reader *));
extern void _cpp_init_includes PARAMS ((cpp_reader *));
extern void _cpp_cleanup_includes PARAMS ((cpp_reader *));
extern uchar *_cpp_copy_replacement_text PARAMS ((const cpp_macro *, uchar *));
extern size_t _cpp_replacement_text_len PARAMS ((const cpp_macro *));
+/* In cppcharset.c. */
+cppchar_t _cpp_valid_ucn PARAMS ((cpp_reader *, const uchar **,
+ int identifer_p));
+
/* Utility routines and macros. */
#define DSC(str) (const uchar *)str, sizeof str - 1
#define xnew(T) (T *) xmalloc (sizeof(T))