This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Do not error when -E provided (PR pch/78970).


Hello.

As reported here https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78970#c7,
we should not report error when one want to pre-compile a {c,c++}-header file.

Patch can bootstrap on x86_64-linux-gnu and survives regression tests.

Ready to be installed?
Martin
>From bf226badedf38c81d09e34bde6ce0ff694e5b4fd Mon Sep 17 00:00:00 2001
From: marxin <mliska@suse.cz>
Date: Mon, 9 Jan 2017 14:20:41 +0100
Subject: [PATCH] Do not error when -E provided (PR pch/78970).

gcc/ChangeLog:

2017-01-09  Martin Liska  <mliska@suse.cz>

	PR pch/78970
	* gcc.c (driver_handle_option): Handle OPT_E and set
	have_E.
	(lookup_compiler): Do not show error message with have_E.
---
 gcc/gcc.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gcc/gcc.c b/gcc/gcc.c
index 1d2ed99ef5f..b9cdc5d81a8 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;
 
+/* Were 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");
-- 
2.11.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]