Hmm, it seems 3.2.x would *always* operate on a function-by-function basis. The unit-at-a-time mode was only introduced with 3.4 (I don't recall if it was already present in 3.3). I don't think there is any way in 3.2.3 to check whether there is a "main" function in the file before it is processed ...
Ulrich, this comment got me thinking. If global optimization is not being done, then less of the source file would need to be in memory at the same time. How much memory do you think is required to process the largest GCC 3.2.3 source file (ie when self-compiling)? My experience is that fold-const.c requires 20 MB of memory (not including the size of the executable) to compile with -Os. That's the biggest. Is that typical/expected? Because it just occurred to me that maybe the lack of a "normal" implementation of alloca() is causing memory to not be released, and it's taking more space than it needs to. Thanks. Paul.