On Mon, Sep 13, 2021 at 1:16 PM Nick Desaulniers ndesaulniers@google.com wrote:
Do we have access to _Generic in GCC 4.9?
We've ended up using it unconditionally since last year, so yes.
In fact, the compiler version tests got removed when we raised the gcc version requirement to 4.9 in commit 6ec4476ac825 ("Raise gcc version requirement to 4.9"):
"In particular, raising the minimum to 4.9 means that we can now just assume _Generic() exists, which is likely the much better replacement for a lot of very convoluted built-time magic with conditionals on sizeof and/or __builtin_choose_expr() with same_type() etc"
but we haven't used it much since.
The "seqprop" code for picking the right lock for seqlock is perhaps the main example, and staring at that code will make you go blind, so look away.
Linus