COMPILER_VERSION Macro

Added February 2015

The compiler internally defines a macro symbol COMPILER_VERSION to the compiler edit number, allowing you use it in a conditional compilation statement to avoid or warn about code that requires a minimum compiler version. For example:

++IFNDEF COMPILER_VERSION

    ++ERROR Compiler version too old (pre 711)

++ENDIF

 

++IF COMPILER_VERSION >= 710

    DEFTYPE BOOLEAN I,2

++ENDIF

 

++IF COMPILER_VERSION < 728

    ++ERROR Program requires compiler version 728+ for .LINENO(ch) function

++ENDIF

 

Note: Unfortunately, since the COMPILER_VERSION macro was introduced in edit 711, an attempt to reference its value in a prior version will generate a "conditional expression not constant" error, so that will only be useful going forward. However, you can use ++IFDEF to test if it's defined—and if not, you will know that it is prior to version 711.

History

2014 October, A-Shell 6.1.1392, compiler edit 711:  added to A-Shell