ref: 6650268eca2441b777636a3aad411b2d70e23281
parent: 5510ac1ca190a4bacb6330ca37a7ab5f0b347225
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Fri Aug 21 09:04:15 EDT 2015
Basic support for -E flag This flag makes compilation stop after preprocessor. This version is only a draft of how it must work.
--- a/cc1/main.c
+++ b/cc1/main.c
@@ -13,6 +13,7 @@
jmp_buf recover;
static char *output;
+static int onlycpp;
static void
clean(void)
@@ -46,6 +47,9 @@
case 'w':
warnings = 1;
break;
+ case 'E':
+ onlycpp = 1;
+ break;
case 'o':
if (!*++argv || argv[0][0] == '-')
usage();
@@ -67,8 +71,13 @@
ikeywords();
ilex(*argv);
- for (next(); yytoken != EOFTOK; decl())
- /* nothing */;
+ if (onlycpp) {
+ for (next(); yytoken != EOFTOK; next())
+ printf("%s ", yytext);
+ } else {
+ for (next(); yytoken != EOFTOK; decl())
+ /* nothing */;
+ }
return 0;
}