return true;
}
-static void emit_pp_token(void)
+void set_preprocessor_output(FILE *output)
+{
+ out = output;
+ if (out != NULL) {
+ error_on_unknown_chars = false;
+ resolve_escape_sequences = false;
+ } else {
+ error_on_unknown_chars = true;
+ resolve_escape_sequences = true;
+ }
+}
+
+void emit_pp_token(void)
{
if (!emit_newlines() &&
(info.had_whitespace || tokens_would_paste(last_token, pp_token.kind)))
conditional_stack = conditional_stack->parent;
}
-static void check_unclosed_conditionals(void)
+void check_unclosed_conditionals(void)
{
while (conditional_stack != NULL) {
pp_conditional_t *conditional = conditional_stack;
extern bool allow_dollar_in_symbol;
extern token_t pp_token;
+void set_preprocessor_output(FILE *output);
+void emit_pp_token(void);
+void check_unclosed_conditionals(void);
+
#endif