https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66963
--- Comment #3 from Nicolai Stange <nicstange at gmail dot com> --- (In reply to Andrew Pinski from comment #1) > I thought this is documented somewhere but __builtin_choose_expr only really > accept constant literals and not constexprs. https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html explicitly mentions integer constant expressions though. Quote: "This built-in function returns exp1 if const_exp, which is an integer constant expression, is nonzero."