| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from __WATCOMC__ to compute the version number
components. See documentation at:
http://predef.sourceforge.net/precomp.html
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from
__clang_major__
__clang_minor__
__clang_patchlevel__
to compute version number components. See documentation at:
http://clang.llvm.org/docs/LanguageExtensions.html#builtinmacros
http://predef.sourceforge.net/precomp.html
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from
__PGIC__
__PGIC_MINOR__
__PGIC_PATCHLEVEL__
to compute version number components.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from __IBMC__ and __IBMCPP__ to compute version
number components. See documentation at:
http://predef.sourceforge.net/precomp.html
http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic/com.ibm.xlc111.aix.doc/compiler_ref/xlmacros.html
http://publib.boulder.ibm.com/infocenter/comphelp/v111v131/topic/com.ibm.xlcpp111.aix.doc/compiler_ref/xlmacros.html
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Decode hex digits from __BORLANDC__ to compute the version number
components. Note that the constant encodes decimal digits as hex digits
(never larger than 9). We represent them as decimal after extraction.
See documentation at
http://predef.sourceforge.net/precomp.html
http://docwiki.embarcadero.com/RADStudio/en/Predefined_Macros
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from
__INTEL_COMPILER
__INTEL_COMPILER_BUILD_DATE
to compute the version number components. See documentation at:
http://predef.sourceforge.net/precomp.html
http://software.intel.com/sites/products/documentation/hpc/compilerpro/en-us/fortran/lin/compiler_f/bldaps_for/common/bldaps_use_presym.htm
|
| |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from _MSC_VER, _MSC_FULL_VER, and _MSC_BUILD to
compute the version number components. See documentation at:
http://msdn.microsoft.com/en-us/library/b0084kay.aspx
http://predef.sourceforge.net/precomp.html
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Decode decimal digits from
__GNUC__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__
to compute version components. See documentation at
http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
http://predef.sourceforge.net/precomp.html
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Teach CMakePlatformId.h to construct an "INFO:compiler_version[]" string
literal from macros COMPILER_VERSION_(MAJOR|MINOR|PATCH|TWEAK) to be
defined in CMake(C|CXX)CompilerId.(c|cpp) for each compiler. Provide
conversion macros DEC() and HEX() to decode decimal or hex digits from
integer values. Parse the version out of the compiler id binary along
with the other INFO values already present.
Store the result in variable CMAKE_<LANG>_COMPILER_VERSION in the format
"major[.minor[.patch[.tweak]]]". Save the value persistently in
CMake(C|CXX)Compiler.cmake in the build tree. Document the variable for
internal use since we do not set it everywhere yet.
Report the compiler version on the compiler id result line e.g.
The C compiler identification is GNU 4.5.2
Report CMAKE_(C|CXX)_COMPILER_(ID|VERSION) in SystemInformation test.
|
|/
|
|
|
|
|
|
|
| |
See compiler home page here:
http://tinycc.org/
http://bellard.org/tcc/
Use the id "TinyCC" as it appears in their online documentation.
|
|
|
|
|
|
|
|
|
|
|
|
| |
These compilers define __SCO_VERSION__ as VvvYYYYMML:
V = major version
vv = minor version
YYYY = release year
MM = release month
http://osr600doc.sco.com/en/manCP/cc.CP.html
http://osr600doc.sco.com/en/manCP/CC.CP.html
|
|\
| |
| |
| |
| | |
dbc79bd Fix constness in compiler id detection
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 70c2dc8a (Make compiler id detection more robust,
2008-03-10) we store compiler identification strings in test binaries
using the form
char* info = "info";
Use the const-correct
char const* info = "info";
form instead. This allows the C++ compiler identification to work with
"-Werror -Wall" or equivalent flags if the compiler would warn about
const-to-non-const conversion.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The TI DSP compiler predefines "__TI_COMPILER_VERSION__". Use this to
identify the C and C++ compilers. For assembler language the C compiler
executable is used:
$ cl6x -h
TMS320C6x C/C++ Compiler v6.1.11
Tools Copyright (c) 1996-2009 Texas Instruments Incorporated
Use this command-line option and output to recognize the assembler.
|
|/
|
|
|
|
| |
The Cray Fortran compiler needs "-em" to enable module output and also
"-J." to place the .mod files in the current working directory (instead
of next to the .o file).
|
|
|
|
|
|
|
| |
Map to the platform and compiler information for GNU because the
compilers are command-line compatible for common operations. Later we
can add Clang-specific features as necessary. We honor the preferred
capitalization is "Clang", not the common mis-spelling "CLang".
|
| |
|
|
|
|
| |
builds. Use the platform ID preprocessor approach.
|
|
|
|
|
|
|
| |
IBM rebranded its VisualAge compiler to XL starting at version 8.0. We
use the compiler id "XL" for newer versions and "VisualAge" for older
versions. We now also recognize the "z/OS" compiler, which is distinct
from XL.
|
|
|
|
|
|
| |
Some SGI compilers define _SGI_COMPILER_VERSION in addition to the old
_COMPILER_VERSION preprocessor symbol. It is more distinctive, so we
should check it in case the old one is ever removed.
|
|
|
|
|
|
|
|
|
|
|
| |
Compiler INFO strings built at preprocessing time encode information
that must appear as a string literal in the resulting binary. We must
make sure the strings appear in the final binary no matter what compiler
and flags are used. The previous implementation worked in most places
but failed with the GNU linker's --gc-sections option which managed to
discard the string. Instead we make the program return value depend on
an element of the string indexed by a runtime program parameter, which
absolutely requires the string to be present.
|
|
|
|
|
|
|
|
|
|
| |
- Split INFO strings in source into multiple pieces
to make sure assembly or other listings produced
by the compiler are never matched by the regex
- Store INFO strings via pointer instead of array
to convince some compilers to store the string
literally in the binary
- This should help make it work for sdcc 2.8.0 RC1
|
|
|
|
| |
main. Cross-compilers for embedded platforms may require it.
|
|
- Write a single source file into the compiler id directory
- This avoid requiring the compiler to behave correctly with
respect to include rules and the current working directory
- Helps to identify cross-compiling toolchains with unusual
default behavior
|