Unified · Split
| @@ -1253,7 +1253,7 @@ static void patch_type(Sym *sym, CType *type) · 1252 unmodified lines | |||
| 1253 | } else { | 1253 | } else { |
| 1254 | if ((sym->type.t & VT_ARRAY) && type->ref->c >= 0) { | 1254 | if ((sym->type.t & VT_ARRAY) && type->ref->c >= 0) { |
| 1255 | /* set array size if it was omitted in extern declaration */ | 1255 | /* set array size if it was omitted in extern declaration */ |
| 1256 | sym->type.ref->c = type->ref->c; | 1256 | sym->type.ref = type->ref; |
| 1257 | } | 1257 | } |
| 1258 | if ((type->t ^ sym->type.t) & VT_STATIC) | 1258 | if ((type->t ^ sym->type.t) & VT_STATIC) |
| 1259 | tcc_warning("storage mismatch for redefinition of '%s'", | 1259 | tcc_warning("storage mismatch for redefinition of '%s'", |
| @@ -1767,9 +1767,13 @@ struct complexinit2 cix22 = { · 1766 unmodified lines | |||
| 1767 | }; | 1767 | }; |
| 1768 | 1768 | ||
| 1769 | typedef int arrtype1[]; | 1769 | typedef int arrtype1[]; |
| 1770 | arrtype1 sinit19; | ||
| 1771 | arrtype1 sinit20; | ||
| 1770 | arrtype1 sinit19 = {1}; | 1772 | arrtype1 sinit19 = {1}; |
| 1771 | arrtype1 sinit20 = {2,3}; | 1773 | arrtype1 sinit20 = {2,3}; |
| 1772 | typedef int arrtype2[3]; | 1774 | typedef int arrtype2[3]; |
| 1775 | arrtype2 sinit21; | ||
| 1776 | arrtype2 sinit22; | ||
| 1773 | arrtype2 sinit21 = {4}; | 1777 | arrtype2 sinit21 = {4}; |
| 1774 | arrtype2 sinit22 = {5,6,7}; | 1778 | arrtype2 sinit22 = {5,6,7}; |
| 1775 | 1779 | ||