fixed bug with 0L; don't give warning on char x[3] = "abc"
This commit is contained in:
parent
a06002d3d7
commit
dddd613773
@ -806,7 +806,7 @@ struct token *ptok;
|
||||
fund = LONG;
|
||||
else fund = UNSIGNED;
|
||||
} else if((val & full_mask[(int)long_size]) == val) {
|
||||
if (val > 0) fund = LONG;
|
||||
if (val >= 0) fund = LONG;
|
||||
else fund = ULONG;
|
||||
} else { /* sizeof(arith) is greater than long_size */
|
||||
ASSERT(arith_size > long_size);
|
||||
|
||||
@ -582,8 +582,14 @@ ch_array(tpp, ex)
|
||||
else {
|
||||
arith dim = tp->tp_size / tp->tp_up->tp_size;
|
||||
|
||||
if (length > dim) {
|
||||
expr_warning(ex, "too many initialisers");
|
||||
#ifdef LINT
|
||||
if (length == dim + 1) {
|
||||
expr_warning(ex, "array is not null-terminated");
|
||||
} else
|
||||
#else
|
||||
if (length > dim + 1) {
|
||||
#endif
|
||||
expr_strict(ex, "too many initialisers");
|
||||
}
|
||||
length = dim;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user