Fix bug in check for varying parameters in exported functions.

In particular, we weren't checking to see if the pointed-to type of
pointer parameters was varying.

Fixes issue #191.
This commit is contained in:
Matt Pharr
2012-03-21 10:06:53 -07:00
parent 349ab0b9c5
commit 6a7dd2787a

View File

@@ -356,8 +356,11 @@ lRecursiveCheckValidParamType(const Type *t) {
return lRecursiveCheckValidParamType(seqt->GetElementType());
const PointerType *pt = dynamic_cast<const PointerType *>(t);
if (pt != NULL)
return (pt->IsSlice() || pt->IsVaryingType());
if (pt != NULL) {
if (pt->IsSlice() || pt->IsVaryingType())
return true;
return lRecursiveCheckValidParamType(pt->GetBaseType());
}
return t->IsVaryingType();
}