how to determine a parameter has a type declarator in clang

I use clang to do some code analyse. And now i have a function below

void func(p)

some compilers will process p as an integer. And i want to know how to determine whether p has a type declarator ?

Have a look at ArgInfo member of FunctionTypeInfo, the comment for ParamInfo structure has the relevant part:

/// ParamInfo - An array of paraminfo objects is allocated whenever a function
/// declarator is parsed. There are two interesting styles of arguments here:
/// K&R-style identifier lists and parameter type lists. K&R-style identifier
/// lists will have information about the identifier, but no type information.
/// Parameter type lists will have type info (if the actions module provides
/// it), but may have null identifier info: e.g. for ‘void foo(int X, int)’.