From a87b938234d942a042465dd38dd6708464119226 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sat, 7 Apr 2018 11:06:47 -0400 Subject: [PATCH] Add some temporary code to preprocess with gcc -E --- src/main.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index bce3865..3c24729 100644 --- a/src/main.c +++ b/src/main.c @@ -1,8 +1,36 @@ #include +#include "parser.h" +#include +#include +#include +#include + +void preprocess(const char * input_fname) +{ + char fname[] = "/tmp/cxlppXXXXXX"; + int fd = mkstemp(fname); + pid_t pid = fork(); + if (pid < 0) + { + perror("fork"); + } + else if (pid == 0) + { + dup2(fd, STDOUT_FILENO); + close(fd); + execlp("gcc", "gcc", "-x", "c", "-E", input_fname, NULL); + } + else + { + close(fd); + waitpid(pid, NULL, 0); + unlink(fname); + } +} int main(int argc, char * argv[]) { - printf("coming soon...\n"); + preprocess(argv[1]); return 0; }