DM> int main()
DM> {
DM> char blank1[10] = {0}; /* all nuls */
DM> char buffer[10] = {0}; /* all nuls */
DM> char blank2[10] = {0}; /* all nuls */
AR> ...
DM> What I found interesting is the fact that it went BACK... I was
DM> expecting blank2 to be overwritten.
AR> Did you _really_ expect blank2 to be overwritten? I'd
AR> expect that for static variables. Not for auto
AR> variables!
Perhaps I didn't follow the code generation properly. No matter - I had put
the blanks on both sides "just in case". :-)
AR> I suspect that the compiler's code generator is a bit
AR> simpler if it handles subsequent auto variable
AR> definitions similar to stack pushes.
Although we won't guarantee this behaviour... ;-)
---
---------------
* Origin: Tanktalus' Tower BBS (1:250/102)
|