| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| // expected-no-diagnostics |
| |
| constexpr int test_clzg_0() { |
| int x = 0; |
| (void)__builtin_clzg(0U, ++x); |
| return x; |
| } |
| |
| static_assert(test_clzg_0() == 1); |
| |
| constexpr int test_clzg_1() { |
| int x = 0; |
| (void)__builtin_clzg(1U, ++x); |
| return x; |
| } |
| |
| static_assert(test_clzg_1() == 1); |
| |
| constexpr int test_ctzg_0() { |
| int x = 0; |
| (void)__builtin_ctzg(0U, ++x); |
| return x; |
| } |
| |
| static_assert(test_ctzg_0() == 1); |
| |
| constexpr int test_ctzg_1() { |
| int x = 0; |
| (void)__builtin_ctzg(1U, ++x); |
| return x; |
| } |
| |
| static_assert(test_ctzg_1() == 1); |