|  | // 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); |