[v3] libstdc++/53248

Paolo Carlini paolo.carlini@oracle.com
Wed Oct 3 18:32:00 GMT 2012


Hi,

On 10/03/2012 08:18 PM, Marc Glisse wrote:
> On Wed, 3 Oct 2012, Paolo Carlini wrote:
>
>> thus this is the patch I prepared for this issue, consistently (I 
>> hope!) with the various points discussed in the audit trail, with 
>> Daniel too. In particular: 1- We'd rather prefer not use a 
>> specialization; 2- Having begin() and end() always returning nullptr 
>> for zero-sized-arrays is fine.
>>
>> Of course the patch could be tweaked in various different ways but if 
>> nobody has special suggestions this is the version I'm going to commit.
>
> A quick look gives me the impression that:
> 1) it breaks the ABI for arrays of dim 0 (I don't mind)
I know this, I think it cannot be avoided if we want to actually solve 
the problem.
> 2) it breaks the API by changing the number of levels of {} you need 
> to add to initialize for instance an array of arrays
I briefly wondered about this, weird that the testsuite doesn't notice. 
I think I can fix it, Daniel originally suggested to have only an 
__array_traits. Let me see...
> 3) it uses *p where p is a null pointer (it only builds a reference 
> though, so that might be ok)
Yes, I think it's fine.

Thanks!
Paolo.



More information about the Libstdc++ mailing list