This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -Wconversion versus libstdc++
Paolo Carlini <pcarlini@suse.de> writes:
[...]
| >My concern is for vectors whose size() exceeds
| > numeric_limits<difference_type>::max() -- even if we would like to
| > avoid the general discussion. My understanding -- and I would like
| > to hear of others' -- is that the
| >semantics description in the table 65 is a constraint on
| > implementations. Concretely, it means that we cannot have a vector
| > whose size() is numeric_limits<size_type>::max() because otherwise
| >the difference between end() and begin() will overflow.
| > That implies that max_size() would have to return
| > numeric_limit<difference_type>::max().
| >
| I agree with your reasoning, and indeed, this is essentially the point
| which I raised to Howard, time ago ;)
|
| However, in order not to mix different issues, I think we should try
| first to resolve the much more limited issue at hand, which, I note,
| has to do with *deallocation*, not with *allocation*.
By the time we deallocate, any possible damage has already be done :-)
So, yes, you can add the casts as a temporary work-around.
We still would not have solved the issue (I do not believe we have
separate issues).
-- Gaby