diff options
| author | Egor Churaev <egor.churaev@gmail.com> | 2016-12-20 09:15:21 +0000 |
|---|---|---|
| committer | Egor Churaev <egor.churaev@gmail.com> | 2016-12-20 09:15:21 +0000 |
| commit | 67c3f3ec68f891166a822a33e694286b6913664f (patch) | |
| tree | 7bbe0e117b392820c445a30bae60638e0eab4513 /clang/lib/Sema/SemaOverload.cpp | |
| parent | fe8cb93148957b927a64a8a7047e5f9944a33ab7 (diff) | |
| download | bcm5719-llvm-67c3f3ec68f891166a822a33e694286b6913664f.tar.gz bcm5719-llvm-67c3f3ec68f891166a822a33e694286b6913664f.zip | |
[OpenCL] Enabling the usage of CLK_NULL_QUEUE as compare operand.
Summary: Enabling the compression of CLK_NULL_QUEUE to variable of type queue_t.
Reviewers: Anastasia
Subscribers: cfe-commits, yaxunl, bader
Differential Revision: https://reviews.llvm.org/D27569
llvm-svn: 290171
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index d49142b8d85..c8a45013e9e 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -1785,6 +1785,11 @@ static bool IsStandardConversion(Sema &S, Expr* From, QualType ToType, From->EvaluateKnownConstInt(S.getASTContext()) == 0) { SCS.Second = ICK_Zero_Event_Conversion; FromType = ToType; + } else if (ToType->isQueueT() && + From->isIntegerConstantExpr(S.getASTContext()) && + (From->EvaluateKnownConstInt(S.getASTContext()) == 0)) { + SCS.Second = ICK_Zero_Queue_Conversion; + FromType = ToType; } else { // No second conversion required. SCS.Second = ICK_Identity; @@ -5162,6 +5167,7 @@ static bool CheckConvertedConstantConversions(Sema &S, case ICK_Function_Conversion: case ICK_Integral_Promotion: case ICK_Integral_Conversion: // Narrowing conversions are checked elsewhere. + case ICK_Zero_Queue_Conversion: return true; case ICK_Boolean_Conversion: |

