home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / varia / memory-device / source / compiler.h next >
C/C++ Source or Header  |  1977-12-31  |  2KB  |  41 lines

  1. #ifndef __COMPILER_H
  2. #define __COMPILER_H
  3. /*
  4. ** $VER: compiler.h 1.2 (03 Oct 1995)
  5. **
  6. ** Compiler abstraction
  7. **
  8. ** (C) Copyright 1995 Marius Gröger
  9. **     All Rights Reserved.
  10. */
  11.  
  12. #ifdef __SASC
  13. /* Implementation notes:
  14. **
  15. ** SAS/C complains if a module contains only "static" and "extern" functions
  16. ** that there would be no exported symbol. Therefore, the PUBLIC macro
  17. ** is defined empty for SAS/C but should be "extern" if possible (for
  18. ** instance with GNU CC).
  19. */
  20. #  define ASM     __asm              /* define registers for function args */
  21. #  define REG(x)  register __ ## x   /* specify a register in arglist */
  22. #  define INLINE  __inline           /* inline this function */
  23. #  define STDARGS __stdargs          /* pass args to this function on stack */
  24. #  define REGARGS __regargs          /* pass args to this function in regs */
  25. #  define SAVEDS  __saveds           /* setup data segment reg. on entry */
  26. #  define FAR     __far              /* reference this object in far mode */
  27. #  define MIN     __builtin_min      /* min{} function */
  28. #  define MAX     __builtin_max      /* max{} function */
  29. #  define PUTREG __builtin_putreg    /* set a register to a certain value */
  30. #  define REG_D0 0                   /* reg. number for PUTREG() */
  31. #  define REG_D1 1                   /* reg. number for PUTREG() */
  32. extern void PUTREG(int, long);       /* prototype */
  33. #  define PUBLIC                     /* define a globally visible function */
  34. #  define PRIVATE static             /* define a locally visible function */
  35. #else
  36. #  error Please define the above macros for your compiler
  37. #endif
  38.  
  39. #endif
  40.  
  41.