/** * @file % !FILENAME % * * @section desc File description * * Compiler abstraction for all AUTOSAR Modules * Compiler abstraction for GreenHills C compiler * * @section copyright Copyright * * Trampoline OS * * Trampoline is copyright (c) IRCCyN 2005-2007 * Trampoline is protected by the French intellectual property law. * * This software is distributed under the Lesser GNU Public Licence * * @section infos File informations * * $Date$ * $Rev$ * $Author$ * $URL$ */ #ifndef COMPILER_H #define COMPILER_H /******************************************************************************/ /* INCLUSIONS */ /******************************************************************************/ #include "Compiler_Cfg.h" /******************************************************************************/ /* DEFINITION OF MACROS */ /******************************************************************************/ #define AUTOMATIC #define TYPEDEF #define STATIC static #define _STATIC_ static #define NULL_PTR ((void *)0) #define INLINE inline #define ROM_MEM const #define _INTERRUPT_ __interrupt #define FUNC(rettype, memclass) rettype memclass #define FUNC_P2CONST(rettype, ptrclass, memclass) const ptrclass rettype * memclass #define FUNC_P2VAR(rettype, ptrclass, memclass) ptrclass rettype * memclass #define P2VAR(ptrtype, memclass, ptrclass) ptrclass ptrtype * memclass #define P2CONST(ptrtype, memclass, ptrclass) const ptrtype ptrclass * memclass #define CONSTP2VAR(ptrtype, memclass, ptrclass) ptrtype ptrclass * const memclass #define CONSTP2CONST(ptrtype, memclass, ptrclass) const ptrtype ptrclass * const memclass #define P2FUNC(rettype, ptrclass, fctname) ptrclass rettype (* fctname) #define CONST(consttype, memclass) memclass const consttype #define VAR(vartype, memclass) memclass vartype #define CONSTP2FUNC(rettype, ptrclass, fctname) ptrclass rettype (*const fctname) #define EXIT_INTERRUPT() /*****************************************************************************/ /* PUBLISHED INFORMATION */ /*****************************************************************************/ #if 0 /* TODO */ #define COMPILER_VENDOR_ID #define COMPILER_AR_MAJOR_VERSION #define COMPILER_AR_MINOR_VERSION #define COMPILER_AR_PATCH_VERSION #define COMPILER_SW_MAJOR_VERSION #define COMPILER_SW_MINOR_VERSION #define COMPILER_SW_PATCH_VERSION #endif #endif /* COMPILER_H */