------- Comment #6 from pcarlini at suse dot de 2006-09-20 10:22 ------- (In reply to comment #5) > The reason I bought this up here, is because I thought (and I could be wrong, > sorry) that the overflow was being caused by the fact that we allow the > container size to get too big, and if we pull max_size() down to a proper > level, then the container should never have to deal with arithmetic overflow.
In principle, very in principle. Because we are talking here about *discontiguous* memory containers, not about vector. I'm not even sure the semantics of max_size allows (of course doesn't requires) that each time we go down to the machine and interact with the OS in order to try to figure out how much memory it's actually overall available. The last time I discussed a bit this issue with LWG people I seem to remember that the assumed user general expectation was that of *constant* numbers, meaning overall max "time independent" numbers (+ appropriate case-by-case, exceptions, of course). You may want to brought up the issue again... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29134