mirror of
git://repo.or.cz/tinycc.git
synced 2026-06-28 07:44:17 +08:00
better constant handling for expr_cond
This commit is contained in:
parent
38756b506f
commit
cd3d1a45f3
5
tccgen.c
5
tccgen.c
@ -4036,6 +4036,10 @@ static void expr_cond(void)
|
|||||||
|
|
||||||
if (const_wanted) {
|
if (const_wanted) {
|
||||||
expr_lor_const();
|
expr_lor_const();
|
||||||
|
} else {
|
||||||
|
expr_lor();
|
||||||
|
}
|
||||||
|
if (const_wanted || ((vtop->r & (VT_VALMASK | VT_LVAL | VT_SYM)) == VT_CONST)) {
|
||||||
if (tok == '?') {
|
if (tok == '?') {
|
||||||
CType boolean;
|
CType boolean;
|
||||||
int c;
|
int c;
|
||||||
@ -4057,7 +4061,6 @@ static void expr_cond(void)
|
|||||||
vpop();
|
vpop();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
expr_lor();
|
|
||||||
if (tok == '?') {
|
if (tok == '?') {
|
||||||
next();
|
next();
|
||||||
if (vtop != vstack) {
|
if (vtop != vstack) {
|
||||||
|
|||||||
@ -2081,6 +2081,8 @@ void *bounds_checking_is_enabled()
|
|||||||
return (ca != cp + 1) ? cp : NULL;
|
return (ca != cp + 1) ? cp : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef int constant_negative_array_size_as_compile_time_assertion_idiom[(1 ? 2 : 0) - 1];
|
||||||
|
|
||||||
void c99_vla_test(int size1, int size2)
|
void c99_vla_test(int size1, int size2)
|
||||||
{
|
{
|
||||||
#if defined __i386__ || defined __x86_64__
|
#if defined __i386__ || defined __x86_64__
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user