Archived
This forum has been archived. Please start a new discussion on GitHub.
slice2cpp generated code and Ice versions
Here's a snippet of preprocessor code output by slice2cpp:
This code requires an exact match of Ice major and minor versions when compiling slice-generated code (in this case version 3.3.0) while permitting (possibly mismatched) patch versions, as long as the patch range is 0 to 50 (51 I believe is your beta).
Would it be correct, then, to consider the Ice "ABI" level as the the major and minor version (at least w.r.t. generated source code)? Is that your intention?
#ifndef ICE_IGNORE_VERSION # if ICE_INT_VERSION / 100 != 303 # error Ice version mismatch! # endif # if ICE_INT_VERSION % 100 > 50 # error Beta header file detected # endif # if ICE_INT_VERSION % 100 < 0 # error Ice patch level mismatch! # endif #endif
This code requires an exact match of Ice major and minor versions when compiling slice-generated code (in this case version 3.3.0) while permitting (possibly mismatched) patch versions, as long as the patch range is 0 to 50 (51 I believe is your beta).
Would it be correct, then, to consider the Ice "ABI" level as the the major and minor version (at least w.r.t. generated source code)? Is that your intention?
0
Comments
-
Correct. All patch level versions are binary compatible. For example, 3.3.0 and 3.3.1 are fully binary compatible. 3.3 and 3.2 are not.0