Clang Project

clang_source_code/test/Sema/attr-uninitialized.c
1// RUN: %clang_cc1 %s -verify -fsyntax-only
2
3void good() {
4  int dont_initialize_me __attribute((uninitialized));
5}
6
7void bad() {
8  int im_bad __attribute((uninitialized("zero")));  // expected-error {{'uninitialized' attribute takes no arguments}}
9  static int im_baaad __attribute((uninitialized)); // expected-warning {{'uninitialized' attribute only applies to local variables}}
10}
11
12extern int come_on __attribute((uninitialized));                    // expected-warning {{'uninitialized' attribute only applies to local variables}}
13int you_know __attribute((uninitialized));                          // expected-warning {{'uninitialized' attribute only applies to local variables}}
14static int and_the_whole_world_has_to __attribute((uninitialized)); // expected-warning {{'uninitialized' attribute only applies to local variables}}
15
16void answer_right_now() __attribute((uninitialized)) {}                        // expected-warning {{'uninitialized' attribute only applies to local variables}}
17void just_to_tell_you_once_again(__attribute((uninitialized)) int whos_bad) {} // expected-warning {{'uninitialized' attribute only applies to local variables}}
18
19struct TheWordIsOut {
20  __attribute((uninitialized)) int youre_doin_wrong; // expected-warning {{'uninitialized' attribute only applies to local variables}}
21} __attribute((uninitialized));                      // expected-warning {{'uninitialized' attribute only applies to local variables}}
22