2008-07-15 Richard Guenther <rguenther@suse.de>
commitf06537f281ee377a580745324c3dcb4dd0061e81
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Jul 2008 15:07:46 +0000 (15 15:07 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Jul 2008 15:07:46 +0000 (15 15:07 +0000)
tree0bcb9d1a50290f889709fe4909b9f2295332dc22
parent890c45fff2c369be2a2cfffa169ea8642000464d
2008-07-15  Richard Guenther  <rguenther@suse.de>

PR middle-end/36369
* c-common.c (strict_aliasing_warning): Do not warn for
TYPE_REF_CAN_ALIAS_ALL pointers.
(c_common_get_alias_set): may_alias types are not special.
* tree.c (build_pointer_type_for_mode): Look up the may_alias
attribute and set can_ref_all accordingly.
(build_reference_type_for_mode): Likewise.
* doc/extend.texi (may_alias): Clarify.

* gcc.dg/Wstrict-aliasing-bogus-ref-all.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@137843 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-common.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/Wstrict-aliasing-bogus-ref-all.c [new file with mode: 0644]
gcc/tree.c