// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics namespace PR6382 { int foo() { goto error; { struct BitPacker { BitPacker() {} }; BitPacker packer; } error: return -1; } } namespace PR6383 { void test (bool gross) { struct compare_and_set { void operator() (const bool inner, const bool gross = false) { // the code } } compare_and_set2; compare_and_set2 (false, gross); } } namespace Templates { template<int Value> void f() { struct Inner { static int getValue() { return Value; } }; } } namespace PR25627_dont_odr_use_local_consts { template<int> struct X { X(); X(int); }; void foo() { const int N = 10; struct Local { void f(X<N> = X<N>()) {} // OK }; } }