Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp2a/is-constant-evaluated6.C @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
// P0595R2 // { dg-do compile { target c++14 } } namespace std { constexpr inline bool is_constant_evaluated () noexcept { return __builtin_is_constant_evaluated (); } } int a; constexpr bool foo (int x) { return __builtin_constant_p (x); } constexpr bool bar (int x) { return __builtin_constant_p (x + a); } static_assert (__builtin_constant_p (0) + 2 * std::is_constant_evaluated () == 3, ""); static_assert (__builtin_constant_p (a) + 2 * std::is_constant_evaluated () == 2, ""); static_assert (foo (0) + 2 * std::is_constant_evaluated () == 3, ""); static_assert (bar (0) + 2 * std::is_constant_evaluated () == 2, "");