compier: Zap __builtin_constant_p on gcc 4.x series
commit7d23d8d26f2c68c0fab7e9f1e1fab7efefd52dd4
authorCyrill Gorcunov <gorcunov@gmail.com>
Sat, 15 Dec 2018 17:21:09 +0000 (15 20:21 +0300)
committerCyrill Gorcunov <gorcunov@gmail.com>
Sat, 15 Dec 2018 17:33:25 +0000 (15 20:33 +0300)
tree6a414f827fe2dd713a7ab3354989fcbc59497d08
parent6f33dbb0876a809bee1439246c511aebaf6362c8
compier: Zap __builtin_constant_p on gcc 4.x series

It is been discovered that on gcc-4.8.4 compiler can't
properly evaluate __builtin_constant_p.

 | gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
 |
 | In file included from asm/nasm.c:38:0:
 | asm/nasm.c: In function ‘assemble_file’:
 | ./include/compiler.h:377:27: error: first argument to ‘__builtin_choose_expr’ not a constant
 |  # define if_constant(x,y) __builtin_choose_expr(is_constant(x),(x),(y))
 |                            ^
 | ./include/nasmlib.h:145:23: note: in expansion of macro ‘if_constant’
 |          static_assert(if_constant(x, 1), #x);                               \
 |                        ^
 | ./include/nasmlib.h:167:9: note: in expansion of macro ‘nasm_try_static_assert’
 |          nasm_try_static_assert(x);                              \
 |          ^
 | asm/nasm.c:1544:17: note: in expansion of macro ‘nasm_assert’
 |                  nasm_assert(output_ins.times >= 0);
 |

Zap it for 4.x series so we could run our tests.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
include/compiler.h