/* */
/* */
/* */
-/* (C) 1998-2003 Ullrich von Bassewitz */
-/* Römerstrasse 52 */
+/* (C) 1998-2004 Ullrich von Bassewitz */
+/* Römerstraße 52 */
/* D-70794 Filderstadt */
-/* EMail: uz@musoftware.de */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
int SignExtendChar (int C)
/* Do correct sign extension of a character */
{
- if (SignedChars && (C & 0x80) != 0) {
+ if (IS_Get (&SignedChars) && (C & 0x80) != 0) {
return C | ~0xFF;
} else {
return C & 0xFF;
type GetDefaultChar (void)
/* Return the default char type (signed/unsigned) depending on the settings */
{
- return SignedChars? T_SCHAR : T_UCHAR;
+ return IS_Get (&SignedChars)? T_SCHAR : T_UCHAR;
}
/* Print a comment with the function signature */
PrintType (F, GetFuncReturn (Type));
+ if (D->Flags & FD_NEAR) {
+ fprintf (F, " __near__");
+ }
+ if (D->Flags & FD_FAR) {
+ fprintf (F, " __far__");
+ }
if (D->Flags & FD_FASTCALL) {
fprintf (F, " __fastcall__");
}
case T_ULONG:
return CF_LONG | CF_UNSIGNED;
+ case T_FLOAT:
+ case T_DOUBLE:
+ /* These two are identical in the backend */
+ return CF_FLOAT;
+
case T_FUNC:
F = DecodePtr (T+1);
return (F->Flags & FD_VARIADIC)? 0 : CF_FIXARGC;