<cfbolz>
It seems I'll have a peg parser for us soon
<mattip>
I am stuck trying to fix a _ssl test failure with openssl3
<mattip>
when reading from a socket with some edge case error condition, CPython emits a BrokenPipeError from a signal,
<mattip>
with openssl 1.1.1 we don't get the signal, but do set a proper error condition,
<mattip>
but on the py3.7-openssl3 branch the call to read() raises a generic error that makes the test fail
<cfbolz>
mattip: that kind of stuff really sucks :-(
otisolsen70 has joined #pypy
[Arfrever] has quit [Ping timeout: 264 seconds]
otisolsen70 has quit [Quit: Leaving]
<cfbolz>
cool, I just boldly replaced the parser and many interpreter/test things actually work!
[Arfrever] has joined #pypy
otisolsen70 has joined #pypy
<catern>
should I expect arrays in structs with defines to work with cffi cdef? i.e. if I have "#define LEN 16\n struct { char buf[LEN]; };" - seems like that gives me "unsupported expression: expected a simple numeric constant" which I find a bit surprising
<catern>
hm, also, do defines of string constants work? i.e. if I have '#define COOLSTRING "hello world"' in a header and put "#define COOLSTRING ..." in a cdef... is that expected to work? (because it seems like cffi assumes all defines are numeric)
<atomizer>
cffi doesn't do preprocessing
<atomizer>
no ifdefs, defines or includes
<catern>
well, it does support defines
<atomizer>
weird
<catern>
lots of APIs have defines for special argument values (the libc API for example) so it would be quite limiting to not have that
<catern>
string defines are less common so I guess it's believable that they aren't support but it's still disappointing...
otisolsen70_ has joined #pypy
otisolsen70 has quit [Ping timeout: 256 seconds]
otisolsen70_ has quit [Remote host closed the connection]
otisolsen70 has joined #pypy
<cfbolz>
catern: that would require being able to parse a lot more C code though
<catern>
cfbolz: which part? defines as array sizes, or defines as string constants?
<cfbolz>
catern: both
<catern>
i guess defines as array sizes would require a fair bit of toil yeah, but the string constants seems not so hard
<krono>
It requires a notion of strings for the parser in the first place…
<catern>
sure, but that still doesn't seem so hard? it only has to exist in #defines
<catern>
er, sorry, actually I'm being confusing
<catern>
the cdef would be "#define COOLSTRING ..." so the parser wouldn't need any extra support for strings
<catern>
cffi already supports returning char*s from functions so it has a notion of them; there would just need to be some kind of... dynamism... maybe...
<catern>
alternatively it could be literally "#define COOLSTRING ...string" to indicate that this define is going to be a string constant so it should be handled like a string constant
<cfbolz>
Does cffi handle string constants in other places?
<catern>
sure, ffibuilder.cdef("const char* my_cool_constant;") works just fine
<catern>
even ffibuilder.cdef('const char* my_cool_constant = "foo";') works, although = "foo" isn't actually used by cffi (I think?)
<cfbolz>
Right
<cfbolz>
It's a question for arigato, who is on vacation I think
<Corbin>
In a fresh codebase, what's the difference between "vec" and "vec_all"? AIUI "vec_all" forces all JIT drivers to try to vec, while "vec" only does this for drivers that were created with vec=True?
stkrdknmibalz has joined #pypy
<Corbin>
Er, *vectorize=True, whoops. Still reading code.
<Corbin>
There should be docs on how to tune JIT drivers. I should write docs. I have no idea how to tune a JIT though.
<cfbolz>
Corbin: I have no idea
<cfbolz>
Nobody understands this code anymore, I think
<fijal>
did it ever work correctly?
xcm has joined #pypy
xcm_ has quit [Ping timeout: 260 seconds]
<cfbolz>
fijal: yes, for careful exacmples
arigo has joined #pypy
benjamin1 has joined #pypy
benjamin has quit [Ping timeout: 246 seconds]
habnabit has joined #pypy
habnabit_ has quit [Ping timeout: 268 seconds]
arigato has quit [Ping timeout: 264 seconds]
daubers has quit [Ping timeout: 264 seconds]
ronan has quit [Ping timeout: 246 seconds]
ronan has joined #pypy
daubers has joined #pypy
Atque has quit [Ping timeout: 276 seconds]
Atque has joined #pypy
Atque has quit [Remote host closed the connection]