]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-129467: Fix compiler warning in mpdecimal word_to_string() (#116346)
authorSergey B Kirpichev <skirpichev@gmail.com>
Thu, 30 Jan 2025 10:57:55 +0000 (13:57 +0300)
committerGitHub <noreply@github.com>
Thu, 30 Jan 2025 10:57:55 +0000 (11:57 +0100)
Turn off false-positive -Wstringop-overflow in word_to_string().

Misc/sbom.spdx.json
Modules/_decimal/libmpdec/io.c

index b4d785f65639a5ed68f04998d2f4dbfc7ed56256..316c266b7e4fd64a3efbb3a131906109370e3c59 100644 (file)
       "checksums": [
         {
           "algorithm": "SHA1",
-          "checksumValue": "9dcb50e3f9c3245972731be5da0b28e7583198d9"
+          "checksumValue": "5d6fdd98730584f74f7b731da6e488fe234504b3"
         },
         {
           "algorithm": "SHA256",
-          "checksumValue": "7cac49fef5e9d952ec9390bf81c54d83f1b5da32fdf76091c2f0770ed943b7fe"
+          "checksumValue": "d74f365463166891f62e1326d22b2d39d865776b7ea5e0df2aea5eede4d85b0f"
         }
       ],
       "fileName": "Modules/_decimal/libmpdec/io.c"
index 4e95b8964c8e5d3caa05b228f610acbe71ff635d..bdcca001659bc00be82fb501b43d9f7d3bce224a 100644 (file)
@@ -347,6 +347,10 @@ mpd_qset_string_exact(mpd_t *dec, const char *s, uint32_t *status)
    or the location of a decimal point. */
 #define EXTRACT_DIGIT(s, x, d, dot) \
         if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && __GNUC__ >= 12
+  #pragma GCC diagnostic push
+  #pragma GCC diagnostic ignored "-Wstringop-overflow"
+#endif
 static inline char *
 word_to_string(char *s, mpd_uint_t x, int n, char *dot)
 {
@@ -378,6 +382,9 @@ word_to_string(char *s, mpd_uint_t x, int n, char *dot)
     *s = '\0';
     return s;
 }
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER) && __GNUC__ >= 12
+  #pragma GCC diagnostic pop
+#endif
 
 /* Print exponent x to string s. Undefined for MPD_SSIZE_MIN. */
 static inline char *