]> granicus.if.org Git - php/commitdiff
crc32 module, clang spurious warning removal.
authorDavid CARLIER <devnexen@gmail.com>
Wed, 24 Feb 2021 20:34:33 +0000 (20:34 +0000)
committerNikita Popov <nikita.ppv@gmail.com>
Thu, 25 Feb 2021 09:17:21 +0000 (10:17 +0100)
Closes GH-6725.

ext/standard/crc32.c

index 659c9f09065167bc955157f093172cea46348331..cca5917438bed455521fbc5c41807cfd9f0c7777 100644 (file)
@@ -50,8 +50,10 @@ static inline int has_crc32_insn() {
 # endif
 }
 
-# pragma GCC push_options
-# pragma GCC target ("+nothing+crc")
+# if defined(__GNUC__) && !defined(__clang__)
+#  pragma GCC push_options
+#  pragma GCC target ("+nothing+crc")
+# endif
 static uint32_t crc32_aarch64(uint32_t crc, char *p, size_t nr) {
        while (nr >= sizeof(uint64_t)) {
                crc = __crc32d(crc, *(uint64_t *)p);
@@ -73,7 +75,9 @@ static uint32_t crc32_aarch64(uint32_t crc, char *p, size_t nr) {
        }
        return crc;
 }
-# pragma GCC pop_options
+# if defined(__GNUC__) && !defined(__clang__)
+#  pragma GCC pop_options
+# endif
 #endif
 
 /* {{{ Calculate the crc32 polynomial of a string */