Frank Heckenbach wrote:
Adriaan van Os wrote:
Frank Heckenbach wrote:
I'm applying most of your patch now, considering Waldek's previous comments.
Thanks. Would you object if I make --longjmp-all-nonlocal-labels a general compiler default in the distribution for Mac OS X ?
I wouldn't object (as long as the backend problem persists). Of course, you should point out this change in the accompanying documentation and distribute the "source" (i.e., a one liner patch, though you might want to add appropriate system conditionals, so it won't change anything if someone uses it on a system that doesn't need the workaround).
Yes, of course.
The following changes (predef.h) add new built-in identifiers:
+PREDEF_TYPE (UnsignedWord,short_unsigned_type_node, MAC_PASCAL) +PREDEF_TYPE (UnsignedLong,pascal_cardinal_type_node, MAC_PASCAL)
Actually a problem. In MW Pascal UnsignedWord has the same size as Integer (16-bit) and UnsignedLong has the same size as LongInt (32-bit). So, either size-compatibility with the same types in MW Pascal has to be dropped or size-compatibilty their unsigned equivalents in GPC. Any opinions ?
For BP, there is the `System' unit which, if compiled with `-D__BP_TYPE_SIZES__' redefines types to their exact BP/Dos sizes. You could use a similar approach, or even add to this unit (which will make Integer 16 bit and LongInt 32 bit as well already).
Ah, thanks for the hint, I will have a look.
PREDEF_ROUTINE (ReadStr, "-x,|", 0, E_O_PASCAL) +PREDEF_ALIAS (ReadString, ReadStr, "-x,|", 0, MAC_PASCAL)
(Just so be sure: MP has both `Flush' and `PLFlush' which are equivalent, same for `FilePos' and `PLFilePos';
See the above comment and Chapter 7 of the MW Pascal Library Ref.
I don't have that reference handy, so I guess I should take that as a yes?
Yes.
Regards,
Adriaan van Os