Also add test coverage for this case. Found by Richard Smith!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208484
91177308-0d34-0410-b5e6-
96231b3b80d8
///
/// This is used in various places for error recovery.
void freeParams() {
- if (Params) {
- delete Params->DefaultArgTokens;
- Params->DefaultArgTokens = nullptr;
+ for (unsigned I = 0; I < NumParams; ++I) {
+ delete Params[I].DefaultArgTokens;
+ Params[I].DefaultArgTokens = nullptr;
}
if (DeleteParams) {
delete[] Params;
void operator bool(int, ...) const; // expected-error{{conversion function cannot have a return type}} \
// expected-error{{conversion function cannot have any parameters}}
- operator bool(int a = 4) const; // expected-error{{conversion function cannot have any parameters}}
+ operator bool(int a = 4, int b = 6) const; // expected-error{{conversion function cannot have any parameters}}
operator float(...) const; // expected-error{{conversion function cannot be variadic}}