Follow-up to r208481: Free all default arguments, not just the first one.

Also add test coverage for this case.  Found by Richard Smith!

llvm-svn: 208484
diff --git a/clang/test/SemaCXX/conversion-function.cpp b/clang/test/SemaCXX/conversion-function.cpp
index dcc0609..40ac33b 100644
--- a/clang/test/SemaCXX/conversion-function.cpp
+++ b/clang/test/SemaCXX/conversion-function.cpp
@@ -27,7 +27,7 @@
   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}}