2010-01-01 05:34:51 -05:00
|
|
|
// RUN: %clang_cc1 -fsyntax-only -verify -Wmissing-prototypes %s
|
2009-12-15 13:49:47 -05:00
|
|
|
|
|
|
|
|
void f() { } // expected-warning {{no previous prototype for function 'f'}}
|
|
|
|
|
|
|
|
|
|
namespace NS {
|
|
|
|
|
void f() { } // expected-warning {{no previous prototype for function 'f'}}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
namespace {
|
|
|
|
|
// Don't warn about functions in anonymous namespaces.
|
|
|
|
|
void f() { }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct A {
|
|
|
|
|
// Don't warn about member functions.
|
|
|
|
|
void f() { }
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Don't warn about inline functions.
|
|
|
|
|
inline void g() { }
|
|
|
|
|
|
|
|
|
|
// Don't warn about function templates.
|
|
|
|
|
template<typename> void h() { }
|
|
|
|
|
|
|
|
|
|
// Don't warn when instantiating function templates.
|
|
|
|
|
template void h<int>();
|