// PR c++/108099 // { dg-do compile { target c++11 } } // { dg-options "" } typedef long long t64; template struct integral_constant { static constexpr T value = v; }; typedef integral_constant false_type; typedef integral_constant true_type; template struct is_same : false_type {}; template struct is_same : true_type {}; using s64 = signed t64; static_assert (is_same ::value, ""); static_assert (is_same ::value, ""); static_assert (sizeof (s64) == sizeof (long long), ""); static_assert (s64(-1) < 0, ""); using u64 = unsigned t64; static_assert (is_same ::value, ""); static_assert (sizeof (u64) == sizeof (unsigned long long), ""); static_assert (u64(-1) > 0, "");