On 01/05/2017 02:30 PM, Jakub Jelinek wrote:
> 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.
Done.
>
>> 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.
Likewise, installed as r244103. Is it fine to backport to both active branches?
Thanks,
Martin
>
> Jakub
>