This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/26994] [4.2/4.3 Regression] Scalar TRANSFER - error: invalid operand to unary operator
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Nov 2006 02:20:11 -0000
- Subject: [Bug tree-optimization/26994] [4.2/4.3 Regression] Scalar TRANSFER - error: invalid operand to unary operator
- References: <bug-26994-10374@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from pinskia at gcc dot gnu dot org 2006-11-12 02:20 -------
_gfortran_set_std (70, 127, 0);
D.1015 = &C.992;
D.1016 = *D.1014;
if (D.1016 == 0) goto <L0>; else goto <L1>;
D.1014 = (char *) D.1015;
The order of the BB when inlining is just bogus.
Honza, could you look into this bug?
It is correct before inling:
<bb 2>:
D.995 = (char *) &C.992;
D.996 = *D.995;
if (D.996 == 0) goto <L0>; else goto <L1>;
Oh, maybe it is still the regimplification of (char*)&C.992 which is causing
this, &C.992 should be still considered an invarient.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26994