From 1b73ffb8ae8e096453c4acb7a09d802a50fca245 Mon Sep 17 00:00:00 2001 From: mrdudz Date: Tue, 10 May 2022 01:13:24 +0200 Subject: [PATCH] document changes to __CC65__ --- doc/cc65.sgml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/doc/cc65.sgml b/doc/cc65.sgml index 67323931c..43039f713 100644 --- a/doc/cc65.sgml +++ b/doc/cc65.sgml @@ -1102,8 +1102,20 @@ The compiler defines several macros at startup: __CC65__ This macro is always defined. Its value is the version number of the - compiler in hex. For example, version 2.14 of the compiler has this macro - defined as (VER_MAJOR * 0x100) + VER_MINOR. The upper 8 bits + are the major-, the lower 8 bits are the minor version. For example, version + 47.11 of the compiler would have this macro defined as (VER_MAJOR * 0x100) + VER_MINOR * 0x10 - + which resulted in broken values starting at version 2.16 of the compiler. For + this reason the value of this macro is considered purely informal - you should + not use it to check for a specific compiler version and use different code + according to the detected version - please update your code to work with the + recent version of the compiler instead (There is very little reason to not use + the most recent version - and even less to support older versions in your code). + + Should you still insist on doing this for some reason - look at checkversion.c + in the samples directory for some preprocessor kludges that might help. __CC65_STD__