diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-05-08 23:05:03 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-05-08 23:05:03 +0000 |
commit | 14f232ea2062aa9ec9c3279c092dee4649be81cb (patch) | |
tree | fd15f545a27c87026fab231c0b3419ce47186d6d /clang/test/SemaTemplate/unused-variables.cpp | |
parent | 0bbe94d6df9c9d882cf8900881292166085add92 (diff) | |
download | bcm5719-llvm-14f232ea2062aa9ec9c3279c092dee4649be81cb.tar.gz bcm5719-llvm-14f232ea2062aa9ec9c3279c092dee4649be81cb.zip |
Improve our handling of the -Wunused-variable warning in templates. In
particular, don't complain about unused variables that have dependent
type until instantiation time, so that we can look at the type of the
variable. Moreover, only complain about unused variables that have
neither a user-declared constructor nor a non-trivial destructor.
llvm-svn: 103362
Diffstat (limited to 'clang/test/SemaTemplate/unused-variables.cpp')
-rw-r--r-- | clang/test/SemaTemplate/unused-variables.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/unused-variables.cpp b/clang/test/SemaTemplate/unused-variables.cpp new file mode 100644 index 00000000000..1b9350b865d --- /dev/null +++ b/clang/test/SemaTemplate/unused-variables.cpp @@ -0,0 +1,21 @@ +// RUN: %clang_cc1 -fsyntax-only -Wunused -verify %s + +struct X0 { + ~X0(); +}; + +struct X1 { }; + +template<typename T> +void f() { + X0 x0; + X1 x1; // expected-warning{{unused variable 'x1'}} +} + +template<typename T, typename U> +void g() { + T t; + U u; // expected-warning{{unused variable 'u'}} +} + +template void g<X0, X1>(); // expected-note{{in instantiation of}} |