// The use of ellipsis agree...now check the argument types.
for (unsigned i = 0; i < lproto_nargs; i++)
- if (!typesAreCompatible(lproto->getArgType(i), rproto->getArgType(i)))
+ // C99 6.7.5.3p15: ...and each parameter declared with qualified type
+ // is taken as having the unqualified version of it's declared type.
+ if (!typesAreCompatible(lproto->getArgType(i).getUnqualifiedType(),
+ rproto->getArgType(i).getUnqualifiedType()))
return false;
return true;
}
void f(double a[restrict][5]); // should promote to restrict ptr.
void f(double (* restrict a)[5]);
+int foo (__const char *__path);
+int foo(__const char *__restrict __file);
+
void g(int (*)(const void **, const void **));
void g(int (*compar)()) {
}