Problem with operand handling

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Sat Sep 4 14:48:00 GMT 2004


When I work around the problem with lcm.c, I then get:

../../xgcc -B../../ -c -g -O2      -W -Wall -gnatpg  g-exctra.adb -o g-exctra.o
+===========================GNAT BUG DETECTED==============================+
| 5.03h (20040831) (x86_64-unknown-linux-gnu) GCC error:                   |
| in var_ann, at tree-flow-inline.h:38                                     |

Upon investigating, I find I don't understand something about tree-ssa-operands.

It looks like add_stmt_operand is supposed to be passed a pointer to the
operand.  But in a number of places in tree-ssa-operands.c, you have

	tree var = referenced_var (i);

	add_stmt_operand (&var, ...);

But this puts a pointer into the stack of that function into the operands
of the statement.  That looks very wrong and seems to be causing my problem.
How is that supposed to work?



More information about the Gcc mailing list