C = PrintTypeComp (F, C, T_QUAL_NEAR, "__near__");
C = PrintTypeComp (F, C, T_QUAL_FAR, "__far__");
C = PrintTypeComp (F, C, T_QUAL_FASTCALL, "__fastcall__");
+ C = PrintTypeComp (F, C, T_QUAL_CDECL, "__cdecl__");
/* Signedness. Omit the signedness specifier for long and int */
if ((C & T_MASK_TYPE) != T_TYPE_INT && (C & T_MASK_TYPE) != T_TYPE_LONG) {
if (IsQualFastcall (T)) {
fprintf (F, " __fastcall__");
}
+ if (IsQualCDecl (T)) {
+ fprintf (F, " __cdecl__");
+ }
fprintf (F, " %s (", Name);
/* Parameters */
-Type* ArrayToPtr (const Type* T)
+Type* ArrayToPtr (Type* T)
/* Convert an array to a pointer to it's first element */
{
- /* Function must only be called for an array */
- CHECK (IsTypeArray (T));
-
/* Return pointer to first element */
- return PointerTo (T + 1);
+ return PointerTo (GetElementType (T));
}
* return T.
*/
{
- if (IsTypeFunc (T) || IsTypeArray (T)) {
+ if (IsTypeFunc (T)) {
return PointerTo (T);
+ } else if (IsTypeArray (T)) {
+ return ArrayToPtr (T);
} else {
return T;
}