cfbolz changed the topic of #pypy to: #pypy PyPy, the flexible snake | IRC logs: and | hacking on TLS is fun, way more fun than arguing over petty shit, turns out
energizer has quit [Ping timeout: 260 seconds]
energizer has joined #pypy
catern has joined #pypy
Atque has joined #pypy
<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]
Atque has joined #pypy
benjamin1 is now known as benjamin