diff options
author | Andrew Gozillon <andrew.gozillon@uws.ac.uk> | 2017-10-02 06:25:51 +0000 |
---|---|---|
committer | Andrew Gozillon <andrew.gozillon@uws.ac.uk> | 2017-10-02 06:25:51 +0000 |
commit | 572bbb075483b07084526bc30b180b743257ca5a (patch) | |
tree | 70b646fde30a35410f4ef93059e28b7725c2b078 /clang/lib/AST/MicrosoftMangle.cpp | |
parent | d37625859a6a663c33390e6a15ad5eca46579bc3 (diff) | |
download | bcm5719-llvm-572bbb075483b07084526bc30b180b743257ca5a.tar.gz bcm5719-llvm-572bbb075483b07084526bc30b180b743257ca5a.zip |
Dependent Address Space Support
This patch relates to: https://reviews.llvm.org/D33666 This adds support
for template parameters to be passed to the address_space attribute.
The main goal is to add further flexibility to the attribute and allow
for it to be used easily with templates.
The main additions are a new type (DependentAddressSpaceType) alongside
its TypeLoc and its mangling. As well as the logic required to support
dependent address spaces which mainly resides in TreeTransform.h and
SemaType.cpp.
llvm-svn: 314649
Diffstat (limited to 'clang/lib/AST/MicrosoftMangle.cpp')
-rw-r--r-- | clang/lib/AST/MicrosoftMangle.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp index 685dc62296f..c8048544ab8 100644 --- a/clang/lib/AST/MicrosoftMangle.cpp +++ b/clang/lib/AST/MicrosoftMangle.cpp @@ -2430,6 +2430,15 @@ void MicrosoftCXXNameMangler::mangleType(const DependentSizedExtVectorType *T, << Range; } +void MicrosoftCXXNameMangler::mangleType(const DependentAddressSpaceType *T, + Qualifiers, SourceRange Range) { + DiagnosticsEngine &Diags = Context.getDiags(); + unsigned DiagID = Diags.getCustomDiagID( + DiagnosticsEngine::Error, + "cannot mangle this dependent address space type yet"); + Diags.Report(Range.getBegin(), DiagID) << Range; +} + void MicrosoftCXXNameMangler::mangleType(const ObjCInterfaceType *T, Qualifiers, SourceRange) { // ObjC interfaces have structs underlying them. |