]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
opts.h (CL_PCH_IGNORE): Define.
authorJoern Rennecke <joern.rennecke@embecosm.com>
Mon, 3 Mar 2014 21:51:58 +0000 (21:51 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Mon, 3 Mar 2014 21:51:58 +0000 (21:51 +0000)
        * opts.h (CL_PCH_IGNORE): Define.
        * targhooks.c (option_affects_pch_p):
        Return false for options that have CL_PCH_IGNORE set.
        * opt-functions.awk: Process PchIgnore.
        * doc/options.texi: Document PchIgnore.

From-SVN: r208292

gcc/ChangeLog
gcc/doc/options.texi
gcc/opt-functions.awk
gcc/opts.h
gcc/targhooks.c

index db741fd4dd2c1629b84add55485c331bc595b0af..71a56c04474141e289ae6774f5aeac48a8b2adcb 100644 (file)
@@ -1,3 +1,11 @@
+2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * opts.h (CL_PCH_IGNORE): Define.
+       * targhooks.c (option_affects_pch_p):
+       Return false for options that have CL_PCH_IGNORE set.
+       * opt-functions.awk: Process PchIgnore.
+       * doc/options.texi: Document PchIgnore.
+
 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
index ff80dac192121b16c4a26e8d8ce31c16f5da72b5..938017adeac84ddbceff6cdcec6cc96514fe1f2c 100644 (file)
@@ -478,4 +478,8 @@ record.  @xref{Option file format}.
 @item NoDWARFRecord
 The option is omitted from the producer string written by
 @option{-grecord-gcc-switches}.
+
+@item PchIgnore
+Even if this is a target option, this option will not be recorded / compared
+to determine if a precompiled header file matches.
 @end table
index 4db2521612f9d1d70edb63d2eb07d72da0523a5c..381bb50028a3b6430709ab702afe0f4299ced0c0 100644 (file)
@@ -97,6 +97,7 @@ function switch_flags (flags)
        result = result \
          test_flag("Common", flags, " | CL_COMMON") \
          test_flag("Target", flags, " | CL_TARGET") \
+         test_flag("PchIgnore", flags, " | CL_PCH_IGNORE") \
          test_flag("Driver", flags, " | CL_DRIVER") \
          test_flag("Joined", flags, " | CL_JOINED") \
          test_flag("JoinedOrMissing", flags, " | CL_JOINED") \
index 67dc28ba56a2d15fa4901bd909ec7ec88fb9661c..f6940823403912f85d13b93edbea066fc2e9892e 100644 (file)
@@ -146,6 +146,7 @@ extern const unsigned int cl_lang_count;
 #define CL_SEPARATE            (1U << 23) /* If takes a separate argument.  */
 #define CL_UNDOCUMENTED                (1U << 24) /* Do not output with --help.  */
 #define CL_NO_DWARF_RECORD     (1U << 25) /* Do not add to producer string.  */
+#define CL_PCH_IGNORE          (1U << 26) /* Do compare state for pch.  */
 
 /* Flags for an enumerated option argument.  */
 #define CL_ENUM_CANONICAL      (1 << 0) /* Canonical for this value.  */
index f3b5d56489948947dd4a3ef4da224f6a19bf9904..79491c7c59ba5eeccc5c1ae543c6a8805cde593e 100644 (file)
@@ -1456,6 +1456,8 @@ option_affects_pch_p (int option, struct cl_option_state *state)
 {
   if ((cl_options[option].flags & CL_TARGET) == 0)
     return false;
+  if ((cl_options[option].flags & CL_PCH_IGNORE) != 0)
+    return false;
   if (option_flag_var (option, &global_options) == &target_flags)
     if (targetm.check_pch_target_flags)
       return false;