re PR c/39983 (ICE: type mismatch in address expression)
authorRichard Guenther <rguenther@suse.de>
Sun, 3 May 2009 19:57:32 +0000 (19:57 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Sun, 3 May 2009 19:57:32 +0000 (19:57 +0000)
commit255d3827b4ecd22efa38467bf52a9ee24f96afb5
treec4e6b2079d241859aabc7e14a7760df92602eee4
parent16c337707b0c71829fcad74fdc82d85b1f103eaf
re PR c/39983 (ICE: type mismatch in address expression)

2009-05-03  Richard Guenther  <rguenther@suse.de>

PR c/39983
* c-typeck.c (array_to_pointer_conversion): Do not built
ADDR_EXPRs of arrays of pointer-to-element type.
* c-gimplify.c (c_gimplify_expr): Revert change fixing
up wrong ADDR_EXPRs after-the-fact.
* c-common.c (strict_aliasing_warning): Strip pointer
conversions for obtaining the original type.
* builtins.c (fold_builtin_memset): Handle array types.
(fold_builtin_memory_op): Handle folded POINTER_PLUS_EXPRs
and array types

* gcc.c-torture/compile/pr39983.c: New testcase.

From-SVN: r147083
gcc/ChangeLog
gcc/builtins.c
gcc/c-common.c
gcc/c-gimplify.c
gcc/c-typeck.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr39983.c [new file with mode: 0644]