[Bug middle-end/27529] Does not fold (char *)(size_t)char_ptr or (size_t)(char *)size_t_var
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu May 11 08:30:00 GMT 2006
------- Comment #2 from rguenth at gcc dot gnu dot org 2006-05-11 08:30 -------
Subject: Bug 27529
Author: rguenth
Date: Thu May 11 08:29:40 2006
New Revision: 113692
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=113692
Log:
2006-05-11 Richard Guenther <rguenther@suse.de>
PR middle-end/27529
* fold-const.c (fold_unary): Handle intermediate conversion
to a pointer type like intermediate conversion to an integer
type in folding of (T1)(T2)var to var.
Match the code to the comment in the final conversion for
(T1)(T2)var to (T1)var regarding to type precision. Rather
than disallow T1 being of pointer type, assert that both T1
and var are of pointer type or not. Make sure not to fall
over the frontends lazyness wrt array to pointer decay though.
* gcc.dg/tree-ssa/foldcast-1.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/foldcast-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27529
More information about the Gcc-bugs
mailing list