https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66963

--- Comment #5 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
This is by design.  __builtin_choose_expr requires an integer constant 
expression which must be evaluated before the type of the result can be 
known; __builtin_constant_p is for optimization and evaluates, much later, 
whether something is folded to a constant (including constant arguments to 
inline functions).

Reply via email to