[cfe-commits] r64820 - in /cfe/trunk: include/clang/AST/Type.h lib/AST/ASTContext.cpp lib/AST/Type.cpp

Fariborz Jahanian fjahanian at apple.com
Wed Feb 18 16:08:16 PST 2009


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




More information about the cfe-commits mailing list