Browse Source

Update c/frontend/preprocessor

gingerBill 4 years ago
parent
commit
bf183b2c2c

+ 12 - 0
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);
+}

+ 1 - 1
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;