#ifndef COMPILER_H
#define COMPILER_H

/*
** $PROJECT: compiler dependencies
**
** $VER: compiler.h 40.1 (19.08.97)
**
** by
**
** Stefan Ruppert , Windthorststrasse 5 , 65439 Floersheim , GERMANY
**
** (C) Copyright 1994-1997
** All Rights Reserved !
**
** $EMAIL: ruppert@amigaworld.com
**
** $HISTORY:
**
** 19.08.97 : 040.001 : added ALIGNED
** 04.08.97 : 001.003 : changed filename from register.h to compiler.h
** 01.01.97 : 001.002 : added INLINE macro
** 02.09.95 : 001.001 : bumped to version 1
** 31.03.94 : 000.001 : initial
*/

#ifdef INLINE
#undef INLINE
#endif

/* support for SAS C/C++ */

#ifdef __SASC
#define LibCall      __asm __saveds
#define ClassCall    __asm __saveds
#define RegCall      __asm
#define GetA4        __saveds
#define ALIGNED __aligned

#define REGA0        register __a0
#define REGA1        register __a1
#define REGA2        register __a2
#define REGA3        register __a3
#define REGA4        register __a4
#define REGA5        register __a5
#define REGA6        register __a6
#define REGA7        register __a7

#define REGD0        register __d0
#define REGD1        register __d1
#define REGD2        register __d2
#define REGD3        register __d3
#define REGD4        register __d4
#define REGD5        register __d5
#define REGD6        register __d6
#define REGD7        register __d7

#define GREG(x)

#define INLINE       __inline
#endif

/* support for GNU C/C++ */

#ifdef __GNUC__
#define LibCall
#define ClassCall
#define RegCall
#define GetA4
#define ALIGNED

#define REGA0
#define REGA1
#define REGA2
#define REGA3
#define REGA4
#define REGA5
#define REGA6
#define REGA7

#define REGD0
#define REGD1
#define REGD2
#define REGD3
#define REGD4
#define REGD5
#define REGD6
#define REGD7

/* from Gunther Nikl */
#define GREG(x) asm(#x)

#define INLINE    inline
#endif

#endif /* COMPILER_H */

