11// RUN: %cxx -verify -fsyntax-only %s -o -
22
3- static_assert (__is_void(int )); // expected-error{{static_assert failed}}
3+ static_assert (__is_void(int ) == false );
4+ static_assert (__is_void(void ) == true );
5+ static_assert (__is_void(void *) == false );
6+ static_assert (__is_void(const void ) == true );
7+ static_assert (__is_void(volatile void ) == true );
8+ static_assert (__is_void(const volatile void ) == true );
49
5- static_assert (__is_void(void ));
10+ static_assert (__is_same( decltype ( __is_void(void )), bool ) == true );
611
7- static_assert (__is_void(void *)); // expected-error{{static_assert failed}}
12+ static_assert (__is_same( decltype ( __is_void(void )), int ) == false );
813
9- static_assert (__is_same(decltype (__is_void(void )), bool ));
10-
11- static_assert (__is_same(decltype (__is_void(void )),
12- int )); // expected-error@-1{{static_assert failed}}
13-
14- static_assert (__is_pointer(void *));
14+ static_assert (__is_pointer(void *) == true );
1515
1616int * p;
1717
18- static_assert (__is_pointer(decltype (p)));
18+ static_assert (__is_pointer(decltype (p)) == true );
1919
20- static_assert (__is_pointer(int )); // expected-error{{static_assert failed}}
20+ static_assert (__is_pointer(int ) == false );
2121
2222void foo () {}
2323
24- static_assert (
25- __is_pointer (decltype (foo))); // expected-error{{static_assert failed}}
24+ static_assert (__is_pointer(decltype (foo)) == false );
2625
2726// __is_const
2827
2928const int v = 0 ;
3029
31- static_assert (__is_const(decltype (v)));
30+ static_assert (__is_const(decltype (v)) == true );
3231
33- volatile int * cv = nullptr ;
32+ const int * cv = nullptr ;
3433
35- static_assert (
36- __is_const (decltype (cv))); // expected-error{{static_assert failed}}
34+ static_assert (__is_const(decltype (cv)) == false );
3735
3836int * const cv2 = nullptr ;
3937
40- static_assert (__is_const(decltype (cv2)));
38+ static_assert (__is_const(decltype (cv2)) == true );
4139
42- static_assert (
43- __is_const (decltype (0 ))); // expected-error{{static_assert failed}}
40+ static_assert (__is_const(decltype (0 )) == false );
4441
4542// __is_volatile
4643
@@ -56,67 +53,54 @@ static_assert(__is_volatile(decltype(pv)));
5653
5754// __is_null_pointer
5855
59- static_assert (__is_null_pointer(decltype (nullptr )));
56+ static_assert (__is_null_pointer(decltype (nullptr )) == true );
6057
6158void * ptr = nullptr ;
6259
63- static_assert (__is_null_pointer(
64- decltype (ptr))); // expected-error@-1{{static_assert failed}}
60+ static_assert (__is_null_pointer(decltype (ptr)) == false );
6561
6662using nullptr_t = decltype (nullptr );
6763
68- static_assert (__is_null_pointer(nullptr_t ));
64+ static_assert (__is_null_pointer(nullptr_t ) == true );
6965
7066// __is_signed
7167
72- static_assert (__is_signed(char ));
73- static_assert (__is_signed(short ));
74- static_assert (__is_signed(int ));
75- static_assert (__is_signed(long ));
76- static_assert (__is_signed(long long ));
77-
78- static_assert (
79- __is_signed (unsigned char )); // expected-error{{static_assert failed}}
80-
81- static_assert (
82- __is_signed (unsigned short )); // expected-error{{static_assert failed}}
83-
84- static_assert (
85- __is_signed (unsigned int )); // expected-error{{static_assert failed}}
68+ static_assert (__is_signed(char ) == true );
69+ static_assert (__is_signed(short ) == true );
70+ static_assert (__is_signed(int ) == true );
71+ static_assert (__is_signed(long ) == true );
72+ static_assert (__is_signed(long long ) == true );
8673
87- static_assert (
88- __is_signed (unsigned long )); // expected-error{{static_assert failed}}
89-
90- static_assert (
91- __is_signed (unsigned long long )); // expected-error{{static_assert failed}}
74+ static_assert (__is_signed( unsigned char ) == false );
75+ static_assert ( __is_signed(unsigned short ) == false );
76+ static_assert (__is_signed( unsigned int ) == false );
77+ static_assert (__is_signed( unsigned long ) == false );
78+ static_assert ( __is_signed(unsigned long long ) == false );
9279
9380// __is_unsigned
9481
95- static_assert (__is_unsigned(unsigned char ));
96- static_assert (__is_unsigned(unsigned short ));
97- static_assert (__is_unsigned(unsigned int ));
98- static_assert (__is_unsigned(unsigned long ));
99- static_assert (__is_unsigned(unsigned long long ));
100-
101- static_assert (__is_unsigned(char )); // expected-error{{static_assert failed}}
102- static_assert (__is_unsigned(short )); // expected-error{{static_assert failed}}
103- static_assert (__is_unsigned(int )); // expected-error{{static_assert failed}}
104- static_assert (__is_unsigned(long )); // expected-error{{static_assert failed}}
82+ static_assert (__is_unsigned(unsigned char ) == true );
83+ static_assert (__is_unsigned(unsigned short ) == true );
84+ static_assert (__is_unsigned(unsigned int ) == true );
85+ static_assert (__is_unsigned(unsigned long ) == true );
86+ static_assert (__is_unsigned(unsigned long long ) == true );
10587
106- static_assert (
107- __is_unsigned (long long )); // expected-error{{static_assert failed}}
88+ static_assert (__is_unsigned(char ) == false );
89+ static_assert (__is_unsigned(short ) == false );
90+ static_assert (__is_unsigned(int ) == false );
91+ static_assert (__is_unsigned(long ) == false );
92+ static_assert (__is_unsigned(long long ) == false );
10893
10994// __is_enum and __is_scoped_enum
11095
11196enum ee {};
112-
113- static_assert (__is_enum(ee));
114-
11597enum class sc {};
11698
117- static_assert (__is_enum(sc));
99+ static_assert (__is_enum(ee) == true );
100+ static_assert (__is_enum(sc) == true );
118101
119- static_assert (__is_scoped_enum(sc));
102+ static_assert (__is_scoped_enum(sc) == true );
103+ static_assert (__is_scoped_enum(ee) == false );
120104
121105// __is_class and __is_union
122106
0 commit comments