aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r--gcc/gcc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/gcc.c b/gcc/gcc.c
index 1d2ed99..98568bc 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -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");