Add the ability to display the detected compiler

This commit is contained in:
inmarket 2016-12-06 12:15:13 +10:00
parent 76671249d6
commit 4b61ae71fe
2 changed files with 216 additions and 0 deletions

View File

@ -46,6 +46,7 @@
// Options that (should where relevant) apply to all operating systems
// #define GFX_NO_INLINE FALSE
// #define GFX_COMPILER GFX_COMPILER_UNKNOWN
// #define GFX_SHOW_COMPILER FALSE
// #define GFX_CPU GFX_CPU_UNKNOWN
// #define GFX_CPU_NO_ALIGNMENT_FAULTS FALSE
// #define GFX_CPU_ENDIAN GFX_CPU_ENDIAN_UNKNOWN

View File

@ -38,6 +38,13 @@
#define GFXINLINE
#endif
/**
* @brief Show which compiler we detected as a compiler warning message
*/
#ifndef GFX_SHOW_COMPILER
#define GFX_SHOW_COMPILER FALSE
#endif
/**
* @brief Enable compiler specific code
* @details Auto detected by default but it can be overridden in gfxconf.h
@ -285,8 +292,14 @@
#undef GFX_COMPILER_VERSION_PATCH
#undef GFX_COMPILER_VERSION_BUILD
#if GFX_COMPILER == GFX_COMPILER_ACC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: ACC"
#endif
#define GFX_COMPILER_NAME "ACC"
#elif GFX_COMPILER == GFX_COMPILER_ALTIUM
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: ALTIUM"
#endif
#define GFX_COMPILER_NAME "Altium MicroBlaze C"
#ifdef __BUILD__
#define GFX_COMPILER_VERSION_MAJOR ((__BUILD__)/1000000)
@ -298,6 +311,9 @@
#define GFX_COMPILER_VERSION_PATCH (__REVISION__)
#endif
#elif GFX_COMPILER == GFX_COMPILER_ALTIUMHW
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: ALTIUMHW"
#endif
#define GFX_COMPILER_NAME "Altium C-to-Hardware"
#ifdef __BUILD__
#define GFX_COMPILER_VERSION_MAJOR ((__BUILD__)/1000000)
@ -309,8 +325,14 @@
#define GFX_COMPILER_VERSION_PATCH (__REVISION__)
#endif
#elif GFX_COMPILER == GFX_COMPILER_AMSTERDAM
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: AMSTERDAM"
#endif
#define GFX_COMPILER_NAME "Amsterdam Compiler Kit"
#elif GFX_COMPILER == GFX_COMPILER_ARMCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: ARMCC"
#endif
#define GFX_COMPILER_NAME "ARMCC"
#define GFX_COMPILER_VERSION_MAJOR ((__ARMCC_VERSION)/100000)
#define GFX_COMPILER_VERSION_MINOR (((__ARMCC_VERSION)/10000)%10)
@ -318,19 +340,31 @@
#define GFX_COMPILER_VERSION_BUILD ((__ARMCC_VERSION)%1000)
#define __LITTLE_IF_NOT_BIG__ // Oops - Defines __BIG_ENDIAN but not __LITTLE_ENDIAN
#elif GFX_COMPILER == GFX_COMPILER_AZTEC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: AZTEC"
#endif
#define GFX_COMPILER_NAME "Aztec"
#define GFX_COMPILER_VERSION_MAJOR ((__VERSION)/100)
#define GFX_COMPILER_VERSION_MINOR ((__VERSION)%100)
#elif GFX_COMPILER == GFX_COMPILER_BORLAND
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: BORLAND"
#endif
#define GFX_COMPILER_NAME "Borland C++"
#define GFX_COMPILER_VERSION_MAJOR ((__BORLANDC__)/0x100)
#define GFX_COMPILER_VERSION_MINOR (((((__BORLANDC__)%0x100)/0x10)*10) + ((__BORLANDC__)%0x10))
#elif GFX_COMPILER == GFX_COMPILER_CC65
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: CC65"
#endif
#define GFX_COMPILER_NAME "CC65"
#define GFX_COMPILER_VERSION_MAJOR ((__CC65__)/0x100)
#define GFX_COMPILER_VERSION_MINOR (((__CC65__)/0x10)%0x10)
#define GFX_COMPILER_VERSION_PATCH ((__CC65__)%0x10)
#elif GFX_COMPILER == GFX_COMPILER_CLANG
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: CLANG"
#endif
#define GFX_COMPILER_NAME "CLang (LLVM)"
#define GFX_COMPILER_TESTED TRUE
#define GFX_COMPILER_VERSION_MAJOR (__clang_major__)
@ -338,23 +372,41 @@
#define GFX_COMPILER_VERSION_PATCH (__clang_patchlevel__)
#define DEPRECATED(msg) __attribute__((deprecated(msg)))
#elif GFX_COMPILER == GFX_COMPILER_COMEAU
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: COMEAU"
#endif
#define GFX_COMPILER_NAME "Comeau C++"
#define GFX_COMPILER_VERSION_MAJOR ((__COMO_VERSION__)/100)
#define GFX_COMPILER_VERSION_MINOR ((__COMO_VERSION__)%100)
#elif GFX_COMPILER == GFX_COMPILER_COMPAQ
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: COMPAQ"
#endif
#define GFX_COMPILER_NAME "Compaq C"
#define GFX_COMPILER_VERSION_MAJOR ((__DECC_VER)/10000000)
#define GFX_COMPILER_VERSION_MINOR (((__DECC_VER)/100000)%100)
#define GFX_COMPILER_VERSION_PATCH ((__DECC_VER)%10000)
#elif GFX_COMPILER == GFX_COMPILER_COMPCERT
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: COMPCERT"
#endif
#define GFX_COMPILER_NAME "Compcert"
#elif GFX_COMPILER == GFX_COMPILER_CONVEX
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: CONVEX"
#endif
#define GFX_COMPILER_NAME "Convex C"
#elif GFX_COMPILER == GFX_COMPILER_CRAY
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: CRAY"
#endif
#define GFX_COMPILER_NAME "Cray C/C++"
#define GFX_COMPILER_VERSION_MAJOR (_RELEASE)
#define GFX_COMPILER_VERSION_MINOR (_RELEASE_MINOR)
#elif GFX_COMPILER == GFX_COMPILER_CYGWIN
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: CYGWIN"
#endif
#define GFX_COMPILER_NAME "Cygwin"
#define GFX_COMPILER_TESTED TRUE
#define GFX_COMPILER_VERSION_MAJOR (__GNUC__)
@ -364,20 +416,35 @@
#endif
#define DEPRECATED(msg) __attribute__((deprecated(msg)))
#elif GFX_COMPILER == GFX_COMPILER_DAIB
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: DAIB"
#endif
#define GFX_COMPILER_NAME "Diab C/C++"
#define GFX_COMPILER_VERSION_MAJOR ((__VERSION_NUMBER__)/1000)
#define GFX_COMPILER_VERSION_MINOR (((__VERSION_NUMBER__)/100)%10)
#define GFX_COMPILER_VERSION_PATCH ((__VERSION_NUMBER__)%100)
#elif GFX_COMPILER == GFX_COMPILER_DEC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: DEC"
#endif
#define GFX_COMPILER_NAME "DEC"
#elif GFX_COMPILER == GFX_COMPILER_DICE
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: DICE"
#endif
#define GFX_COMPILER_NAME "DICE C"
#elif GFX_COMPILER == GFX_COMPILER_DIGNUS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: DIGNUS"
#endif
#define GFX_COMPILER_NAME "Dignus Systems C++"
#define GFX_COMPILER_VERSION_MAJOR ((__SYSC_VER__)/10000)
#define GFX_COMPILER_VERSION_MINOR (((__SYSC_VER__)/100)%100)
#define GFX_COMPILER_VERSION_PATCH ((__SYSC_VER__)%100)
#elif GFX_COMPILER == GFX_COMPILER_DJGPP
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: DJGPP"
#endif
#define GFX_COMPILER_NAME "DJGPP"
#ifdef __DJGPP__
#define GFX_COMPILER_VERSION_MAJOR (__DJGPP__)
@ -386,11 +453,17 @@
#define GFX_COMPILER_VERSION_MAJOR (1)
#endif
#elif GFX_COMPILER == GFX_COMPILER_DMARS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: DMARS"
#endif
#define GFX_COMPILER_NAME "Digital Mars"
#define GFX_COMPILER_VERSION_MAJOR ((__DMC__)/0x100)
#define GFX_COMPILER_VERSION_MINOR (((__DMC__)/0x10)%0x10)
#define GFX_COMPILER_VERSION_PATCH ((__DMC__)%0x10)
#elif GFX_COMPILER == GFX_COMPILER_EDG
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: EDG"
#endif
#define GFX_COMPILER_NAME "EDG C++"
#define GFX_COMPILER_TESTED TRUE
#define GFX_COMPILER_VERSION_MAJOR ((__EDG_VERSION__)/100)
@ -403,13 +476,22 @@
#pragma diag_remark = Pe068
#pragma diag_remark = Pa050
#elif GFX_COMPILER == GFX_COMPILER_EKOPATH
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: EKOPATH"
#endif
#define GFX_COMPILER_NAME "EKOPath"
#define GFX_COMPILER_VERSION_MAJOR (__PATHCC__)
#define GFX_COMPILER_VERSION_MINOR (__PATHCC_MINOR__)
#define GFX_COMPILER_VERSION_PATCH (__PATHCC_PATCHLEVEL__)
#elif GFX_COMPILER == GFX_COMPILER_FUJITSU
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: FUJITSU"
#endif
#define GFX_COMPILER_NAME "Fujitsu C++"
#elif GFX_COMPILER == GFX_COMPILER_GCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: GCC"
#endif
#define GFX_COMPILER_NAME "GCC"
#define GFX_COMPILER_TESTED TRUE
#define GFX_COMPILER_VERSION_MAJOR (__GNUC__)
@ -419,13 +501,22 @@
#endif
#define DEPRECATED(msg) __attribute__((deprecated(msg)))
#elif GFX_COMPILER == GFX_COMPILER_GREENHILL
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: GREENHILL"
#endif
#define GFX_COMPILER_NAME "Green Hill C/C++"
#define GFX_COMPILER_VERSION_MAJOR ((__GHS_VERSION_NUMBER__)/100)
#define GFX_COMPILER_VERSION_MINOR (((__GHS_VERSION_NUMBER__)/10)%10)
#define GFX_COMPILER_VERSION_PATCH ((__GHS_VERSION_NUMBER__)%10)
#elif GFX_COMPILER == GFX_COMPILER_HIGHC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: HIGHC"
#endif
#define GFX_COMPILER_NAME "Metaware High C/C++"
#elif GFX_COMPILER == GFX_COMPILER_HP
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: HP"
#endif
#define GFX_COMPILER_NAME "HP C/aC++"
#ifdef __HP_aCC
#if __HP_aCC == 1
@ -438,6 +529,9 @@
#endif
#endif
#elif GFX_COMPILER == GFX_COMPILER_IAR
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: IAR"
#endif
#define GFX_COMPILER_NAME "IAR C++"
#define GFX_COMPILER_TESTED TRUE
#define GFX_COMPILER_VERSION_MAJOR ((__VER__)/100)
@ -450,6 +544,9 @@
#pragma diag_remark = Pe068
#pragma diag_remark = Pa050
#elif GFX_COMPILER == GFX_COMPILER_IBMXL
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: IBMXL"
#endif
#define GFX_COMPILER_NAME "IBM XL C/C++"
#ifdef __xlC__
#define GFX_COMPILER_VERSION_MAJOR ((__xlC__)/0x100)
@ -470,8 +567,14 @@
#define GFX_COMPILER_VERSION_PATCH ((__IBMCPP__)%10)
#endif
#elif GFX_COMPILER == GFX_COMPILER_IMAGECRAFT
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: IMAGECRAFT"
#endif
#define GFX_COMPILER_NAME "Imagecraft C"
#elif GFX_COMPILER == GFX_COMPILER_INTEL
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: INTEL"
#endif
#define GFX_COMPILER_NAME "Intel ICC/ICPC"
#ifdef __INTEL_COMPILER
#define GFX_COMPILER_VERSION_MAJOR ((__INTEL_COMPILER)/100)
@ -482,11 +585,17 @@
#endif
#endif
#elif GFX_COMPILER == GFX_COMPILER_KAI
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: KAI"
#endif
#define GFX_COMPILER_NAME "Kai C++"
#define GFX_COMPILER_VERSION_MAJOR ((__KCC_VERSION)/0x1000)
#define GFX_COMPILER_VERSION_MINOR (((__KCC_VERSION)/0x100)%0x10)
#define GFX_COMPILER_VERSION_PATCH ((__KCC_VERSION)%0x100)
#elif GFX_COMPILER == GFX_COMPILER_KEIL
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: KEIL"
#endif
#define GFX_COMPILER_NAME "Keil"
#define GFX_COMPILER_TESTED TRUE
#if defined(__ARMCC_VERSION)
@ -515,22 +624,38 @@
#pragma diag_remark 83 // Turn off warning: type qualifier specified more than once
#pragma diag_remark 767 // Turn off warning: conversion from pointer to smaller integer
#pragma diag_remark 188 // Turn off warning: enumerated type mixed with another type
#pragma diag_remark 68 // Turn off warning: integer conversion resulted in a change of sign
#ifndef GFXINLINE // Get the Keil definition for inline
#define GFXINLINE __inline
#endif
#define __LITTLE_IF_NOT_BIG__ // Oops - Defines __BIG_ENDIAN but not __LITTLE_ENDIAN
#elif GFX_COMPILER == GFX_COMPILER_LCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: LCC"
#endif
#define GFX_COMPILER_NAME "LCC"
#elif GFX_COMPILER == GFX_COMPILER_METROWORKS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: METROWORKS"
#endif
#define GFX_COMPILER_NAME "Metroworks CodeWarrior"
#define GFX_COMPILER_VERSION_MAJOR ((__MWERKS__)/0x1000)
#define GFX_COMPILER_VERSION_MINOR (((__MWERKS__)/0x100)%0x10)
#define GFX_COMPILER_VERSION_PATCH ((__MWERKS__)%100)
#elif GFX_COMPILER == GFX_COMPILER_MICROTEC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MICROTEC"
#endif
#define GFX_COMPILER_NAME "Microtec C/C++"
#elif GFX_COMPILER == GFX_COMPILER_MICROWAY
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MICROWAY"
#endif
#define GFX_COMPILER_NAME "Microway NDP C"
#elif GFX_COMPILER == GFX_COMPILER_MINGW32
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MINGW32"
#endif
#define GFX_COMPILER_NAME "MingW32"
#define GFX_COMPILER_TESTED TRUE
#define GFX_COMPILER_VERSION_MAJOR (__GNUC__)
@ -540,6 +665,9 @@
#endif
#define DEPRECATED(msg) __attribute__((deprecated(msg)))
#elif GFX_COMPILER == GFX_COMPILER_MINGW64
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MINGW64"
#endif
#define GFX_COMPILER_NAME "MingW64"
#define GFX_COMPILER_VERSION_MAJOR (__GNUC__)
#define GFX_COMPILER_VERSION_MINOR (__GNUC_MINOR__)
@ -548,6 +676,9 @@
#endif
#define DEPRECATED(msg) __attribute__((deprecated(msg)))
#elif GFX_COMPILER == GFX_COMPILER_MIPSPRO
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MIPSPRO"
#endif
#define GFX_COMPILER_NAME "MIPS Pro"
#ifdef _SGI_COMPILER_VERSION
#define GFX_COMPILER_VERSION_MAJOR ((_SGI_COMPILER_VERSION)/100)
@ -559,20 +690,38 @@
#define GFX_COMPILER_VERSION_PATCH ((_COMPILER_VERSION)%10)
#endif
#elif GFX_COMPILER == GFX_COMPILER_MIRACLE
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MIRACLE"
#endif
#define GFX_COMPILER_NAME "Miracle C"
#elif GFX_COMPILER == GFX_COMPILER_MPW
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: MPW"
#endif
#define GFX_COMPILER_NAME "MPW C++"
#define GFX_COMPILER_VERSION_MAJOR ((__MRC__)/0x100)
#define GFX_COMPILER_VERSION_MINOR ((__MRC__)%0x100)
#elif GFX_COMPILER == GFX_COMPILER_NORCROFT
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: NORCROFT"
#endif
#define GFX_COMPILER_NAME "Norcroft C"
#elif GFX_COMPILER == GFX_COMPILER_NWCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: NWCC"
#endif
#define GFX_COMPILER_NAME "NWCC"
#elif GFX_COMPILER == GFX_COMPILER_OPEN64
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: OPEN64"
#endif
#define GFX_COMPILER_NAME "Open64"
#define GFX_COMPILER_VERSION_MAJOR (__OPENCC__)
#define GFX_COMPILER_VERSION_MINOR (__OPENCC_MINOR__)
#elif GFX_COMPILER == GFX_COMPILER_OSS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: OSS"
#endif
#define GFX_COMPILER_NAME "Oracle Solaris Studio"
#ifdef __SUNPRO_C >= 0x1000
#define GFX_COMPILER_VERSION_MAJOR ((__SUNPRO_C)/0x1000)
@ -584,23 +733,38 @@
#define GFX_COMPILER_VERSION_PATCH ((__SUNPRO_C)%0x10)
#endif
#elif GFX_COMPILER == GFX_COMPILER_PACIFIC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: PACIFIC"
#endif
#define GFX_COMPILER_NAME "Pacific C"
#elif GFX_COMPILER == GFX_COMPILER_PALM
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: PALM"
#endif
#define GFX_COMPILER_NAME "Palm C/C++"
#define GFX_COMPILER_VERSION_MAJOR ((_PACC_VER)/0x10000000)
#define GFX_COMPILER_VERSION_MINOR (((_PACC_VER)/0x100000)%0x100)
#define GFX_COMPILER_VERSION_PATCH (((_PACC_VER)/0x1000)%0x100)
#define GFX_COMPILER_VERSION_BUILD ((_PACC_VER)%0x1000)
#elif GFX_COMPILER == GFX_COMPILER_PELLES
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: PELLES"
#endif
#define GFX_COMPILER_NAME "Pelles C"
#define GFX_COMPILER_VERSION_MAJOR ((__POCC__)/100)
#define GFX_COMPILER_VERSION_MINOR ((__POCC__)%100)
#elif GFX_COMPILER == GFX_COMPILER_PGCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: PGCC"
#endif
#define GFX_COMPILER_NAME "Portland PGCC/PGCPP"
#define GFX_COMPILER_VERSION_MAJOR (__PGIC__)
#define GFX_COMPILER_VERSION_MINOR (__PGIC_MINOR__)
#define GFX_COMPILER_VERSION_PATCH (__PGIC_PATCHLEVEL__)
#elif GFX_COMPILER == GFX_COMPILER_RENESAS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: RENESAS"
#endif
#define GFX_COMPILER_NAME "Renesas C/C++"
#ifdef __HITACHI_VERSION__
#define GFX_COMPILER_VERSION_MAJOR ((__HITACHI_VERSION__)/0x100)
@ -615,6 +779,9 @@
#define GFX_COMPILER_VERSION_BUILD ((__RENESAS_VERSION__)%0x100)
#endif
#elif GFX_COMPILER == GFX_COMPILER_SASC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: SASC"
#endif
#define GFX_COMPILER_NAME "SAS/C"
#ifdef __SASC__
#define GFX_COMPILER_VERSION_MAJOR ((__SASC__)/100)
@ -624,24 +791,45 @@
#define GFX_COMPILER_VERSION_MINOR (__REVISION__)
#endif
#elif GFX_COMPILER == GFX_COMPILER_SCO
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: SCO"
#endif
#define GFX_COMPILER_NAME "SCO OpenServer"
#elif GFX_COMPILER == GFX_COMPILER_SDCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: SDCC"
#endif
#define GFX_COMPILER_NAME "Small Device C"
#define GFX_COMPILER_VERSION_MAJOR ((SDCC)/100)
#define GFX_COMPILER_VERSION_MINOR (((SDCC)/10)%10)
#define GFX_COMPILER_VERSION_PATCH ((SDCC)%10)
#elif GFX_COMPILER == GFX_COMPILER_SN
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: SN"
#endif
#define GFX_COMPILER_NAME "SN"
#elif GFX_COMPILER == GFX_COMPILER_STRATUS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: STRATUS"
#endif
#define GFX_COMPILER_NAME "Stratus VOS C"
#define GFX_COMPILER_VERSION_MAJOR (__VOSC__)
#elif GFX_COMPILER == GFX_COMPILER_SYMANTEC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: SYMANTEC"
#endif
#define GFX_COMPILER_NAME "Symantec C++"
#define GFX_COMPILER_VERSION_MAJOR ((__SC__)/0x100)
#define GFX_COMPILER_VERSION_MINOR ((__SC__)%0x100)
#elif GFX_COMPILER == GFX_COMPILER_TENDRA
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: TENDRA"
#endif
#define GFX_COMPILER_NAME "TenDRA C/C++"
#elif GFX_COMPILER == GFX_COMPILER_THINK
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: THINK"
#endif
#define GFX_COMPILER_NAME "Think C"
#ifdef THINKC4
#define GFX_COMPILER_VERSION_MAJOR (4)
@ -649,14 +837,23 @@
#define GFX_COMPILER_VERSION_MAJOR (3)
#endif
#elif GFX_COMPILER == GFX_COMPILER_TI
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: TI"
#endif
#define GFX_COMPILER_NAME "Texas Instruments C/C++"
#define GFX_COMPILER_VERSION_MAJOR ((SDCC)/1000000)
#define GFX_COMPILER_VERSION_MINOR (((SDCC)/1000)%1000)
#define GFX_COMPILER_VERSION_PATCH ((SDCC)%1000)
#elif GFX_COMPILER == GFX_COMPILER_TINYC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: TINYC"
#endif
#define GFX_COMPILER_NAME "Tiny C"
#define GFX_COMPILER_TESTED TRUE
#elif GFX_COMPILER == GFX_COMPILER_TURBOC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: TURBOC"
#endif
#define GFX_COMPILER_NAME "Borland Turbo C/C++"
#if __TURBOC__ < 0x295 || __TURBOC__ >= 0x400
#define GFX_COMPILER_VERSION_MAJOR ((__TURBOC__)/0x100)
@ -672,17 +869,29 @@
#define GFX_COMPILER_VERSION_MINOR (0)
#endif
#elif GFX_COMPILER == GFX_COMPILER_ULTIMATE
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: ULTIMATE"
#endif
#define GFX_COMPILER_NAME "Ultimate C/C++"
#define GFX_COMPILER_VERSION_MAJOR (_MAJOR_REV)
#define GFX_COMPILER_VERSION_MINOR (_MINOR_REV)
#elif GFX_COMPILER == GFX_COMPILER_USL
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: USL"
#endif
#define GFX_COMPILER_NAME "USL C"
#define GFX_COMPILER_VERSION_MAJOR ((__SCO_VERSION__)/100000000)
#define GFX_COMPILER_VERSION_MINOR (((__SCO_VERSION__)/1000000)%100)
#define GFX_COMPILER_VERSION_BUILD ((__SCO_VERSION__)%1000000)
#elif GFX_COMPILER == GFX_COMPILER_VBCC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: VBCC"
#endif
#define GFX_COMPILER_NAME "VBCC"
#elif GFX_COMPILER == GFX_COMPILER_VS
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: VS"
#endif
#define GFX_COMPILER_NAME "Microsoft Visual Studio"
#ifdef _MSC_FULL_VER
#if _MSC_FULL_VER < 100000000
@ -703,10 +912,16 @@
#endif
#define DEPRECATED(msg) __declspec(deprecated(msg))
#elif GFX_COMPILER == GFX_COMPILER_WATCOM
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: WATCOM"
#endif
#define GFX_COMPILER_NAME "Watcom C"
#define GFX_COMPILER_VERSION_MAJOR ((__WATCOMC__)/100)
#define GFX_COMPILER_VERSION_MINOR ((__WATCOMC__)%100)
#elif GFX_COMPILER == GFX_COMPILER_ZTC
#if GFX_SHOW_COMPILER && GFX_DISPLAY_RULE_WARNINGS
#warning "Compiler: ZTC"
#endif
#define GFX_COMPILER_NAME "Zortech C++"
#define GFX_COMPILER_VERSION_MAJOR ((__ZTC__)/0x100)
#define GFX_COMPILER_VERSION_MINOR (((__ZTC__)/0x10)%0x10)