From bf183b2c2c619335da86b7ad7170a55492e802a9 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 6 Jan 2021 11:22:15 +0000 Subject: [PATCH] Update c/frontend/preprocessor --- core/c/frontend/preprocessor/preprocess.odin | 12 ++++++++++++ core/c/frontend/tokenizer/tokenizer.odin | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/c/frontend/preprocessor/preprocess.odin b/core/c/frontend/preprocessor/preprocess.odin index 3af2c2339..767bb89b3 100644 --- a/core/c/frontend/preprocessor/preprocess.odin +++ b/core/c/frontend/preprocessor/preprocess.odin @@ -1496,3 +1496,15 @@ init_lookup_tables :: proc(cpp: ^Preprocessor, allocator := context.allocator) { reserve(&cpp.include_guards, max(16, cap(cpp.include_guards))); reserve(&cpp.filepath_cache, max(16, cap(cpp.filepath_cache))); } + + +init_defaults :: proc(cpp: ^Preprocessor, lookup_tables_allocator := context.allocator) { + if cpp.warn == nil { + cpp.warn = tokenizer.default_warn_handler; + } + if cpp.err == nil { + cpp.err = tokenizer.default_error_handler; + } + init_lookup_tables(cpp, lookup_tables_allocator); + init_default_macros(cpp); +} diff --git a/core/c/frontend/tokenizer/tokenizer.odin b/core/c/frontend/tokenizer/tokenizer.odin index d65a8cd4e..a2ac51952 100644 --- a/core/c/frontend/tokenizer/tokenizer.odin +++ b/core/c/frontend/tokenizer/tokenizer.odin @@ -241,7 +241,7 @@ scan_escape :: proc(t: ^Tokenizer) -> bool { n: int; base, max: u32; switch esc { - case 'a', 'b', 'e', 'f', 'n', 't', 'v', 'r', '\\', '\'', '\"': + case 'a', 'b', 'e', 'f', 'n', 't', 'v', 'r', '\\', '\'', '"': advance_rune(t); return true;