diff options
author | Bill Wendling <isanbard@gmail.com> | 2018-11-21 20:44:18 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2018-11-21 20:44:18 +0000 |
commit | 4e64d31bc5f3acbb9dd104dd4ae7ef492d4fe031 (patch) | |
tree | dd55b3cf11351ddce77e676435622743879ad499 /lib/Sema/SemaInit.cpp | |
parent | cb1a557450468b15cb27dffafcaeba1a0a715e0d (diff) | |
download | clang-4e64d31bc5f3acbb9dd104dd4ae7ef492d4fe031.tar.gz |
Re-Reinstate 347294 with a fix for the failures.
Don't try to emit a scalar expression for a non-scalar argument to
__builtin_constant_p().
Third time's a charm!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@347417 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaInit.cpp')
-rw-r--r-- | lib/Sema/SemaInit.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Sema/SemaInit.cpp b/lib/Sema/SemaInit.cpp index 3184be8038..1294606008 100644 --- a/lib/Sema/SemaInit.cpp +++ b/lib/Sema/SemaInit.cpp @@ -8050,8 +8050,9 @@ ExprResult InitializationSequence::Perform(Sema &S, break; } - llvm::APSInt Result; - Init->EvaluateAsInt(Result, S.Context); + Expr::EvalResult EVResult; + Init->EvaluateAsInt(EVResult, S.Context); + llvm::APSInt Result = EVResult.Val.getInt(); const uint64_t SamplerValue = Result.getLimitedValue(); // 32-bit value of sampler's initializer is interpreted as // bit-field with the following structure: |