diff options
author | Anastasia Stulova <anastasia.stulova@arm.com> | 2018-05-09 13:23:26 +0000 |
---|---|---|
committer | Anastasia Stulova <anastasia.stulova@arm.com> | 2018-05-09 13:23:26 +0000 |
commit | 59055b94afbfe57a0cdcc230e7d066c275a03619 (patch) | |
tree | 592453c195c224a16f0275f5e3aa011ca1b2d4ca /clang/lib/AST/ASTContext.cpp | |
parent | d20289b31a66596716afd8a9a933b698ff17bc55 (diff) | |
download | bcm5719-llvm-59055b94afbfe57a0cdcc230e7d066c275a03619.tar.gz bcm5719-llvm-59055b94afbfe57a0cdcc230e7d066c275a03619.zip |
[OpenCL] Add constant address space to __func__ in AST.
Added string literal helper function to obtain the type
attributed by a constant address space.
Also fixed predefind __func__ expr to use the helper
to constract the string literal correctly.
Differential Revision: https://reviews.llvm.org/D46049
llvm-svn: 331877
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r-- | clang/lib/AST/ASTContext.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 0f76136e351..5c64b94c40e 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -3621,6 +3621,12 @@ QualType ASTContext::getPipeType(QualType T, bool ReadOnly) const { return QualType(New, 0); } +QualType ASTContext::adjustStringLiteralBaseType(QualType Ty) const { + // OpenCL v1.1 s6.5.3: a string literal is in the constant address space. + return LangOpts.OpenCL ? getAddrSpaceQualType(Ty, LangAS::opencl_constant) + : Ty; +} + QualType ASTContext::getReadPipeType(QualType T) const { return getPipeType(T, true); } |