19862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -verify %s 29862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.orgstruct __attribute__((warn_unused)) Test { 39862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org Test(); 49862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org ~Test(); 59862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org void use(); 69862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org}; 79862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org 89862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.orgstruct TestNormal { 99862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org TestNormal(); 109862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org}; 119862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org 129862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.orgint main(void) { 139862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org Test unused; // expected-warning {{unused variable 'unused'}} 14df5ffdd8b73415b78055177148995bdbdf38b12ehbono@chromium.org Test used; 15df5ffdd8b73415b78055177148995bdbdf38b12ehbono@chromium.org TestNormal normal; 169862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org used.use(); 179862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org 189862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org int i __attribute__((warn_unused)) = 12; // expected-warning {{'warn_unused' attribute only applies to struct, union or class}} 199862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org return i; 209862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org} 219862697206250265c6bb37a4186b0a411c78de3bhbono@chromium.org