// RUN: %clang_cc1 -fsyntax-only -verify -Wall %s namespace test1 { static int abc = 42; // expected-warning {{variable 'abc' is not needed and will not be emitted}} template <typename T> int foo(void) { return abc; } } namespace test2 { struct bah { }; namespace { struct foo : bah { static char bar; virtual void zed(); }; void foo::zed() { bar++; } char foo::bar=0; } bah *getfoo() { return new foo(); } }