diff options
author | Leonard Chan <leonardchan@google.com> | 2019-03-06 00:28:43 +0000 |
---|---|---|
committer | Leonard Chan <leonardchan@google.com> | 2019-03-06 00:28:43 +0000 |
commit | 8f7caae00af070fb13416dbed207f3fe18e043e8 (patch) | |
tree | 37b625e87df8172cf0fe29a715d2467c8d32e880 /clang/lib/Sema/SemaExpr.cpp | |
parent | f0c21e2ff53a2745a325136f3812b4a0e6f61ea1 (diff) | |
download | bcm5719-llvm-8f7caae00af070fb13416dbed207f3fe18e043e8.tar.gz bcm5719-llvm-8f7caae00af070fb13416dbed207f3fe18e043e8.zip |
[Fixed Point Arithmetic] Fixed Point and Integer Conversions
This patch includes the necessary code for converting between a fixed point type and integer.
This also includes constant expression evaluation for conversions with these types.
Differential Revision: https://reviews.llvm.org/D56900
llvm-svn: 355462
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExpr.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 19ed62d1fe6..187d8e2fddd 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -6152,6 +6152,7 @@ CastKind Sema::PrepareScalarCast(ExprResult &Src, QualType DestTy) { case Type::STK_Bool: return CK_FixedPointToBoolean; case Type::STK_Integral: + return CK_FixedPointToIntegral; case Type::STK_Floating: case Type::STK_IntegralComplex: case Type::STK_FloatingComplex: @@ -6196,10 +6197,7 @@ CastKind Sema::PrepareScalarCast(ExprResult &Src, QualType DestTy) { case Type::STK_MemberPointer: llvm_unreachable("member pointer type in C"); case Type::STK_FixedPoint: - Diag(Src.get()->getExprLoc(), - diag::err_unimplemented_conversion_with_fixed_point_type) - << SrcTy; - return CK_IntegralCast; + return CK_IntegralToFixedPoint; } llvm_unreachable("Should have returned before this"); |