Clang 13 has a bug where anything that gets #defined and starts with a double-underscore will trigger compiler errors EVEN IF you have -Wreserved-identifier warning disabled. This is on Windows only it looks like.
This is possibly broken for single underscore defines too since those are also reserved by the compiler IIRC, but I've not tested that.
There's a few GitHub issues for it on the Clang GitHub. It looks like someone has already patched it though, but that fix doesn't look to be out yet.
We can avoid this whole mess by just not having any #define start with a double underscore. So I propose renaming the following #defines to:
I have an experimental version of Temper with these changes already running in HLML if you want to preview it.
The only concern I have about this is that those names are quite similar and might affect readability, but those are the best names I can come up with right now.
Clang 13 has a bug where anything that gets
#define
d and starts with a double-underscore will trigger compiler errors EVEN IF you have-Wreserved-identifier
warning disabled. This is on Windows only it looks like.This is possibly broken for single underscore defines too since those are also reserved by the compiler IIRC, but I've not tested that.
There's a few GitHub issues for it on the Clang GitHub. It looks like someone has already patched it though, but that fix doesn't look to be out yet.
We can avoid this whole mess by just not having any
#define
start with a double underscore. So I propose renaming the following#define
s to:TEMPERDEV__TEST_INFO_FETCHER
->TEMPERDEV__DEFINE_TEST_INFO_FETCHER
.__temper_test_info_fetcher_
->TEMPERDEV__TEST_INFO_FETCHER_
.I have an experimental version of Temper with these changes already running in HLML if you want to preview it.
The only concern I have about this is that those names are quite similar and might affect readability, but those are the best names I can come up with right now.