IRC channel logs
2024-07-14.log
back to list of logs
<fossy>stikonas, aggi: python was also fairly average - the most time consuming part was finding all of the pregened files <stikonas>well, those pregenerated files are always somewhat unreliable process <stikonas>since almost nobody else in distro packaging community cares about them <oriansj>the amount of generated crap distributed as "source" is kind of staggering all things considered. <oriansj>but I am hoping guix and nixos will allow packagers to finally lose their excuses for generated files being distributed but given their market share (which given their technical superiority is far too low), I have my doubts. <stikonas>oh well... I don't know whose blog it is there... <oriansj>well doing switch(4) is kind of bad code <oriansj>and an #ifdef is probably the more correct C thing in that case <oriansj>and I must admit; I didn't test using a constant value in the switch part. So I will have to check to see if that will even work in M2-Planet <oriansj>yeah, it isn't expanding after case for some reason. <oriansj>they need to put a space between case foo: and make it look like case foo : <oriansj>not something for a #define to expand <oriansj>we could add a check in maybe_expand to check to see if the previous token was case or we could make the tokenizer a little smarter to cover that case. <mihi>oriansj, what makes you think #defines should not be expanded in labels? I just double-checked and gcc's cpp replaces both FOO in "FOO: goto FOO;". TBH I did not read a recent specification how a preprocessor should work, but since it also replaces keywords I am surprised that it should not replace labels (in fact, is there anything except string literals and comments where it should not replace identifiers which <mihi>are separated by non-identifier chars?) <oriansj>the reason I wouldn't want that behavior is that labels don't get translated beyond going from FOO: to :FOO and being passed straight to M1 to be handled <oriansj>and thus labels are global (doing FOO: in function A and goto FOO; in function B is valid but can cause problems)