tmacpas1.pp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. program tmacpas1;
  2. {Tests of mac pascal constructs, concerning two units}
  3. {$MODE MACPAS}
  4. uses
  5. umacpas1;
  6. {** Test exportable macros **}
  7. {$IFC UNDEFINED UMACPAS_COMP_VAR }
  8. {$NOTE In using unit: UMACPAS_COMP_VAR is undefined}
  9. {$ERRORC UMACPAS_COMP_VAR should be defined}
  10. {$ELSEC}
  11. {$IFC UMACPAS_COMP_VAR }
  12. {$NOTE In using unit: UMACPAS_COMP_VAR is true}
  13. {$ELSEC}
  14. {$NOTE In using unit: UMACPAS_COMP_VAR is false}
  15. {$ERRORC UMACPAS_COMP_VAR should be true}
  16. {$ENDC}
  17. {$ENDC}
  18. {$IFC UNDEFINED UMACPAS_PRE_IMPL_COMP_VAR }
  19. {$ERRORC UMACPAS_PRE_IMPL_COMP_VAR is not defined}
  20. {$ENDC}
  21. {$IFC UNDEFINED UMACPAS_PRE_IMPL_COMP_VAR }
  22. {$ERRORC UMACPAS_PRE_IMPL_COMP_VAR is defined, while it shoud not}
  23. {$ENDC}
  24. {** Test Push/Pop **}
  25. {$J-}
  26. {$PUSH}
  27. {$PUSH}
  28. {$J+}
  29. {$POP}
  30. {$POP}
  31. {$IFC OPTION(J)}
  32. {$ERRORC $PUSH/$POP doesnt work properly}
  33. {$ENDC}
  34. {** Test J directive for var and external for proc **}
  35. {$J+}
  36. var
  37. nisse: Integer; {Is available in Umacpas}
  38. {$J-}
  39. function Get84: Integer;
  40. external;
  41. begin
  42. Writeln(nisse);
  43. Writeln(Get84);
  44. if nisse <> 42 then
  45. halt(1);
  46. if Get84 <> 84 then
  47. halt(1);
  48. end.