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

@@ -353,8 +353,12 @@ static void FixQualifiers (Type* DataType)
Error ("Mismatch between pointer's and function's calling conventions"); Error ("Mismatch between pointer's and function's calling conventions");
} }
} else { } else {
/* Move the qualifier from the pointer to the function. */ if (Q == T_QUAL_FASTCALL && IsVariadicFunc (T + 1)) {
T[1].C |= Q; Error ("Variadic-function pointers cannot be `__fastcall__'");
} else {
/* Move the qualifier from the pointer to the function. */
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");