On Thu, Jan 05, 2017 at 02:08:40PM +0100, Martin Liška wrote: > diff --git a/gcc/c-family/c-opts.c b/gcc/c-family/c-opts.c > index 14e038c02b3..49df9e19157 100644 > --- a/gcc/c-family/c-opts.c > +++ b/gcc/c-family/c-opts.c > @@ -744,7 +744,12 @@ c_common_post_options (const char **pfilename) > in_fnames[0] = ""; > } > else if (strcmp (in_fnames[0], "-") == 0) > - in_fnames[0] = ""; > + { > + if (pch_file) > + error ("cannot use '-' as input filename for a precompiled header");
Please use %<-%> instead of '-', in both places. > diff --git a/gcc/gcc.c b/gcc/gcc.c > index 8154953eb1d..f42c4ef372e 100644 > --- a/gcc/gcc.c > +++ b/gcc/gcc.c > @@ -8325,7 +8325,19 @@ lookup_compiler (const char *name, size_t length, > const char *language) > { > for (cp = compilers + n_compilers - 1; cp >= compilers; cp--) > if (cp->suffix[0] == '@' && !strcmp (cp->suffix + 1, language)) > - return cp; > + { > + if (name != NULL && strcmp (name, "-") == 0 > + && (strcmp (cp->suffix, "@c-header") == 0 > + || strcmp (cp->suffix, "@c++-header") == 0)) > + { > + fatal_error (input_location, > + "cannot use '-' as input filename for a " > + "precompiled header"); > + return 0; > + } Isn't fatal_error noreturn? Then it doesn't make sense to do return 0 after it, so perhaps remove {} and return 0; ? Ok with those changes. Jakub