This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]