Re: Local variables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Abdul Wahid Memon <engrwahidmemon@xxxxxxxxx> writes:

> I have another question related to this. Lets suppose we have declared
> a local integer variable and we assigned some integer to it using
> gimple_build_assign statement (providing an ssa name). And after this,
> I want to modify the value of same variable. Should I create an other
> assignment statement or is there any other way to it?
>
> I have already tested it with creating an other assignment statement
> by providing the same ssa name but it gives me an error:
> hello.c:3:5: error: SSA_NAME_DEF_STMT is wrong
> Expected definition statement:
> b_4 = 1234;
>
> Actual definition statement:
> b_4 = 5555;
> hello.c:3:5: internal compiler error: verify_ssa failed
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.

Your pass is evidently while the tree is in SSA mode.  In SSA mode every
variable is only assigned to once (see
http://en.wikipedia.org/wiki/Static_single_assignment_form).  So you
can't modify a local variable.

If you don't want to deal with SSA mode you should ensure that your pass
runs before pass_build_ssa.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux