Add support for the MS qualifiers __ptr32, __ptr64, __sptr, __uptr.
Summary: This adds parsing of the qualifiers __ptr32, __ptr64, __sptr, and __uptr and lowers them to the corresponding address space pointer for 32-bit and 64-bit pointers. (32/64-bit pointers added in https://reviews.llvm.org/D69639) A large part of this patch is making these pointers ignore the address space when doing things like overloading and casting. https://bugs.llvm.org/show_bug.cgi?id=42359 Reviewers: rnk, rsmith Subscribers: jholewinski, jvesely, nhaehnle, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D71039
Showing
- clang/include/clang/AST/ASTContext.h 13 additions, 0 deletionsclang/include/clang/AST/ASTContext.h
- clang/include/clang/AST/Type.h 4 additions, 1 deletionclang/include/clang/AST/Type.h
- clang/include/clang/Basic/AddressSpaces.h 10 additions, 0 deletionsclang/include/clang/Basic/AddressSpaces.h
- clang/include/clang/Basic/Attr.td 4 additions, 4 deletionsclang/include/clang/Basic/Attr.td
- clang/include/clang/Basic/AttrDocs.td 38 additions, 0 deletionsclang/include/clang/Basic/AttrDocs.td
- clang/lib/AST/ASTContext.cpp 45 additions, 9 deletionsclang/lib/AST/ASTContext.cpp
- clang/lib/AST/ItaniumMangle.cpp 10 additions, 0 deletionsclang/lib/AST/ItaniumMangle.cpp
- clang/lib/AST/MicrosoftMangle.cpp 21 additions, 7 deletionsclang/lib/AST/MicrosoftMangle.cpp
- clang/lib/AST/TypePrinter.cpp 6 additions, 0 deletionsclang/lib/AST/TypePrinter.cpp
- clang/lib/Basic/Targets/AMDGPU.cpp 9 additions, 2 deletionsclang/lib/Basic/Targets/AMDGPU.cpp
- clang/lib/Basic/Targets/NVPTX.h 3 additions, 0 deletionsclang/lib/Basic/Targets/NVPTX.h
- clang/lib/Basic/Targets/SPIR.h 4 additions, 1 deletionclang/lib/Basic/Targets/SPIR.h
- clang/lib/Basic/Targets/TCE.h 4 additions, 1 deletionclang/lib/Basic/Targets/TCE.h
- clang/lib/Basic/Targets/X86.h 29 additions, 0 deletionsclang/lib/Basic/Targets/X86.h
- clang/lib/Sema/SemaDecl.cpp 5 additions, 0 deletionsclang/lib/Sema/SemaDecl.cpp
- clang/lib/Sema/SemaOverload.cpp 6 additions, 2 deletionsclang/lib/Sema/SemaOverload.cpp
- clang/lib/Sema/SemaType.cpp 44 additions, 24 deletionsclang/lib/Sema/SemaType.cpp
- clang/test/CodeGen/ms-mixed-ptr-sizes.c 51 additions, 0 deletionsclang/test/CodeGen/ms-mixed-ptr-sizes.c
- clang/test/CodeGenCXX/mangle-ptr-size-address-space.cpp 18 additions, 0 deletionsclang/test/CodeGenCXX/mangle-ptr-size-address-space.cpp
- clang/test/Sema/MicrosoftExtensions.c 14 additions, 0 deletionsclang/test/Sema/MicrosoftExtensions.c
Loading
Please register or sign in to comment