Would you expect IS_CONST to evaluate to the constant? With a name like that I would expect it to evaluate to true/false.
C here is asserting that the value inside is a constant and then evaluating to that constant.
C here is asserting that the value inside is a constant and then evaluating to that constant.
I mixed it up with a similar compile-time constness check in some of my libraries, where I decided if const of not. gcc throws, only clang could give me a proper answer.