![]() |
Helixis 1.0
Task Programming API
|
00001 /* 00002 ** Copyright 2009-2011, helixis.org 00003 ** All rights reserved. 00004 ** 00005 ** Redistribution and use in source and binary forms, with or without modification, are permitted provided 00006 ** that the following conditions are met: 00007 ** 00008 ** Redistributions of source code must retain the above copyright notice, this list of conditions and the 00009 ** following disclaimer. 00010 ** 00011 ** Redistributions in binary form must reproduce the above copyright notice, this list of conditions and 00012 ** the following disclaimer in the documentation and/or other materials provided with the distribution. 00013 ** 00014 ** Neither the name of the helixis.org nor the names of its contributors may be used to endorse or promote 00015 ** products derived from this software without specific prior written permission. 00016 ** 00017 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED 00018 ** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 00019 ** PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 00020 ** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 00021 ** TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00022 ** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00023 ** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00024 ** POSSIBILITY OF SUCH DAMAGE. 00025 */ 00026 00027 #ifndef __HLX_COMPILERS_H__ 00028 # define __HLX_COMPILERS_H__ 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 /* 00035 ** MACROS 00036 */ 00037 00038 #if defined __COMO__ 00039 #define COMPILER_COMO /* Comeau C++ */ 00040 #elif defined __DMC__ 00041 #define COMPILER_DMC /* Digital Mars C++ */ 00042 #elif defined(__INTEL_COMPILER) || defined(__ICL) || \ 00043 defined(__ICC) || defined(__ECC) 00044 #define COMPILER_INTEL /* Intel */ 00045 #elif defined __GNUC__ 00046 #define COMPILER_GNUC /* GNU C/C++ */ 00047 #elif defined __KCC 00048 #define COMPILER_KCC /* Kai C++ */ 00049 #elif defined __sgi 00050 #define COMPILER_SGI /* SGI MIPSpro C++ */ 00051 #elif defined __DECCXX 00052 #define COMPILER_COMPAQ /* Compaq Tru64 Unix cxx */ 00053 #elif defined(__ghs) 00054 #define COMPILER_GHS /* Greenhills C++ */ 00055 #elif defined (__BCPLUSPLUS__) 00056 #define COMPILER_BCPLUSPLUS /* BC++ */ 00057 #elif defined(__BORLANDC__) 00058 #define COMPILER_BORLAND /* Borland */ 00059 #elif defined(__MWERKS__) 00060 #define COMPILER_MWERKS /* Metrowerks CodeWarrior */ 00061 #elif defined(__SUNPRO_CC) 00062 #define COMPILER_SUNPRO /* Sun Workshop Compiler C++ */ 00063 #elif defined(__HP_aCC) 00064 #define COMPILER_HPACC /* HP aCC */ 00065 #elif defined(__MRC__) || defined(__SC__) 00066 #define COMPILER_MPW /* MPW MrCpp or SCpp */ 00067 #elif defined(__IBMCPP__) 00068 #define COMPILER_IBMCPP /* IBM Visual Age */ 00069 #elif defined(_MSC_VER) 00070 #define COMPILER_MSC /* Microsoft Visual C++ */ 00071 #if _MSC_VER < 1200 00072 #define COMPILER_MSC_5_0 00073 #elif _MSC_VER < 1300 00074 #define COMPILER_MSC_6_0 00075 #elif _MSC_VER == 1300 00076 #define COMPILER_MSC_7_0 00077 #elif _MSC_VER == 1310 00078 #define COMPILER_MSC_7_1 00079 #elif _MSC_VER == 1400 00080 #define COMPILER_MSC_8_0 00081 #endif 00082 #else 00083 #warning "Unknown compiler. - please configure and report the results" 00084 #endif 00085 00086 /* Ignore empty source files */ 00087 #if defined(COMPILER_MSC) 00088 # pragma warning(disable: 4206) 00089 #endif 00090 00091 /* INLINE */ 00092 00093 #if defined(COMPILER_MSC) 00094 # define INLINE extern __forceinline 00095 #else 00096 # define INLINE inline 00097 #endif 00098 00099 /* ALIGN */ 00100 00101 #if defined(COMPILER_MSC) 00102 # define ALIGN(alignment) __declspec( align(alignment) ) 00103 #elif !defined(PLATFORM_NDS) /* Already defined in NDS */ 00104 # define ALIGN(alignment) __attribute__( (aligned(alignment)) ) 00105 #endif 00106 00107 #ifdef __cplusplus 00108 } 00109 #endif 00110 00111 #endif /* !__HLX_COMPILERS_H__ */ 00112 00113 /* 00114 ** END OF FILE 00115 */