1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -Wunused-variable -verify %s 2*67e74705SXin Li struct __attribute__((warn_unused)) Test { 3*67e74705SXin Li Test(); 4*67e74705SXin Li ~Test(); 5*67e74705SXin Li void use(); 6*67e74705SXin Li }; 7*67e74705SXin Li 8*67e74705SXin Li struct TestNormal { 9*67e74705SXin Li TestNormal(); 10*67e74705SXin Li }; 11*67e74705SXin Li main(void)12*67e74705SXin Liint main(void) { 13*67e74705SXin Li Test unused; // expected-warning {{unused variable 'unused'}} 14*67e74705SXin Li Test used; 15*67e74705SXin Li TestNormal normal; 16*67e74705SXin Li used.use(); 17*67e74705SXin Li 18*67e74705SXin Li int i __attribute__((warn_unused)) = 12; // expected-warning {{'warn_unused' attribute only applies to struct, union or class}} 19*67e74705SXin Li return i; 20*67e74705SXin Li } 21