Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
Embed ▾
README BADGES
|
push
github
Avoid negation of signed integers in C that may hold INT*_MIN. Reported by minoki. Recent C compilers 'take advantage' of the undefined behavior. This completely changes the meaning of expressions like (k == -k). (cherry picked from commit 8a5e398c5) This patch changes all possibly dangerous -x operations on integers to the corresponding two's complement. Also, it removes all related UBSAN suppressions, since they are fixed. Also, this patch limits the `bit.tohex()` result by 254 characters. There is no testcase for `strscan_oct()`, `strscan_dec()` or/and `STRSCAN_U32` format since first the unary minus is parsed first and only after the number itself is parsed during parsing C syntax. So the error is raised in `cp_expr_prefix()` instead. For parsing the exponent header, there is no testcase, since the power is limited by `STRSCAN_MAXEXP`. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#9924 Relates to tarantool/tarantool#8473
5676 of 6025 branches covered (94.21%)
Branch coverage included in aggregate %.
24 of 31 new or added lines in 10 files covered. (77.42%)
33 existing lines in 6 files now uncovered.21647 of 23434 relevant lines covered (92.37%)
2949750.64 hits per line
Lines | Coverage | ∆ | File |
---|---|---|---|
1 |
77.55 |
-0.16% | src/lj_opt_fold.c |
6 |
86.78 |
0.0% | src/lj_strscan.c |
Lines | Coverage | ∆ | File |
---|---|---|---|
2 |
77.55 |
-0.16% | src/lj_opt_fold.c |
2 |
99.0 |
-0.33% | src/lj_gc.c |
3 |
99.61 |
0.0% | src/lj_parse.c |
7 |
96.25 |
0.0% | src/lj_carith.c |
9 |
87.63 |
-0.59% | src/lj_crecord.c |
10 |
96.77 |
0.0% | src/lj_strfmt.c |
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 9664530612.1 | 89 |
92.75 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|