[tree-ssa] Fix variables getting out of their scope

law@redhat.com law@redhat.com
Wed Aug 20 22:53:00 GMT 2003


In message <20030820223318.GA26494@atrey.karlin.mff.cuni.cz>, Zdenek Dvorak wri
tes:
 >Hello,
>copy propagation may replace set to j with i, thus moving it out of its
 >scope.  Given that we may (??? not really sure whether we do it) assign
 >the same stack slot to i, j and bla, this would cause a misscompilation.
Everything which goes into a stack slot (as opposed to be assigned a 
pseudo register) should be marked as addressable -- which should in turn
prevent the object from being used for copy propagation.  ie, it should
be a non-issue.

 >2) That cursed extension:
 >
 >{
 >  int z = ...;
 >
 >  {
 >    int array[z];
 >  }
 >}
 >
 >Not really sure whether the process you describe is able to handle this.
 >But we probably should lower this anyway.
It's standard for C99, so we shouldn't continue to think about VLAs
as extensions, but as first class features we need to support.

[ And I'm as guily as the next person in looking at VLAs as extensions..... ]

Jeff

 >
 >Zdenek




More information about the Gcc-patches mailing list