From: Erich Keane Date: Wed, 13 Jun 2018 20:47:12 +0000 (+0000) Subject: Simplify test from r334650 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=54984ffdefff42ccd702cc99f91c5e37d08b4302;p=clang Simplify test from r334650 No reason to have the 'bool' as an intermediary value, simply use the fact that curley braces enforce eval order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@334652 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/SemaCXX/builtins-overflow.cpp b/test/SemaCXX/builtins-overflow.cpp index 8cd28341e4..65733c0c15 100644 --- a/test/SemaCXX/builtins-overflow.cpp +++ b/test/SemaCXX/builtins-overflow.cpp @@ -29,8 +29,7 @@ struct Result { template constexpr Result add(LHS &&lhs, RHS &&rhs) { RET sum{}; - bool b = __builtin_add_overflow(lhs, rhs, &sum); - return {b, sum}; + return {__builtin_add_overflow(lhs, rhs, &sum), sum}; } static_assert(add(static_cast(120), static_cast(10)) == Result{false, 130}); @@ -45,8 +44,7 @@ static_assert(add(INT_MIN + 22, -23) == Result{true, INT_MAX}); template constexpr Result sub(LHS &&lhs, RHS &&rhs) { RET sum{}; - bool b = __builtin_sub_overflow(lhs, rhs, &sum); - return {b, sum}; + return {__builtin_sub_overflow(lhs, rhs, &sum), sum}; } static_assert(sub(static_cast(0),static_cast(1)) == Result{true, UCHAR_MAX}); @@ -60,8 +58,7 @@ static_assert(sub(INT_MIN + 22, 23) == Result{true, INT_MAX}); template constexpr Result mul(LHS &&lhs, RHS &&rhs) { RET sum{}; - bool b = __builtin_mul_overflow(lhs, rhs, &sum); - return {b, sum}; + return {__builtin_mul_overflow(lhs, rhs, &sum), sum}; } static_assert(mul(17,22) == Result{false, 374}); @@ -70,8 +67,7 @@ static_assert(mul(INT_MIN / 22, -23) == Result{true, -2049870757}); constexpr Result sadd(int lhs, int rhs) { int sum{}; - bool b = __builtin_sadd_overflow(lhs, rhs, &sum); - return {b, sum}; + return {__builtin_sadd_overflow(lhs, rhs, &sum), sum}; } static_assert(sadd(17,22) == Result{false, 39}); @@ -80,8 +76,7 @@ static_assert(sadd(INT_MIN + 22, -23) == Result{true, INT_MAX}); constexpr Result ssub(int lhs, int rhs) { int sum{}; - bool b = __builtin_ssub_overflow(lhs, rhs, &sum); - return {b, sum}; + return {__builtin_ssub_overflow(lhs, rhs, &sum), sum}; } static_assert(ssub(17,22) == Result{false, -5}); @@ -90,8 +85,7 @@ static_assert(ssub(INT_MIN + 22, 23) == Result{true, INT_MAX}); constexpr Result smul(int lhs, int rhs) { int sum{}; - bool b = __builtin_smul_overflow(lhs, rhs, &sum); - return {b, sum}; + return {__builtin_smul_overflow(lhs, rhs, &sum), sum}; } static_assert(smul(17,22) == Result{false, 374});