[cfe-commits] [PATCH] [VCPP] Add __ptr64 qualifier

pravic ehysta at gmail.com
Mon Nov 12 07:42:45 PST 2012


I found, that MS attributes completely ignored at SemaDeclAttr.cpp(4542):

   // Type attributes are still treated as declaration attributes by
   // ParseMicrosoftTypeAttributes and ParseBorlandTypeAttributes.  We 
don't
   // want to process them, however, because we will simply warn about 
ignoring
   // them.  So instead, we will bail out early.
   if (Attr.isMSTypespecAttribute())
     return;

If remove this condition , I can access to "__ptr"-like attributes at 
MicrosoftMangle to make correct attribute mangling.
I'm on the right way?

On 06.11.2012 16:22, Aaron Ballman wrote:
> The line endings still appear to be messed up in the patch.
>
> As for the type attributes, I would expect to see a Ptr64Attr or
> Ptr32Attr for them.  You can start following the logic in
> SemaDeclAttr.cpp handlePortabilityAttr to see whether they are being
> properly applied to the declaration.  I'm not certain why they would
> be dropped, but it could be a latent bug.
>
> ~Aaron
>
> On Tue, Nov 6, 2012 at 9:13 AM, pravic<ehysta at gmail.com>  wrote:
>>    Added tests for __ptr64 and __ptr32 qualifiers (and corrected line endings).
>>
>>    These tests were failed because explicit qualifiers doesn't implemented in mangling.
>>
>>    Can someone tell me, how to access the AttributeList of mangled type to check declaration for AttributeList::AS_MSTypespec. Because NamedDecl doesn't have any attributes (.hasAttrs() == false).
>>
>> Hi cdavis5x,
>>
>> http://llvm-reviews.chandlerc.com/D101
>>
>> CHANGE SINCE LAST DIFF
>>    http://llvm-reviews.chandlerc.com/D101?vs=270&id=271#toc
>>
>> Files:
>>    lib/AST/MicrosoftMangle.cpp
>>    test/CodeGenCXX/mangle-ms-ptr64.cpp
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>




More information about the cfe-commits mailing list