ARM-software / acle

Arm C Language Extensions (ACLE)
Other
88 stars 54 forks source link

Define new value for the __ARM_ACLE macro #294

Closed vhscampos closed 8 months ago

vhscampos commented 8 months ago

The ACLE defines a feature macro called __ARM_ACLE:

__ARM_ACLE is defined to the version of this specification implemented, as 100 * major_version + minor_version. An implementation implementing version 2.1 of the ACLE specification will define __ARM_ACLE as 201.

However, a long time ago, we changed the versioning scheme of the ACLE from "major.minor" to a combination of year and quarter. For instance the latest release is 2023 Q2.

Since the macro's definition is now out of date, we now move to a new scheme:

__ARM_ACLE is defined to the version of this specification implemented, formatted as {YEAR}{QUARTER}{PATCH}.

The value would be the integer formed by the year (4 digits) concatenated to the quarter's number (1 digit), finally concatenated to the patch release (1 digit). So the macro's value for the 2023 Q2 release with no patch release would then be 202320. Using 4 digits for the year, and having it preceding the quarter, will be helpful to ensure the formed integer values will be greater than the ones using the previous/current format.

As for any pull request, please make sure to go through the below checklist.

Checklist: (mark with X those which apply)

vhscampos commented 8 months ago

Also tagging @rearnsha for review