From: Chandler Carruth Date: Fri, 9 Jul 2010 19:19:40 +0000 (+0000) Subject: Rip out the floating point return type handling from the atomic builtin. It's X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7479ef6b5dd4903a7d832b4a4207045d7005a812;p=clang Rip out the floating point return type handling from the atomic builtin. It's wrong, and we don't handle floating point value type arguments yet anyways. Will add correct logic for both when I finish the patch. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108004 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index 6a818bd575..217ada01c6 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -570,13 +570,12 @@ Sema::SemaBuiltinAtomicOverloaded(OwningExprResult TheCallResult) { assert(ValType->isIntegerType() && "We always convert atomic operation values to integers."); + // FIXME: Handle floating point value type here too. CastExpr::CastKind Kind; if (OrigValType->isIntegerType()) Kind = CastExpr::CK_IntegralCast; else if (OrigValType->hasPointerRepresentation()) Kind = CastExpr::CK_IntegralToPointer; - else if (OrigValType->isRealFloatingType()) - Kind = CastExpr::CK_IntegralToFloating; else llvm_unreachable("Unhandled original value type!");