PATCH: Diagnosing use of C++ default arguments outside of a function declaration

The attached patch diagnoses attempts to use C++ default arguments
outside of a parameter-declaration of a function declaration, e.g.,

  void foo(int (*p)(int x = 5)); // ill-formed: p's parameters are not
allowed to have default arguments

I believe that this wraps up support for default arguments until Clang
gets templates or member functions. Otherwise, this is a pretty boring
patch.

  - Doug

clang-defarg-nondecl.patch (6.85 KB)

Looks great to me, please apply!

-Chris