[cfe-dev] static_assert without C++11 and with a message?
Howard Hinnant
hhinnant at apple.com
Tue Jun 19 19:53:17 PDT 2012
On Jun 19, 2012, at 10:45 PM, Richard Smith wrote:
> Hah, of course, the constant expression rules are tighter in C++98 too
> :) Depending on how much you want to emulate C++11 semantics, you
> could either stick with what you have, or enable full folding with the
> __builtin_constant_p(...) ? ... : ... hack.
Yeah. I'm kind of hoping for C++98/03 to just gracefully fade away. A lot of standards effort was put into making C++11 backward API compatibility and hopefully people will just migrate. There's a lot of attempted C++11 emulation of libc++ in C++03 mode. static_assert is the best of it. Variadic templates is the worst. And in other places such as move semantics and <tuple>, no attempt is made at all.
The message is: migrate to -std=c++11 ! It is worth it! :-)
Howard
More information about the cfe-dev
mailing list