// 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 | |
}; | |
} | |
} |