Hi, I'm currently implementing a few type-generic macros in C with __builtin_choose_expr and noticed the following:
1) The documentation does not mention if const_expr has side-effects. One may, for example, use the return type of a function call; I expect the expression to not be evaluated. The same remark applies also to typeof. 2) Is it possible to really remove the unused expression? One often gets either warnings about pointers having the wrong type, or, after adding all explicit conversions, about strict aliasing. Although I would strongly prefer a solution to (2), do you know how to remove the warnings about strict aliasing for one particular conversion that is known to be safe? Thanks and best regards, Jörg