2016-07-31 11:43:17 +08:00
|
|
|
ce: 1 12
|
|
|
|
gs: 1 2 3 4
|
|
|
|
gs2: 1 2 3 4
|
|
|
|
gt: 68 65 6c 6c 6f 0 0 0 0 0 0 0 0 0 0 0 2a
|
|
|
|
gu: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
|
|
|
gu2: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
|
|
|
gu3: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
|
|
|
gu4: 3 5 6 7 0 5 62 6c 61 0 0 0 0 0 0 0 0 0 0 0 0 0 2c
|
|
|
|
gs3: 1 2 3 4
|
|
|
|
gv: 3 4 5 6 68 61 68 61 0 0 0 0 0 0 0 0 0 0 0 0 2d 2e
|
|
|
|
gv2: 7 8 9 a 68 69 68 69 0 0 0 0 0 0 0 0 0 0 0 0 2f 30
|
|
|
|
gv3: 7 8 9 a 68 6f 68 6f 0 0 0 0 0 0 0 0 0 0 0 0 31 32
|
|
|
|
sinit16: 1 0 0 0 2 0 0 0
|
|
|
|
gw: 1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
2016-07-31 12:18:45 +08:00
|
|
|
gsu: 5 6
|
2016-08-02 04:11:49 +08:00
|
|
|
guv: 6 5 0 0
|
|
|
|
guv.b: 5
|
|
|
|
guv2: 8 7 0 0
|
|
|
|
guv3: 7 8 0 0
|
2019-04-11 06:30:41 +08:00
|
|
|
gssu1: 5 0 0 0 3 0 0 0
|
|
|
|
gssu2: 5 0 0 0 3 0 0 0
|
2016-08-02 04:55:07 +08:00
|
|
|
phdr: 6 5 4 3 0 0 0 0 0 0 0 0 0 0 0 0 9 8 7 6 0 0 0 0 0 0 0 0 0 0 0 0
|
2016-07-31 11:43:17 +08:00
|
|
|
ls: 1 2 3 4
|
|
|
|
ls2: 1 2 3 4
|
|
|
|
lt: 68 65 6c 6c 6f 0 0 0 0 0 0 0 0 0 0 0 2a
|
|
|
|
lu: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
|
|
|
lu1: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
|
|
|
lu2: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
2016-08-02 04:55:07 +08:00
|
|
|
ls21: 1 2 3 4
|
2016-07-31 11:43:17 +08:00
|
|
|
lu21: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
2016-08-02 04:55:07 +08:00
|
|
|
lu22: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
2016-07-31 11:43:17 +08:00
|
|
|
lu3: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
|
|
|
|
lu4: 3 5 6 7 0 5 62 6c 61 0 0 0 0 0 0 0 0 0 0 0 0 0 2c
|
|
|
|
ls3: 1 2 3 4
|
|
|
|
lv: 3 4 5 6 68 61 68 61 0 0 0 0 0 0 0 0 0 0 0 0 2d 2e
|
|
|
|
lv2: 1 2 3 4 68 69 68 69 0 0 0 0 0 0 0 0 0 0 0 0 2f 30
|
|
|
|
lv3: 7 8 9 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32
|
2016-08-07 04:38:26 +08:00
|
|
|
lt2: 0 9 9 9 43 43 43 43 42 42 42 0 0 0 0 0 1
|
2019-04-11 06:30:41 +08:00
|
|
|
lssu1: 5 0 0 0 3 0 0 0
|
|
|
|
lssu2: 5 0 0 0 3 0 0 0
|
2016-08-02 04:55:07 +08:00
|
|
|
flow: 9 8 7 6 0 0 0 0 0 0 0 0 0 0 0 0 6 5 4 3 0 0 0 0 0 0 0 0 0 0 0 0
|
2019-07-22 03:14:58 +08:00
|
|
|
ls4: 1 2 3 4
|
2016-10-08 08:44:17 +08:00
|
|
|
one
|
tccgen: flex arrays etc.
Fixes potential writes past the allocated space with mostly
illegal flex array initializers. (60_errors_and_warnings.c
:test_var_array)
In exchange suspicious precautions such as section_reserve
or checks with sec->data_allocated were removed. (There is
an hard check 'init_assert()' for now but it's meant to be
just temporary)
Also, instead of filling holes, always memset(0) structures
& arrays on stack. Sometimes more efficient, sometimes isn't.
At least we can omit putting null initializers.
About array range inititializers: Reparsing tokens has a
small problem with sideeffects, for example
int c = 0, dd[] = { [0 ... 1] = ++c, [2 ... 3] = ++c };
Also, instead of 'squeeze_multi_relocs()', delete pre-existing
relocations in advance. This works even if secondary initializers
don't even have relocations, as with
[0 ... 7] = &stuff,
[4] = NULL
Also, in tcc.h: new macro "tcc_internal_error()"
2020-09-23 18:03:59 +08:00
|
|
|
(0)
|
|
|
|
ni
|
|
|
|
four
|
|
|
|
one
|
|
|
|
(0)
|
|
|
|
ni
|
|
|
|
four
|
|
|
|
1 1 2 2
|
|
|
|
mdfa glob: 30 - 3 4 5 6 7 8 3 4 5 6 7 8 3 4 5 6 7 8 9 0 0 10 0 0 97 98 99 0 0 0
|
|
|
|
mdfa locl: 30 - 3 4 5 6 7 8 3 4 5 6 7 8 3 4 5 6 7 8 9 0 0 10 0 0 97 98 99 0 0 0
|
2017-05-06 11:28:13 +08:00
|
|
|
sea_fill0: okay
|
|
|
|
sea_fill1: okay
|
|
|
|
sea_fill2: okay
|
2020-10-01 23:50:20 +08:00
|
|
|
1438
|
2021-05-16 00:40:16 +08:00
|
|
|
test_init_struct_from_struct: 1 2 3 4 - 1 2 3 4 - 3 4 5 6
|