mirror of
https://github.com/mirror/tinycc.git
synced 2024-12-28 04:00:06 +08:00
c9bbd4e707
tccgen.c: - Fix handling __builtin_constant_p tests/bug.c: - Remove tst3 tests/tcctest.c: - Add new tests for __builtin_constant_p
42 lines
614 B
C
42 lines
614 B
C
#include <stdio.h>
|
|
#include <stdarg.h>
|
|
|
|
int compile_errors(void)
|
|
{
|
|
#if TEST == 1
|
|
{
|
|
/* Not constant */
|
|
static int i = (&"Foobar"[1] - &"Foobar"[0]);
|
|
}
|
|
#endif
|
|
#if TEST == 2
|
|
{
|
|
/* Not constant */
|
|
struct{int c;}v;
|
|
static long i=((char*)&(v.c)-(char*)&v);
|
|
}
|
|
#endif
|
|
#if TEST == 3
|
|
{
|
|
/* Not constant */
|
|
static const short ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
|
|
void *p = &&l1 + ar[0];
|
|
goto *p;
|
|
l1: return 1;
|
|
l2: return 2;
|
|
}
|
|
#endif
|
|
#if TEST == 4
|
|
{
|
|
/* Only integer allowed */
|
|
__builtin_return_address(0 + 1) != NULL;
|
|
}
|
|
#endif
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
}
|