]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix string formatting issues
authorKwok Cheung Yeung <kcy@codesourcery.com>
Thu, 30 Jun 2022 14:31:41 +0000 (15:31 +0100)
committerKwok Cheung Yeung <kcy@codesourcery.com>
Thu, 30 Jun 2022 18:47:28 +0000 (19:47 +0100)
Stricter format-string checking in more recent versions of GCC can cause
build failures.

2022-06-30  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/
* omp-data-optimize.cc (omp_data_optimize_add_candidate): Suppress
format checking.
(omp_data_optimize_can_be_private): Likewise.
(omp_data_optimize_can_be_private): Likewise.

(This should be a fixup to ab53d5a6a27dce2a92f28a62ceb6e184c8356f25: 'openacc:
Add data optimization pass')

2022-06-30  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/
* gimplify.cc (gimplify_scan_omp_clauses): Remove extra
'%<..%>' pair in format string.

(This should be a fixup to dbc770c4351c8824e8083f8aff6117a6b4ba3c0d: 'openmp:
Implement uses_allocators clause')

gcc/ChangeLog.omp
gcc/gimplify.cc
gcc/omp-data-optimize.cc

index 29740139fd2a2c0547c35aaa41bac05f11cb8b39..1455a9605c25c59a03290ba8eb45bee81c7e2e51 100644 (file)
@@ -1,3 +1,15 @@
+2022-06-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * gimplify.cc (gimplify_scan_omp_clauses): Remove extra
+       '%<..%>' pair in format string.
+
+2022-06-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+       * omp-data-optimize.cc (omp_data_optimize_add_candidate): Suppress
+       format checking.
+       (omp_data_optimize_can_be_private): Likewise.
+       (omp_data_optimize_can_be_private): Likewise.
+
 2022-05-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
 
        * omp-expand.cc (expand_omp_target): Gimplify launch dimensions used
index 8e8151cfc3580fed2a69854b89d2b6453053792a..e0af57058d8f12207e30da054dc2bb85338626df 100644 (file)
@@ -11384,7 +11384,7 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq *pre_p,
                      }
                  if (uc == NULL_TREE)
                    {
-                     error_at (OMP_CLAUSE_LOCATION (c), "allocator %<%qE%> "
+                     error_at (OMP_CLAUSE_LOCATION (c), "allocator %qE "
                                "requires %<uses_allocators(%E)%> clause in "
                                "target region", allocator, allocator);
                      remove = true;
index 31f615c1d2bd7e1882035364e38fc7fd793387e5..a64f933b2d4ac823db94f7a9deac73cc07174827 100644 (file)
@@ -154,6 +154,10 @@ omp_data_optimize_add_candidate (const dump_user_location_t &loc, tree var,
   inhibit_descriptor in;
   in.stmt = NULL;
 
+#if __GNUC__ >= 10
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wformat"
+#endif
   if (DECL_EXTERNAL (var))
     {
       if (dump_enabled_p () && dump_flags & TDF_DETAILS)
@@ -187,6 +191,9 @@ omp_data_optimize_add_candidate (const dump_user_location_t &loc, tree var,
 
       in.kind = INHIBIT_NOT;
     }
+#if __GNUC__ >= 10
+# pragma GCC diagnostic pop
+#endif
 
   if (state->candidates.put (var, in))
     gcc_unreachable ();
@@ -575,6 +582,10 @@ omp_data_optimize_can_be_private (tree var, gimple *target_stmt)
       state.bb = *state.scanned_bb.get (root_id);
     }
 
+#if __GNUC__ >= 10
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wformat"
+#endif
   if (dump_enabled_p () && dump_flags & TDF_DETAILS)
     {
       for (hash_map<const void*,ODO_BB>::iterator it = state.scanned_bb.begin ();
@@ -613,6 +624,9 @@ omp_data_optimize_can_be_private (tree var, gimple *target_stmt)
                      : state.bb.access == ACCESS_UNKNOWN
                      ? "complex control flow"
                      : "unknown reason"));
+#if __GNUC__ >= 10
+# pragma GCC diagnostic pop
+#endif
 
   return state.bb.access == ACCESS_DEF_FIRST;
 }
@@ -698,12 +712,19 @@ omp_data_optimize_stmt_target (gimple *stmt, ODO_State *state)
         if (!id) {
           /* The variable was not a parameter or named in any bind, so it
              must be in an external scope, and therefore live-on-exit.  */
+#if __GNUC__ >= 10
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wformat"
+#endif
           if (dump_enabled_p ())
             dump_printf_loc(MSG_MISSED_OPTIMIZATION, DUMP_LOC (*pc),
                             "%qs not optimized: %<%T%> is unsuitable"
                             " for privatization\n",
                             c_s_prev, var);
           continue;
+#if __GNUC__ >= 10
+# pragma GCC diagnostic pop
+#endif
            }
 
          switch (id->kind)
@@ -746,6 +767,10 @@ omp_data_optimize_stmt_target (gimple *stmt, ODO_State *state)
                }
              break;
 
+#if __GNUC__ >= 10
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wformat"
+#endif
            case INHIBIT_USE:  /* Optimization inhibited by a variable use.  */
              if (dump_enabled_p ())
                {
@@ -776,6 +801,9 @@ omp_data_optimize_stmt_target (gimple *stmt, ODO_State *state)
                                   " for privatization\n", c_s_prev, var);
                }
              break;
+#if __GNUC__ >= 10
+# pragma GCC diagnostic pop
+#endif
 
            default:
              gcc_unreachable ();