a question regarding clang::Type::isFunctionPointerType()

i have these four function pointer types:
  int ** (*pfunc1)();
  int ** (**pfunc2)();
  int ** (***pfunc3)();
  int *** (**pfunc4)();
when i use isFunctionPointerType() on them, only the first declaration
is recognized as a function pointer.
I'm using C90 and the clang::Type is from a QualType acquired from
QualType::getCanonicalType(). i get the same behavior from a
clang::Type that was acquired from a VarDecl::getType().
Obviouly my getting the wrong QualType and/or clang::Type. which one
should i e getting so that all four of these declarations are
recognized as function pointers?

Well, only the first is a pointer to a function, the others are pointers to pointers to functions. I guess you probably would want to drill down through the type, using PointerType::getPointeeType() until you reach the function pointer, then check to see if that is a pointer to a function.
- Erik

ok, thank you very much.