aboutsummaryrefslogtreecommitdiff
path: root/libcpp/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcpp/internal.h')
-rw-r--r--libcpp/internal.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libcpp/internal.h b/libcpp/internal.h
index 3f5bafb..4c1100b 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -280,6 +280,9 @@ struct lexer_state
/* Nonzero when tokenizing a deferred pragma. */
unsigned char in_deferred_pragma;
+ /* Count to token that is a header-name. */
+ unsigned char directive_file_token;
+
/* Nonzero if the deferred pragma being handled allows macro expansion. */
unsigned char pragma_allow_expansion;
};
@@ -292,6 +295,12 @@ struct spec_nodes
cpp_hashnode *n_false; /* C++ keyword false */
cpp_hashnode *n__VA_ARGS__; /* C99 vararg macros */
cpp_hashnode *n__VA_OPT__; /* C++ vararg macros */
+
+ enum {M_EXPORT, M_MODULE, M_IMPORT, M__IMPORT, M_HWM};
+
+ /* C++20 modules, only set when module_directives is in effect.
+ incoming variants [0], outgoing ones [1] */
+ cpp_hashnode *n_modules[M_HWM][2];
};
typedef struct _cpp_line_note _cpp_line_note;