e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/**
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Compiler-related definitions, etc.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifndef CR_COMPILER_H
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#define CR_COMPILER_H 1
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/**
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Function inlining
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#if defined(__GNUC__)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# define INLINE __inline__
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#elif defined(__MSC__)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# define INLINE __inline
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#elif defined(_MSC_VER)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# define INLINE __inline
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#elif defined(__ICL)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# define INLINE __inline
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#else
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync# define INLINE
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/**
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * For global vars in shared libs
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#include <iprt/cdefs.h>
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifndef DLLDATA
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#define DLLDATA(type) DECLIMPORT(type)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync/**
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * For functions called via the public API.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * XXX CR_APIENTRY could probably replace all the other *_APIENTRY defines.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync */
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#ifdef WINDOWS
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#define CR_APIENTRY __stdcall
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#else
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#define CR_APIENTRY
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync#endif /* CR_COMPILER_H */