summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaTemplate/unused-variables.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-05-08 23:05:03 +0000
committerDouglas Gregor <dgregor@apple.com>2010-05-08 23:05:03 +0000
commit14f232ea2062aa9ec9c3279c092dee4649be81cb (patch)
treefd15f545a27c87026fab231c0b3419ce47186d6d /clang/test/SemaTemplate/unused-variables.cpp
parent0bbe94d6df9c9d882cf8900881292166085add92 (diff)
downloadbcm5719-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.cpp21
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}}
OpenPOWER on IntegriCloud