From 9812f88a9a612144bea02c7acf499867eb0cbeb9 Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 13 Oct 2025 19:06:52 +0200 Subject: implement most of preprocessor - concatenation (##) - builtin macros (__FILE__ etc) - fails in some edge cases, and code needs cleanup - add embedded system include files (stddef.h, stdarg.h for now) - can handle stdio.h now --- main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'main.c') diff --git a/main.c b/main.c index 2b98cab..1f75a50 100644 --- a/main.c +++ b/main.c @@ -7,6 +7,7 @@ #include struct option ccopt; +struct inclpaths *cinclpaths; static void flushstd(void) @@ -348,6 +349,21 @@ detectcolor(void) ccopt.nocolor = 1; } +static void +sysinclpaths(void) +{ + static const char *paths[] = { + "/usr/local/include", + "/usr/include" + }; + for (int i = 0; i < arraylength(paths); ++i) { + struct inclpaths *p = alloc(&globarena, sizeof *cinclpaths, 0); + p->next = cinclpaths; + p->path = paths[i]; + cinclpaths = p; + } +} + int main(int argc, char **argv) { @@ -356,6 +372,7 @@ main(int argc, char **argv) /* setup defaults */ detectcolor(); + sysinclpaths(); ccopt.cstd = STDC99; ccopt.pie = 1; -- cgit v1.2.3