summaryrefslogtreecommitdiff
path: root/ext/standard/crc32.c
diff options
context:
space:
mode:
authorDavid CARLIER <devnexen@gmail.com>2021-02-24 20:34:33 +0000
committerNikita Popov <nikita.ppv@gmail.com>2021-02-25 10:17:21 +0100
commitddea5c08167e28e04c92d2fd92e1b52fec5ac01a (patch)
treee2ac9dc979a1791698703892098bc634b5bcb34b /ext/standard/crc32.c
parentf06efce38765fa3e7e1cda76039dbe6c51f93778 (diff)
downloadphp-git-ddea5c08167e28e04c92d2fd92e1b52fec5ac01a.tar.gz
crc32 module, clang spurious warning removal.
Closes GH-6725.
Diffstat (limited to 'ext/standard/crc32.c')
-rw-r--r--ext/standard/crc32.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/standard/crc32.c b/ext/standard/crc32.c
index 659c9f0906..cca5917438 100644
--- a/ext/standard/crc32.c
+++ b/ext/standard/crc32.c
@@ -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 */