[PATCH] Initial support for __sptr and __uptr

Aaron Ballman aaron at aaronballman.com
Wed May 22 14:34:00 PDT 2013


Here is the updated patch with your suggestions applied.

Thanks!

~Aaron

On Wed, May 22, 2013 at 4:45 PM, Aaron Ballman <aaron at aaronballman.com> wrote:
> On Wed, May 22, 2013 at 4:39 PM, Richard Smith <richard at metafoo.co.uk> wrote:
>> On Wed, May 22, 2013 at 1:34 PM, Aaron Ballman <aaron at aaronballman.com>
>> wrote:
>>>
>>> On Wed, May 22, 2013 at 3:59 PM, Richard Smith <richard at metafoo.co.uk>
>>> wrote:
>>> > +  // Pointer type qualifiers can only operate on pointer types, but not
>>> > +  // pointer-to-member types.
>>> > +  if (!Type->isPointerType() || Type->isMemberPointerType()) {
>>> >
>>> > You don't need the isMemberPointerType here.
>>>
>>> Removed.
>>>
>>> > This will still accept cases like:
>>> >
>>> > typedef int *P;
>>> > P __ptr32 myp;
>>> >
>>> > I would suggest checking isa<PointerType> on the type you get after
>>> > stripping off AttributedTypes.
>>>
>>> I had an explicit test case in to ensure that worked because I felt it
>>> was a reasonable use case.  Are you saying we should not allow it?
>>
>>
>> You said this was illegal in MSVC, so I don't see why we should allow it.
>
> MSVC isn't particularly consistent with what it allows and disallows.
> ;-)  But I'll remove it just the same.
>
> Thanks!
>
> ~Aaron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sptr_uptr.patch
Type: application/octet-stream
Size: 17661 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130522/4a27be5a/attachment.obj>


More information about the cfe-commits mailing list