Bug #73951 [Opn->Wfx]: will break strict-aliasing rules [-Wstrict-aliasing]

From: Date: Thu, 16 Apr 2020 12:33:31 +0000
Subject: Bug #73951 [Opn->Wfx]: will break strict-aliasing rules [-Wstrict-aliasing]
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-226611@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73951&edit=1 ID: 73951 Updated by: nikic@php.net Reported by: spam2 at rhsoft dot net Summary: will break strict-aliasing rules [-Wstrict-aliasing] -Status: Open +Status: Wont fix Type: Bug Package: Compile Warning PHP Version: 7.1.1RC1 Block user comment: N Private report: N New Comment: We build with -Wno-strict-aliasing nowadays and do not plan to adhere strictly adhere to aliasing rules. Newer GCC versions are better about not warning about acceptable standard violations. Previous Comments: ------------------------------------------------------------------------ [2017-01-16 16:51:42] spam2 at rhsoft dot net Description: ------------ with "-fstrict-aliasing -Wstrict-aliasing" you get the warning sbelow and since for -O3 strict-aliasing is default i think that should be really fixed /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/standard/crypt_sha512.c: In function 'sha512_finish_ctx': /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/standard/crypt_sha512.c:267:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint64_t *) &ctx->buffer[bytes + pad + 8] = SWAP(ctx->total[0] << 3); ^ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/standard/crypt_sha512.c:268:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint64_t *) &ctx->buffer[bytes + pad] = SWAP((ctx->total[1] << 3) | ^ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/standard/crypt_sha256.c: In function 'sha256_finish_ctx': /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/standard/crypt_sha256.c:240:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3); ^ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/standard/crypt_sha256.c:241:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) | ^ /home/builduser/rpmbuild/BUILD/php-7.1.1/main/php_ini.c: In function 'php_init_config': /home/builduser/rpmbuild/BUILD/php-7.1.1/main/php_ini.c:697:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] strlcat(php_ini_scanned_files, *(char **)element->data, total_l); ^~~~~~~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/hash/hash_tiger.c: In function 'TigerFinalize': /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/hash/hash_tiger.c:151:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] tiger_compress(context->passes, ((uint64_t *) context->buffer), context->state); ^~~~~~~~~~~~~~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/hash/hash_tiger.c:169:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] tiger_compress(context->passes, ((uint64_t *) context->buffer), context->state); ^~~~~~~~~~~~~~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/hash/hash_tiger.c: In function 'PHP_TIGERUpdate': /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/hash/hash_tiger.c:209:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] tiger_compress(context->passes, ((const uint64_t *) context->buffer), context->state); ^~~~~~~~~~~~~~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/hash/hash_tiger.c:216:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] tiger_compress(context->passes, ((const uint64_t *) context->buffer), context->state); ^~~~~~~~~~~~~~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c: In function '_php_iconv_strpos': /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1055:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] if (_php_iconv_memequal(buf, ndl_buf_p, sizeof(buf))) { ^~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1055:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1073:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] if (_php_iconv_memequal(&ZSTR_VAL(ndl_buf)[j], &ZSTR_VAL(ndl_buf)[i], ^~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1073:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1073:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1073:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1083:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] if (_php_iconv_memequal(buf, &ZSTR_VAL(ndl_buf)[i], sizeof(buf))) { ^~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1083:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1083:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1083:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1096:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] if (_php_iconv_memequal(buf, ndl_buf_p, sizeof(buf))) { ^~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1096:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1116:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] if (_php_iconv_memequal(&ZSTR_VAL(ndl_buf)[j], &ZSTR_VAL(ndl_buf)[i], ^~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1116:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1116:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1116:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1126:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] if (_php_iconv_memequal(buf, &ZSTR_VAL(ndl_buf)[i], sizeof(buf))) { ^~ /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1126:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1126:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/iconv/iconv.c:1126:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/phar/tar.c: In function 'phar_tar_flush': /home/builduser/rpmbuild/BUILD/php-7.1.1/ext/phar/tar.c:1249:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] PHAR_SET_32(sigbuf, phar->sig_flags); ^~~~~~~~~~~ ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73951&edit=1

« previous php.bugs (#226611) next »