Add CI job to build C sources with various compiler versions and fix array-bounds error with GCC 9#4069
Add CI job to build C sources with various compiler versions and fix array-bounds error with GCC 9#4069
Conversation
* In file included from /usr/include/string.h:535,
from include/prism/internal/arena.h:12,
from src/prism.c:6:
In function 'memset',
inlined from 'lex_mode_push_regexp' at src/prism.c:290:5:
.../string_fortified.h:59:10: error: '__builtin_memset' offset [26, 34] from the object at 'lex_mode' is out of the bounds of referenced subobject 'breakpoints' with type 'uint8_t[7]' {aka 'unsigned char[7]'} at offset 18 [-Werror=array-bounds]
kddnewton
left a comment
There was a problem hiding this comment.
What's the deal with the changes to parser.h here?
|
@kddnewton Could you check the commit message? It explains it. |
|
The new job took 10min15s, which is faster than memcheck. Not sure where the time is spent but I wondered about image size: Maybe we could use |
To explain a bit more, the code does |
* These do not have ruby pre-installed, so we set SOEXT explicitly.
|
I switched to |
From #4051 (review)