home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / System / XFD / Developer / Sources / C / SDI_compiler.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-09-16  |  2.0 KB  |  107 lines

  1. #ifndef SDI_COMPILER_H
  2. #define SDI_COMPILER_H
  3.  
  4. /* Includeheader
  5.  
  6.     Name:        SDI_compiler.h
  7.     Versionstring:    $VER: SDI_compiler.h 1.6 (19.05.2001)
  8.     Author:        SDI
  9.     Distribution:    PD
  10.     Description:    defines to hide compiler stuff
  11.  
  12.  1.1   25.06.98 : created from data made by Gunter Nikl
  13.  1.2   17.11.99 : added VBCC
  14.  1.3   29.02.00 : fixed VBCC REG define
  15.  1.4   30.03.00 : fixed SAVEDS for VBCC
  16.  1.5   29.07.00 : added #undef statements (needed e.g. for AmiTCP together with vbcc)
  17.  1.6   19.05.01 : added STACKEXT and Dice stuff
  18. */
  19.  
  20. #ifdef ASM
  21. #undef ASM
  22. #endif
  23. #ifdef REG
  24. #undef REG
  25. #endif
  26. #ifdef LREG
  27. #undef LREG
  28. #endif
  29. #ifdef CONST
  30. #undef CONST
  31. #endif
  32. #ifdef SAVEDS
  33. #undef SAVEDS
  34. #endif
  35. #ifdef INLINE
  36. #undef INLINE
  37. #endif
  38. #ifdef REGARGS
  39. #undef REGARGS
  40. #endif
  41. #ifdef STDARGS
  42. #undef STDARGS
  43. #endif
  44.  
  45. /* first "exceptions" */
  46.  
  47. #if defined(__MAXON__)
  48.   #define STDARGS
  49.   #define STACKEXT
  50.   #define REGARGS
  51.   #define SAVEDS
  52.   #define INLINE inline
  53. #elif defined(__VBCC__)
  54.   #define STDARGS
  55.   #define STACKEXT
  56.   #define REGARGS
  57.   #define INLINE
  58.   #define REG(reg,arg) __reg(#reg) arg
  59. #elif defined(__STORM__)
  60.   #define STDARGS
  61.   #define STACKEXT
  62.   #define REGARGS
  63.   #define INLINE inline
  64. #elif defined(__SASC)
  65.   #define ASM(arg) arg __asm
  66. #elif defined(__GNUC__)
  67.   #define REG(reg,arg) arg __asm(#reg)
  68.   #define LREG(reg,arg) register REG(reg,arg)
  69. #elif defined(_DCC)
  70.   #define REG(reg,arg) __ ## reg arg
  71.   #define STACKEXT __stkcheck
  72.   #define STDARGS __stkargs
  73.   #define INLINE static
  74. #endif
  75.  
  76. /* then "common" ones */
  77.  
  78. #if !defined(ASM)
  79.   #define ASM(arg) arg
  80. #endif
  81. #if !defined(REG)
  82.   #define REG(reg,arg) register __##reg arg
  83. #endif
  84. #if !defined(LREG)
  85.   #define LREG(reg,arg) register arg
  86. #endif
  87. #if !defined(CONST)
  88.   #define CONST const
  89. #endif
  90. #if !defined(SAVEDS)
  91.   #define SAVEDS __saveds
  92. #endif
  93. #if !defined(INLINE)
  94.   #define INLINE static __inline
  95. #endif
  96. #if !defined(REGARGS)
  97.   #define REGARGS __regargs
  98. #endif
  99. #if !defined(STDARGS)
  100.   #define STDARGS __stdargs
  101. #endif
  102. #if !defined(STACKEXT)
  103.   #define STACKEXT __stackext
  104. #endif
  105.  
  106. #endif /* SDI_COMPILER_H */
  107.