summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema
diff options
context:
space:
mode:
authorSven van Haastregt <sven.vanhaastregt@arm.com>2019-08-12 12:44:26 +0000
committerSven van Haastregt <sven.vanhaastregt@arm.com>2019-08-12 12:44:26 +0000
commit06385d013d08b47008983567bf52bdb909801b4f (patch)
tree560471759b0623d95c7f0feb25b356d48f1dec44 /clang/lib/Sema
parent5b96d4655c868ce5a4df4b472b90b543344b5386 (diff)
downloadbcm5719-llvm-06385d013d08b47008983567bf52bdb909801b4f.tar.gz
bcm5719-llvm-06385d013d08b47008983567bf52bdb909801b4f.zip
[OpenCL] Ignore parentheses for sampler initialization
The sampler handling logic in SemaInit.cpp would inadvertently treat parentheses around sampler arguments as an implicit cast, leading to an unreachable "can't implicitly cast lvalue to rvalue with this cast kind". Fix by ignoring parentheses once we are in the sampler initializer case. Differential Revision: https://reviews.llvm.org/D66080 llvm-svn: 368561
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r--clang/lib/Sema/SemaInit.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 980696f4213..2be4e897c8e 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -8248,7 +8248,7 @@ ExprResult InitializationSequence::Perform(Sema &S,
// argument passing.
assert(Step->Type->isSamplerT() &&
"Sampler initialization on non-sampler type.");
- Expr *Init = CurInit.get();
+ Expr *Init = CurInit.get()->IgnoreParens();
QualType SourceType = Init->getType();
// Case 1
if (Entity.isParameterKind()) {
OpenPOWER on IntegriCloud