On Thu, Jan 05, 2017 at 11:01:37AM +0100, Martin Liška wrote:
> >From 0e14f21128c7aa67ed0eaa10877323a0b2011b63 Mon Sep 17 00:00:00 2001
> From: marxin <mli...@suse.cz>
> Date: Wed, 4 Jan 2017 16:04:44 +0100
> Subject: [PATCH] Error for '-' as filename of a precompiled header (PR
>  pch/78970)
> 
> gcc/ChangeLog:
> 
> 2017-01-05  Martin Liska  <mli...@suse.cz>
> 
>       * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
>       header.
> ---
>  gcc/gcc.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/gcc/gcc.c b/gcc/gcc.c
> index 8154953eb1d..ea4af119e73 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,
> +                          "can't use '-' as input filename for a "
> +                          "precompiled header");

That would be can%'t

Won't the compiler still ICE if you invoke cc1 or cc1plus rather than the 
driver?

        Jakub

Reply via email to