1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -Wunused-label -verify %s 2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesstatic int unused_local_static; 4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesnamespace PR8455 { 6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines void f() { 7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines A: // expected-warning {{unused label 'A'}} 8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines __attribute__((unused)) int i; // attribute applies to variable 9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines B: // attribute applies to label 10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines __attribute__((unused)); int j; // expected-warning {{unused variable 'j'}} 11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines } 12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines void g() { 14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines C: // unused label 'C' will not appear here because an error has occurred 15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines __attribute__((unused)) 16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines #pragma weak unused_local_static // expected-error {{expected ';' after __attribute__}} 17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines ; 18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines } 19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines void h() { 21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines D: // expected-warning {{unused label 'D'}} 22651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines #pragma weak unused_local_static 23651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines __attribute__((unused)) // expected-warning {{declaration does not declare anything}} 24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines ; 25651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines } 26651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 27