re PR middle-end/71002 (-fstrict-aliasing breaks Boost's short string optimization...
authorRichard Biener <rguenther@suse.de>
Wed, 29 Jun 2016 07:30:31 +0000 (07:30 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 29 Jun 2016 07:30:31 +0000 (07:30 +0000)
commit4aa83879c93d2367f5245c94bd2f12c19f486dae
tree29eb8891c24a3daecbf68e50445cf77606b498d4
parent36088299955f95ab58a5758cba2f29b84c8fbfbc
re PR middle-end/71002 (-fstrict-aliasing breaks Boost's short string optimization implementation)

2016-06-29  Richard Biener  <rguenther@suse.de>

PR middle-end/71002
* alias.c (component_uses_parent_alias_set_from): Handle
type punning through union accesses by using the union alias set.
* gimple.c (gimple_get_alias_set): Remove union type punning case.

c-family/
* c-common.c (c_common_get_alias_set): Remove union type punning case.

fortran/
* f95-lang.c (LANG_HOOKS_GET_ALIAS_SET): Remove (un-)define.
(gfc_get_alias_set): Remove.

* g++.dg/torture/pr71002.C: Adjust testcase.

From-SVN: r237839
gcc/ChangeLog
gcc/alias.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/fortran/ChangeLog
gcc/fortran/f95-lang.c
gcc/gimple.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/pr71002.C