Bug #73951 [NEW]: will break strict-aliasing rules [-Wstrict-aliasing]

From: Date: Mon, 16 Jan 2017 16:51:44 +0000
Subject: Bug #73951 [NEW]: will break strict-aliasing rules [-Wstrict-aliasing]
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-206688@lists.php.net to get a copy of this message
From:             spam2 at rhsoft dot net
Operating system: 
PHP version:      7.1.1RC1
Package:          Compile Warning
Bug Type:         Bug
Bug description:will break strict-aliasing rules [-Wstrict-aliasing]

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 bug report at https://bugs.php.net/bug.php?id=73951&edit=1
-- 
Try a snapshot (PHP 5.4):   https://bugs.php.net/fix.php?id=73951&r=trysnapshot54
Try a snapshot (PHP 5.5):   https://bugs.php.net/fix.php?id=73951&r=trysnapshot55
Try a snapshot (trunk):     https://bugs.php.net/fix.php?id=73951&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=73951&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=73951&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=73951&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=73951&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=73951&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=73951&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=73951&r=notwrong
Not enough info:            https://bugs.php.net/fix.php?id=73951&r=notenoughinfo
Submitted twice:            https://bugs.php.net/fix.php?id=73951&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=73951&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=73951&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=73951&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=73951&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=73951&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=73951&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=73951&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=73951&r=mysqlcfg



Thread (2 messages)

« previous php.bugs (#206688) next »