https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65412
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
clang decides at 4 to change it to a switch statement while GCC takes a few
extra ifs to change it. Again this is heuristics at work.
#define B(y) void f##y(void);
#define B10(y) B(y##0) B(y##1) B(y##2) \
B(y##3) B(y##4) B(y##5) \
B(y##6) B(y##7) B(y##8) \
B(y##9)
B10(1)
#define A(y) else if (x == y) f##y();
void f10(int x)
{
if (0) ;
A(11)
A(12)
A(13)
A(14)
}
