Catch fastcall pointers to variadic functions.

This commit is contained in:
Greg King
2015-03-13 12:18:43 -04:00
parent 38231a5cc6
commit b452bdc5e4

View File

@@ -352,10 +352,14 @@ static void FixQualifiers (Type* DataType)
} else { } else {
Error ("Mismatch between pointer's and function's calling conventions"); Error ("Mismatch between pointer's and function's calling conventions");
} }
} else {
if (Q == T_QUAL_FASTCALL && IsVariadicFunc (T + 1)) {
Error ("Variadic-function pointers cannot be `__fastcall__'");
} else { } else {
/* Move the qualifier from the pointer to the function. */ /* Move the qualifier from the pointer to the function. */
T[1].C |= Q; T[1].C |= Q;
} }
}
} else { } else {
Error ("Not pointer to a function; can't use a calling convention"); Error ("Not pointer to a function; can't use a calling convention");
} }