diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-08-31 18:03:14 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-08-31 18:03:14 +0900 |
| commit | 4ab3700128f0a628b2a8f86e1dfde30ca7891f9d (patch) | |
| tree | 2c54a9a8f3d20221e5e3a1839e534ffcc649b4c0 /src/preprocess.c | |
| parent | a927b193ef71c3be8be13c608a9ce2bb099be6d1 (diff) | |
| download | ducc-4ab3700128f0a628b2a8f86e1dfde30ca7891f9d.tar.gz ducc-4ab3700128f0a628b2a8f86e1dfde30ca7891f9d.tar.zst ducc-4ab3700128f0a628b2a8f86e1dfde30ca7891f9d.zip | |
feat: define __x86_64__ and __LP64__
Diffstat (limited to 'src/preprocess.c')
| -rw-r--r-- | src/preprocess.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/preprocess.c b/src/preprocess.c index 065cfd4..cfccbcc 100644 --- a/src/preprocess.c +++ b/src/preprocess.c @@ -77,16 +77,18 @@ static Macro* macros_push_new(MacroArray* macros) { return ¯os->data[macros->len++]; } -static void add_predefined_macros(MacroArray* macros) { - Macro* m; - - m = macros_push_new(macros); +static void define_macro_to_1(MacroArray* macros, const char* name) { + Macro* m = macros_push_new(macros); m->kind = MacroKind_obj; - m->name = "__ducc__"; + m->name = name; tokens_init(&m->replacements, 1); Token* tok = tokens_push_new(&m->replacements); tok->kind = TokenKind_literal_int; tok->value.integer = 1; +} + +static void add_predefined_macros(MacroArray* macros) { + Macro* m; m = macros_push_new(macros); m->kind = MacroKind_builtin_file; @@ -95,6 +97,11 @@ static void add_predefined_macros(MacroArray* macros) { m = macros_push_new(macros); m->kind = MacroKind_builtin_line; m->name = "__LINE__"; + + // Non-standard pre-defined macros. + define_macro_to_1(macros, "__ducc__"); + define_macro_to_1(macros, "__x86_64__"); + define_macro_to_1(macros, "__LP64__"); } struct MacroArg { |
