diff options
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -1931,6 +1931,9 @@ static int have_c = 0; /* Was the option -o passed. */ static int have_o = 0; +/* Was the option -E passed. */ +static int have_E = 0; + /* Pointer to output file name passed in with -o. */ static const char *output_file = 0; @@ -4067,6 +4070,10 @@ driver_handle_option (struct gcc_options *opts, validated = true; break; + case OPT_E: + have_E = true; + break; + case OPT_x: spec_lang = arg; if (!strcmp (spec_lang, "none")) @@ -8328,7 +8335,8 @@ lookup_compiler (const char *name, size_t length, const char *language) { if (name != NULL && strcmp (name, "-") == 0 && (strcmp (cp->suffix, "@c-header") == 0 - || strcmp (cp->suffix, "@c++-header") == 0)) + || strcmp (cp->suffix, "@c++-header") == 0) + && !have_E) fatal_error (input_location, "cannot use %<-%> as input filename for a " "precompiled header"); |