| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // Test this without pch.
- // RUN: %clang_cc1 %s -include %s -verify -fsyntax-only -Wuninitialized
- // Test with pch.
- // RUN: %clang_cc1 %s -emit-pch -o %t
- // RUN: %clang_cc1 %s -include-pch %t -verify -fsyntax-only -Wuninitialized
- #ifndef HEADER
- #define HEADER
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wuninitialized"
- template <typename T>
- struct TS1 {
- void m() {
- T a;
- T b = a;
- }
- };
- #pragma clang diagnostic pop
- #else
- template <typename T>
- struct TS2 {
- void m() {
- T a;
- T b = a; // expected-warning {{variable 'a' is uninitialized}} \
- expected-note@41 {{in instantiation of member function}} \
- expected-note@28 {{initialize the variable 'a' to silence}}
- }
- };
- void f() {
- TS1<int> ts1;
- ts1.m();
- TS2<int> ts2;
- ts2.m();
- }
- #endif
|