On Feb 18, 2009, at 2:58 PM, Chris Lattner wrote:
> On Feb 17, 2009, at 9:21 PM, fjahanian wrote:
>>>> class ExtQualType : public Type, public llvm::FoldingSetNode {
>>>
>>> This looks great!
>>>
>>> In ASTContext::getAddrSpaceQualType, please sure that asking for a
>>> __weak addrspace(1) type works and only results in a single
>>> ExtQualType node. We should never have
>>> ExtQualType(ExtQualType(type)), they should merge together.
>>
>> Yes, my last patch does this. But there is still a problem using:
>>
>> ExtQualType::Profile(ID, T.getTypePtr(), AddressSpace,
>> T.getObjCGCAttr());
>> void *InsertPos = 0;
>> if (ExtQualType *EXTQy = ExtQualTypes.FindNodeOrInsertPos(ID,
>> InsertPos))
>> return QualType(EXTQy, 0);
>>
>> I will demo the problem to you tomorrow.
>
> I just committed some fixes for this, does this work now?
Yes, thanks. For example;
__attribute__((address_space(1))) __strong id w;
__attribute__((address_space(1))) __strong id w1;
Now return the same ExtQualType for both w and w1's types.
- Fariborz
>
>
> -Chris
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits