[cfe-dev] deque<Incomplete Type> support

Marshall Clow mclow.lists at gmail.com
Tue Nov 12 19:28:04 PST 2013


On Nov 12, 2013, at 7:02 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:

> On Tue, Nov 12, 2013 at 09:16:23PM -0500, Zhihao Yuan wrote:
>> On Tue, Nov 12, 2013 at 6:26 PM, Dimitry Andric <dimitry at andric.com> wrote:
>>> Now there might
>>> be a problem when somebody else expects something different. :-)
>> 
>> So we only fix the cases without this possibility :)
>> 
>>>> http://llvm.org/bugs/show_bug.cgi?id=9351
>>> 
>>> Well, if this can be fixed in a similar way, and Howard thinks it is
>>> worthwhile, I don't see why not.  But personally I would still refrain
>>> from relying on it...
>> 
>> If more people rely on it, it's gonna be a good reason to
>> standardize it :)
>> 
>> Here is my proposed change: remove the _BlockSize template
>> parameter from __deque_iterator.  This does not decrease the
>> identify of __deque_iterator since it's templated on _ValueType
>> which covers the_BlockSize difference already.
>> 
>> Patch is attached.  Tests (+ a new one) passed.
> 
> Discussion of a similar patch, which was rejected due to ABI concerns:
> 
> http://www.mail-archive.com/cfe-commits@cs.uiuc.edu/msg80909.html
> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-October/032316.html
> 
> If you would like to make this change I would suggest doing it via an ABI
> migration.

If the library working group of the C++ committee decided that the standard should allow this (because, say,
if someone filed a defect at http://cplusplus.github.io/LWG/lwg-active.html#submit_issue against the standard), then libc++ would be required to support this.

Also, I would suggest opening a bug at llvm.org/bugs, and attaching one of these patches (they look remarkably similar).
That won't get it applied sooner, but at least it will be hanging around the bug system, and someone will remember this conversation
the next time the subject comes up (I certainly did not!) and we can avoid having the same conversations over and over.

-- Marshall

Marshall Clow     Idio Software   <mailto:mclow.lists at gmail.com>

A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).
        -- Yu Suzuki





More information about the cfe-dev mailing list