From: peter klausler Date: Wed, 10 Oct 2018 22:27:17 +0000 (-0700) Subject: [flang] Prep for review X-Git-Tag: llvmorg-12-init~9537^2~2094 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=884d9057d00ff67410b909170ddbee13f204b44c;p=platform%2Fupstream%2Fllvm.git [flang] Prep for review Original-commit: flang-compiler/f18@a9439ee83cce0f698471e6647ff2371f73374502 Reviewed-on: https://github.com/flang-compiler/f18/pull/209 --- diff --git a/flang/lib/evaluate/expression.h b/flang/lib/evaluate/expression.h index dae3b0d..dab8bf0 100644 --- a/flang/lib/evaluate/expression.h +++ b/flang/lib/evaluate/expression.h @@ -432,23 +432,22 @@ public: EVALUATE_UNION_CLASS_BOILERPLATE(Expr) explicit Expr(const Scalar &x) : u{Constant{x}} {} - template explicit Expr(std::enable_if_t, INT> n) : u(Constant{ - n} -} { -} + template + explicit Expr(std::enable_if_t, INT> n) + : u{Constant{n}} {} private: -using Conversions = std::variant, - Convert>; -using Operations = std::variant, Negate, - Add, Subtract, Multiply, Divide, - Power, Extremum>; -using Others = - std::variant, Designator, FunctionRef>; + using Conversions = std::variant, + Convert>; + using Operations = std::variant, Negate, + Add, Subtract, Multiply, Divide, + Power, Extremum>; + using Others = + std::variant, Designator, FunctionRef>; public: -common::CombineVariants u; -}; // namespace Fortran::evaluate + common::CombineVariants u; +}; template class Expr> diff --git a/flang/lib/evaluate/integer.h b/flang/lib/evaluate/integer.h index b3b2283..df7663e 100644 --- a/flang/lib/evaluate/integer.h +++ b/flang/lib/evaluate/integer.h @@ -120,8 +120,8 @@ public: // C++'s integral types can all be converted to Integer // with silent truncation. - template - constexpr Integer(std::enable_if, INT> n) { + template constexpr Integer(INT n) { + static_assert(std::is_integral_v); constexpr int nBits = CHAR_BIT * sizeof n; if constexpr (nBits < partBits) { if constexpr (std::is_unsigned_v) {