diff options
author | Martin Liska <mliska@suse.cz> | 2017-01-05 15:17:07 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-01-05 14:17:07 +0000 |
commit | cd445b543ce675338249055ee7493cc54777307a (patch) | |
tree | 72c5de1a0c5a0b8527523460c19488c70c3a5292 /gcc/gcc.c | |
parent | abbaf885599e98c6b9194f672c9a4455d83a5972 (diff) | |
download | gcc-cd445b543ce675338249055ee7493cc54777307a.zip gcc-cd445b543ce675338249055ee7493cc54777307a.tar.gz gcc-cd445b543ce675338249055ee7493cc54777307a.tar.bz2 |
Error for '-' as filename of a precompiled header (PR pch/78970)
2017-01-05 Martin Liska <mliska@suse.cz>
PR pch/78970
* c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
header.
2017-01-05 Martin Liska <mliska@suse.cz>
PR pch/78970
* gcc.c (lookup_compiler): Reject '-' filename for a precompiled
header.
From-SVN: r244103
Diffstat (limited to 'gcc/gcc.c')
-rw-r--r-- | gcc/gcc.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -8325,7 +8325,16 @@ 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 cp; + } error ("language %s not recognized", language); return 0; |