llvm-project/clang/test/SemaCXX/warn-unused-variables.cpp

68 lines
1.1 KiB
C++
Raw Normal View History

// RUN: %clang_cc1 -fsyntax-only -Wunused-variable -verify %s
template<typename T> void f() {
T t;
t = 17;
}
2009-11-07 16:24:59 +08:00
// PR5407
struct A { A(); };
struct B { ~B(); };
void f() {
A a;
B b;
2009-11-07 16:24:59 +08:00
}
2009-11-18 01:11:23 +08:00
// PR5531
namespace PR5531 {
struct A {
};
struct B {
B(int);
};
struct C {
~C();
};
void test() {
A();
2009-11-18 01:11:23 +08:00
B(17);
C();
}
}
struct X {
int foo() __attribute__((warn_unused_result));
};
void bah() {
X x, *x2;
x.foo(); // expected-warning {{ignoring return value of function declared with warn_unused_result attribute}}
x2->foo(); // expected-warning {{ignoring return value of function declared with warn_unused_result attribute}}
}
template<typename T>
struct X0 { };
template<typename T>
void test_dependent_init(T *p) {
X0<int> i(p);
(void)i;
}
namespace PR6948 {
template<typename T> class X;
void f() {
X<char> str (read_from_file()); // expected-error{{use of undeclared identifier 'read_from_file'}}
}
}
void unused_local_static() {
static int x = 0;
static int y = 0; // expected-warning{{unused variable 'y'}}
#pragma unused(x)
}