aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 228f41b..0d5e1e8 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -181,6 +181,9 @@ enum c_language_kind c_language;
tree c_global_trees[CTI_MAX];
+/* Nonzero if prepreprocessing only. */
+int flag_preprocess_only;
+
/* Nonzero means don't recognize the non-ANSI builtin functions. */
int flag_no_builtin;
@@ -4141,6 +4144,13 @@ const char *
c_common_init (filename)
const char *filename;
{
+ /* NULL is passed up to toplev.c and we exit quickly. */
+ if (flag_preprocess_only)
+ {
+ cpp_preprocess_file (parse_in);
+ return NULL;
+ }
+
/* Do this before initializing pragmas, as then cpplib's hash table
has been set up. */
filename = init_c_lex (filename);