summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTContext.cpp
diff options
context:
space:
mode:
authorAnastasia Stulova <anastasia.stulova@arm.com>2018-05-09 13:23:26 +0000
committerAnastasia Stulova <anastasia.stulova@arm.com>2018-05-09 13:23:26 +0000
commit59055b94afbfe57a0cdcc230e7d066c275a03619 (patch)
tree592453c195c224a16f0275f5e3aa011ca1b2d4ca /clang/lib/AST/ASTContext.cpp
parentd20289b31a66596716afd8a9a933b698ff17bc55 (diff)
downloadbcm5719-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.cpp6
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);
}
OpenPOWER on IntegriCloud