< 1556582438 581218 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :(#undef and replacing a macro is UB iff the macro starts with _[A-Z_]) < 1556582551 839835 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's possible. < 1556582582 55566 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :I'm referring to the last draft of C11, FWIW. < 1556582608 404691 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :(which is officially distinct from the actual spec, but in practice is the same damned thing) < 1556582631 999126 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That must be one of the things they changed. < 1556582637 775556 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :Maybe. < 1556582643 457013 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You should pay ISO a bunch of money to make sure. < 1556582644 686769 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :Or it could be that POSIX is different. < 1556582660 698131 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :POSIX does like adding extra UB. < 1556582668 767483 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Time to go back to K&R C. < 1556582707 160484 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :Where there's a definition I guess, but every single aspect of it is something some implementation felt free to change? :) < 1556582733 687507 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But also implementations were reasonable rather than malicious. < 1556582749 918427 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :No, they were differently malicious. < 1556582771 23256 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Possibly incompetent, but not malicious. < 1556582782 339765 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :Okay, I suppose that's fair. < 1556583448 764243 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There's a comp.std.c post where someone involved in the standardization process (I forget their actual job title, and it's not very easily searchable) lists the changes between N1570 and the final text. < 1556583459 849265 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://groups.google.com/d/msg/comp.std.c/v5hsWOu5vSw/zHU1sw7_2mIJ < 1556583494 132294 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There's a few errors where it's implied _Alignof can take an expression (rather than just a parenthesized type name), but I doubt that's a big deal. < 1556583520 569999 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :So, only likely to be all that relevant if you're being especially rules-lawyerly < 1556583533 895347 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I guess since C18 was finalized, it's time to start citing that now. < 1556583716 816257 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Not sure it has as convenient a draft though. < 1556583742 430202 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://iso-9899.info/wiki/The_Standard says the latest availale is c17_updated_proposed_fdis.pdf (N2176), which claims to be the "version of the document -- intended to be the version that is to go into ballot for C17". < 1556583805 806004 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Typesetting isn't bad, but the PDF TOC only goes three levels deep. < 1556583832 493649 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Formatting kind of reminds me of the c < 1556583838 168277 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :...C++ standard drafts. < 1556583921 583351 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Also, you can buy INCITS/ISO/IEC 9899:2012 for just $60, compared to the CHF 198 ISO wants. < 1556583932 903956 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think it was $30 earlier, but, you know, trying times. < 1556584048 158988 :pikhq!~pikhq@174-16-32-159.hlrn.qwest.net PRIVMSG #esoteric :That's $60 more than I'm happy with, but that's not _that_ crazy. < 1556586069 788963 :gerzytet!~gerzytet@71.214.80.128 PRIVMSG #esoteric :`? html < 1556586071 417513 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :HTML is short for "hope this mess loads". < 1556587941 249001 :gerzytet!~gerzytet@71.214.80.128 PRIVMSG #esoteric :`learn html5 is something that should definitely not be parsed with regex < 1556587943 495515 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Learned 'html5': html5 is something that should definitely not be parsed with regex < 1556587986 579396 :gerzytet!~gerzytet@71.214.80.128 PRIVMSG #esoteric :`learn John Skeet is the king of Stack Overflow < 1556587988 776405 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Learned 'john': John Skeet is the king of Stack Overflow < 1556588049 695083 :gerzytet!~gerzytet@71.214.80.128 PRIVMSG #esoteric :`forget john < 1556588052 808711 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Forget what? < 1556588059 158188 :gerzytet!~gerzytet@71.214.80.128 PRIVMSG #esoteric :`learn John_Skeet is the king of Stack Overflow < 1556588061 374439 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Learned 'john_skeet': John_Skeet is the king of Stack Overflow < 1556588175 631131 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`revert < 1556588176 808565 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Done. < 1556589262 506988 :adu!~ajr@pool-173-73-86-145.washdc.fios.verizon.net QUIT :Quit: adu < 1556589676 765345 :adu!~ajr@pool-173-73-86-145.washdc.fios.verizon.net JOIN :#esoteric < 1556589739 955518 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1556590179 841372 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep < 1556592795 270014 :tromp!~tromp@2a02:a210:1585:3200:4c3e:9314:59dc:d1b9 JOIN :#esoteric < 1556593047 267486 :tromp!~tromp@2a02:a210:1585:3200:4c3e:9314:59dc:d1b9 QUIT :Ping timeout: 240 seconds > 1556593625 817447 PRIVMSG #esoteric :14[[07Bur14]]4 M10 02https://esolangs.org/w/index.php?diff=61441&oldid=61362 5* 03Zane 5* (+547) 10 < 1556598113 804808 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1556600318 59290 :tromp!~tromp@2a02:a210:1585:3200:7dcb:efa6:c685:7ca9 JOIN :#esoteric < 1556600380 75511 :tromp_!~tromp@2a02:a210:1585:3200:dcdb:7307:1fc1:847c JOIN :#esoteric < 1556600578 61673 :tromp!~tromp@2a02:a210:1585:3200:7dcb:efa6:c685:7ca9 QUIT :Ping timeout: 259 seconds < 1556600647 74123 :tromp_!~tromp@2a02:a210:1585:3200:dcdb:7307:1fc1:847c QUIT :Ping timeout: 258 seconds < 1556604585 956321 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net JOIN :#esoteric < 1556606177 289277 :rodgort!~rodgort@68.ip-149-56-14.net QUIT :Quit: Leaving < 1556606234 765384 :Frater_EST!~adrianbib@wsip-68-15-198-210.ok.ok.cox.net PART :#esoteric < 1556606332 271254 :tromp!~tromp@2a02:a210:1585:3200:dcdb:7307:1fc1:847c JOIN :#esoteric < 1556606787 583110 :rodgort!~rodgort@68.ip-149-56-14.net JOIN :#esoteric < 1556606919 717468 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1556609703 441086 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 245 seconds < 1556609982 431077 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric > 1556610768 703144 PRIVMSG #esoteric :14[[07User:YamTokTpaFa/sandbox14]]4 10 02https://esolangs.org/w/index.php?diff=61442&oldid=61429 5* 03YamTokTpaFa 5* (-15613) 10Replaced content with "'''Devilic10''' is an assembly language for esoteric machine "'''Devilic10 Machine'''" designed by [[User: YamTokTpaFa]]. This language features binary-coded 9-ary value,..." < 1556610905 217383 :AnotherTest!~turingcom@d51A4B8E1.access.telenet.be JOIN :#esoteric > 1556611379 374027 PRIVMSG #esoteric :14[[07User:YamTokTpaFa/sandbox214]]4 N10 02https://esolangs.org/w/index.php?oldid=61443 5* 03YamTokTpaFa 5* (+489) 10Created page with "{{Distinguish/Confusion|Braincrash}} '''BrainCrash''' is a [[:Category:Brainfuck derivatives|Brainfuck derivative language]] designed by , published in 2008. The purpos..." < 1556612193 100949 :tromp!~tromp@2a02:a210:1585:3200:dcdb:7307:1fc1:847c QUIT :Remote host closed the connection > 1556612620 767695 PRIVMSG #esoteric :14[[07HQ9F+14]]4 N10 02https://esolangs.org/w/index.php?oldid=61444 5* 03YamTokTpaFa 5* (+280) 10Created page with "{{Stub}} '''HQ9F+''' is a derivative language of [[HQ9+]] but with [[FizzBuzz]] feature, designed by , published in 2007. == Links == *[https://web.archive.org/web/200..." > 1556613008 331079 PRIVMSG #esoteric :14[[07HQ9F+14]]4 10 02https://esolangs.org/w/index.php?diff=61445&oldid=61444 5* 03YamTokTpaFa 5* (+366) 10 > 1556613182 224740 PRIVMSG #esoteric :14[[07HQ9F+14]]4 10 02https://esolangs.org/w/index.php?diff=61446&oldid=61445 5* 03YamTokTpaFa 5* (+177) 10 > 1556613372 878215 PRIVMSG #esoteric :14[[07HQ9F+14]]4 10 02https://esolangs.org/w/index.php?diff=61447&oldid=61446 5* 03YamTokTpaFa 5* (+13) 10 < 1556613551 518023 :tromp!~tromp@2a02:a210:1585:3200:dcdb:7307:1fc1:847c JOIN :#esoteric > 1556613563 295841 PRIVMSG #esoteric :14[[07Pxem14]]4 10 02https://esolangs.org/w/index.php?diff=61448&oldid=61440 5* 03YamTokTpaFa 5* (+31) 10/* Instructions */ < 1556614009 19789 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I started playing Baba Is You last night < 1556614015 212740 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :It is enjoyable < 1556614613 672580 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :good! < 1556618421 494692 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Did you manage to enjoy it? < 1556618442 916323 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Not in its entirety yet < 1556618462 51853 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure, only the parts you played. < 1556618812 207183 :rain1!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :goood game < 1556619225 545796 :arseniiv!~arseniiv@136.169.201.157 JOIN :#esoteric > 1556620529 504768 PRIVMSG #esoteric :14[[07JCLN14]]4 N10 02https://esolangs.org/w/index.php?oldid=61449 5* 03A 5* (+442) 10Created page with "[[JCLN]] (Jump Conditionally to a LiNe) is an [[OISC]] instruction. ==Syntax== ===To unconditionally jump to a line:===
 jcln *, line #For example, to jump to line 5, you..."
< 1556620718 725259 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :It's fun and challenging
< 1556620726 782441 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I'm going to take a long time to complete it, I feel
> 1556620794 812617 PRIVMSG #esoteric :14[[07OISC14]]4 10 02https://esolangs.org/w/index.php?diff=61450&oldid=61271 5* 03A 5* (+167) 10/* List of OISCs */
< 1556621124 149878 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :like a good puzzle game should
< 1556621135 69810 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Mhmm
< 1556621160 132151 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I've looked at a couple of levels and given up and moved on
< 1556621171 765834 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :But luckily it lets you play non-linearly enough to accomplish that
< 1556621311 135316 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :i still recommend having a look at snakebird
> 1556621449 595242 PRIVMSG #esoteric :14[[07User:YamTokTpaFa/sandbox214]]4 10 02https://esolangs.org/w/index.php?diff=61451&oldid=61443 5* 03YamTokTpaFa 5* (+1394) 10
> 1556621468 925029 PRIVMSG #esoteric :14[[07Talk:Bitch14]]4 10 02https://esolangs.org/w/index.php?diff=61452&oldid=61438 5* 03A 5* (+433) 10incomplete
> 1556621475 368477 PRIVMSG #esoteric :14[[07User:YamTokTpaFa/sandbox214]]4 M10 02https://esolangs.org/w/index.php?diff=61453&oldid=61451 5* 03YamTokTpaFa 5* (-1883) 10Blanked the page
> 1556621527 183877 PRIVMSG #esoteric :14[[07BrainCrash14]]4 N10 02https://esolangs.org/w/index.php?oldid=61454 5* 03YamTokTpaFa 5* (+1940) 10Created page with "{{Distinguish/Confusion|Braincrash}}  '''BrainCrash''' is a [[:Category:Brainfuck derivatives|Brainfuck derivative language]] designed by , published in 2008. The purpos..."
> 1556621587 117336 PRIVMSG #esoteric :14[[07Brainfuck extensions14]]4 10 02https://esolangs.org/w/index.php?diff=61455&oldid=60983 5* 03YamTokTpaFa 5* (+16) 10
> 1556621637 84420 PRIVMSG #esoteric :14[[07Brainfuck.NET14]]4 M10 02https://esolangs.org/w/index.php?diff=61456&oldid=56294 5* 03YamTokTpaFa 5* (+38) 10/* Language overview */
> 1556621640 164465 PRIVMSG #esoteric :14[[07Talk:Bitch14]]4 10 02https://esolangs.org/w/index.php?diff=61457&oldid=61452 5* 03A 5* (+111) 10incomplete
< 1556621646 109456 :rain1!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :snakebird is great
< 1556621691 281525 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :What's the concept?
< 1556621900 216440 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :you have figures that behave like in a snake game with gravity and you have to move those to a goal
< 1556621969 952676 :rain1!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :they are actually birds though
< 1556621980 969418 :rain1!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :they're just long birds
< 1556622005 269849 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :snakebirds, kinda
< 1556622007 455616 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Ah, I'll have to check it out when I'm finished with BIY
< 1556622050 282755 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :there is a mobile version of it
> 1556622288 290294 PRIVMSG #esoteric :14[[07Talk:Bitch14]]4 10 02https://esolangs.org/w/index.php?diff=61458&oldid=61457 5* 03A 5* (+145) 10Phew! Fill up the rest of the specification.
> 1556622788 820813 PRIVMSG #esoteric :14[[07Braincrash14]]4 10 02https://esolangs.org/w/index.php?diff=61459&oldid=38051 5* 03YamTokTpaFa 5* (+37) 10
> 1556622809 831727 PRIVMSG #esoteric :14[[07BrainCrash14]]4 10 02https://esolangs.org/w/index.php?diff=61460&oldid=61454 5* 03YamTokTpaFa 5* (+18) 10
> 1556622840 388204 PRIVMSG #esoteric :14[[07HQ9F+14]]4 10 02https://esolangs.org/w/index.php?diff=61461&oldid=61447 5* 03YamTokTpaFa 5* (+18) 10
< 1556623276 538679 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric
< 1556623428 92320 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie, pikhq, shachaf: as for the C standard, what I'd like to know is whether I'm allowed to write offsetof(struct { char b; T v; }, v) in an expression instead of alignof(T), where T is some object type. 
< 1556623467 246046 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I looked at the drafts, but since offsetof is just a macro rather than a builtin, it doesn't have dozens of paragraphs of strict definitions, just some very brief description. at one point gcc and clang interpreted this differently, one allowed it and the other banned it.
< 1556623903 921690 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Hmm, structs...
< 1556624252 776101 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`? structs
< 1556624255 707984 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :structs? ¯\(°​_o)/¯
< 1556624412 453247 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: at the very least 6.7.2.1.15 (in the? C18 draft) seems vague enough that the compiler is free to align the T v field more coarsely than strictly required.
< 1556624439 146177 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: oh sure, but that's not really my question
< 1556624460 444509 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :my question is whether you're allowed to define a struct right inside the offsetof
< 1556624501 18878 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ah.
< 1556624575 525090 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :if it's allowed then you can use that to write alignof as a macro
< 1556624584 592733 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :a macro not using the builtin _Alignof that is
< 1556624599 652562 :int-e!~noone@int-e.eu PRIVMSG #esoteric :"an integer constant expression" yeah that doesn't really help. But I not that there's no explicit restriction on the 'type' argument and struct{...} is a valid type in other contexts...
< 1556624602 351410 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it doesn't matter much anymore, because today's compilers all support the builtin alignof
< 1556624615 646057 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it cam up more back when some compilers didn't yet have it
< 1556624632 12974 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So I'd argue that your use case should be valid. But I can easily see it go wrong in practice :)
< 1556624644 461233 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I not -> I note
< 1556624707 363408 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :... well, actually it's tricker than that
< 1556624789 875822 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you've probably done more digging into the standard than I have in the past 10 minutes :)
< 1556624811 493488 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but every compiler has either alignof, or the gcc extension __alignof__, or the MS extension __alignof, or the C++ template std::alignment_of, or the boost version of that latter
< 1556624832 448628 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :no, I mean it's trickier than "toyda's compilers all support the builtin alignof"
< 1556624963 711199 :int-e!~noone@int-e.eu PRIVMSG #esoteric :The main thing I did was to confirm that the compiler is free to align the T v field in whatever way it pleases as long as the minimum alignment is satisfied (the latter follows indirectly because you can take the address of that field and continue to access it through the resulting pointer without limitations)
< 1556625153 937878 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yes, I know, technically the standard allows extra padding between and after struct elements. but as far as I know, in reality in only happens in old architectures and only at the very end of structs whose contents are too small.
< 1556625198 673504 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :in any case, these days compilers try to compile code with ABI compatible with that of other compilers, so they won't randomly add padding
< 1556625532 831412 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :FWIW, I'd read the bit where it says "the type and member designator shall be such that given `static /type/ t;` then the expression `&(t./member-designator/)` evaluates to an address constant" at least implying that it should be fine to put the struct definition there.
< 1556625549 737465 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Because you could put it in the `static struct { ... } t;` as well.
< 1556625557 290455 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :But it's true it's a pretty brief description.
< 1556625647 893842 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: but if you only care about what happens in reality then you never need to consult the standard at all ;-)
< 1556625706 949278 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: yes, they say that to exclude types like `int [2]`, which doesn't matter in the usual definition of offsetof, but this way it's uniform with va_arg.
< 1556625737 543753 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: right, that's why I tried gcc and clang, and one of them accepted it, the other didn't
< 1556625846 124093 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: are you willing to divulge which one accepted it?
< 1556626164 998859 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I seem to recall on GCC offsetof(a,b) is just __builtin_offsetof(a,b). But of course that doesn't necessarily mean it would accept a struct definition in there.
< 1556626739 292563 :int-e!~noone@int-e.eu PRIVMSG #esoteric :okay apparently gcc accepts it.
< 1556626945 289302 :int-e!~noone@int-e.eu PRIVMSG #esoteric :but so does clang :P
< 1556626976 837507 :int-e!~noone@int-e.eu PRIVMSG #esoteric :clang version 7.0.1-8, gcc (Debian 8.3.0-7) 8.3.0
< 1556627035 217702 :AnotherTest!~turingcom@d51A4B8E1.access.telenet.be QUIT :Ping timeout: 246 seconds
< 1556627120 345019 :int-e!~noone@int-e.eu PRIVMSG #esoteric :printf("%zu\n", offsetof(struct{char a; int b;}, b)); <-- this is what I tried now.
< 1556627397 638578 :int-e!~noone@int-e.eu PRIVMSG #esoteric :uh, wrong format specifier; offsets are signed.
< 1556627919 210353 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: ok, but that doesn't really help you tell what it accepts
< 1556628054 940852 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :fizzie: the traditional definition was something like #define offsetof(t,f) (long)((t*)0->f)
< 1556628074 841394 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and that's why it was originally a macro rather than a keyword
< 1556628077 240771 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :on old compilers
< 1556628217 409686 :AnotherTest!~turingcom@natx-145.kulnet.kuleuven.be JOIN :#esoteric
< 1556628244 187266 :adu!~ajr@pool-173-73-86-145.washdc.fios.verizon.net QUIT :Quit: adu
< 1556628920 562498 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :int-e: No, the format specifier was fine.
< 1556628954 834034 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oh.
< 1556628962 134248 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"-- `offsetof(/type/, /member-designator/)` which expands to an integer constant expression that has type `size_t`, --"
< 1556628969 112126 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(C18 7.19p3)
< 1556628971 36433 :int-e!~noone@int-e.eu PRIVMSG #esoteric :right, I didn't think that through :)
< 1556628993 671717 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(it can't be negative even though I think of it as a difference of pointers...)
< 1556632877 481159 :AnotherTest!~turingcom@natx-145.kulnet.kuleuven.be QUIT :Ping timeout: 244 seconds
< 1556639934 326460 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think there's also an implementation like `#define offsetof(s,m) ((size_t)((char *)((s *)0)->m - (char *)0))` where it really is a difference of pointers.
< 1556639949 462777 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I don't think that's any better, or worse, than the other: it avoids the implementation-defined pointer-to-integer conversion, but still relies on making up the hypothetical `((*s)0)->m`.)
< 1556639966 964725 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :s/\*s/s*/
< 1556640333 505249 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection
< 1556640893 157373 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :What if a language only had downward funargs (functions don't extend the lifetime of their scope, can't use them when their scope dies), but simulated upward funargs by converting functions to CPS at runtime if they return anything that contains functions that are about to go out of scope?
< 1556640946 577963 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :For example, if F calls G, and G returns a function, then instead of popping G, F's continuation would be pushed. When that gets popped, G and F would be popped as well, returning whatever F's continuation popped.
< 1556640956 306316 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :s/continuation popped/continuation returned/
< 1556641551 508939 :AnotherTest!~turingcom@ptr-82l26zdrmfxfijq0ns3.18120a2.ip6.access.telenet.be JOIN :#esoteric
< 1556646743 801540 :arseniiv!~arseniiv@136.169.201.157 NICK :arseniiv_
< 1556646750 882917 :arseniiv_!~arseniiv@136.169.201.157 NICK :arseniiv
< 1556647812 249830 :bobby!~Bob@76.202.115.164 JOIN :#esoteric
> 1556649164 29724 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=61462&oldid=61278 5* 03Helen 5* (+3327) 10Java implementation of [[Volatile]]
< 1556649631 820383 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu JOIN :#esoteric
< 1556650078 441796 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 245 seconds
< 1556650172 271029 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric
< 1556653302 205044 :TheWild!~Thunderbi@apn-77-112-19-99.dynamic.gprs.plus.pl JOIN :#esoteric
< 1556653650 746821 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric
< 1556653664 976689 :S_Gautam!uid286066@gateway/web/irccloud.com/x-bivazkhvsjfshwzb JOIN :#esoteric
< 1556654993 548918 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Quit: This computer has gone to sleep
< 1556655380 543344 :arseniiv!~arseniiv@136.169.201.157 QUIT :Ping timeout: 255 seconds
< 1556656209 396464 :LKoen!~LKoen@crh60-h01-176-151-31-205.dsl.sta.abo.bbox.fr JOIN :#esoteric
> 1556656299 27347 PRIVMSG #esoteric :14[[07Bur14]]4 M10 02https://esolangs.org/w/index.php?diff=61463&oldid=61441 5* 03Zane 5* (+8) 10
< 1556656676 515573 :FreeFull!~freefull@defocus/sausage-lover QUIT :
< 1556656708 630562 :AnotherTest!~turingcom@ptr-82l26zdrmfxfijq0ns3.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 276 seconds
< 1556657212 951667 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric
< 1556658120 89536 :LKoen!~LKoen@crh60-h01-176-151-31-205.dsl.sta.abo.bbox.fr QUIT :Remote host closed the connection
< 1556658146 176461 :LKoen!~LKoen@crh60-h01-176-151-31-205.dsl.sta.abo.bbox.fr JOIN :#esoteric
< 1556658464 936556 :TheWild!~Thunderbi@apn-77-112-19-99.dynamic.gprs.plus.pl QUIT :Ping timeout: 246 seconds
< 1556660072 553984 :LKoen!~LKoen@crh60-h01-176-151-31-205.dsl.sta.abo.bbox.fr QUIT :Remote host closed the connection
< 1556660260 960044 :LKoen!~LKoen@crh60-h01-176-151-31-205.dsl.sta.abo.bbox.fr JOIN :#esoteric
< 1556660742 542755 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :`? mushroom
< 1556660743 674198 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :A mushroom is a fungus that grows above ground, especially after rain.
< 1556660749 307508 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :there's not mush room for factual entries in this database
< 1556660843 874654 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why not?
< 1556660851 859942 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`dowg mushroom
< 1556660853 714556 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :11801:2019-04-29  `` set -e; cd wisdom; mv -vi fungus mushroom; sed -i "s/^/A mushroom is /" mushroom; cat mushroom; echo ok
< 1556660866 730885 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`dowg fungus
< 1556660868 419215 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :11801:2019-04-29  `` set -e; cd wisdom; mv -vi fungus mushroom; sed -i "s/^/A mushroom is /" mushroom; cat mushroom; echo ok \ 11797:2019-04-29  ` mv wisdom/fungu wisdom/fungus  # you may opt to `forget it if you wish
< 1556660877 826604 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`dowg fungu
< 1556660879 534602 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :11797:2019-04-29  ` mv wisdom/fungu wisdom/fungus  # you may opt to `forget it if you wish \ 11796:2019-04-29  learn a fungus that grows above ground, especially after rain.
< 1556661049 473326 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yeah I was surprised about an entry that attempted to be factual
< 1556661289 453905 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :kmc: it came about because I listed the few tanebventions that don't have an entry – there are about three or four – and then gerzytet created one, and then I renamed it to place
< 1556661310 576914 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :and then ais came in and mentioned that he wants more factual wisdom entries and less stupid jokes
< 1556661313 393647 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`? tanebventions
< 1556661314 557850 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Tanebventions include necessity, Go, submarine jousting, Fueue, the universe, metar, sand, dragons, persistence, the BBC, _46bit, progress, sanity, Italian, the grace period, the limerick, ruin, and this sentence. See also tanebventions: maths or tanebventions: foods. He never invents anything involving sex.
< 1556661328 231915 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`? tanebventions: food
< 1556661329 543147 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Culinary tanebventions include automatic squirrel feeders, weetoflakes, mushrooms, nutella, and cognac.
< 1556661369 351428 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :`? ruin
< 1556661371 301203 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :ruin? ¯\(°​_o)/¯
< 1556661382 490758 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :`? the universe
< 1556661383 653852 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :The universe was invented by Taneb as an opposing force to oerjan. Escardó proved that it was indiscreet.
< 1556661383 841756 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :`? universe
< 1556661385 17793 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :A universe is a poem in one stanza.
< 1556661438 559450 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :`? linear logic
< 1556661439 698061 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :linear logic? ¯\(°​_o)/¯
< 1556661442 394870 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :`? tanebventions: math
< 1556661443 522381 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Mathematical tanebventions include D-modules, Chu spaces, the torus, Stephen Wolfram, Klein bottles, string diagrams, linear logic, the reals, Lambek's lemma, Curry's paradox, Stone spaces, algebraic geometry, locales, and histograms.
< 1556661464 47424 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :yeah, it was three
< 1556661472 256628 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :linear logic, ruin, and linear logic
< 1556661607 41804 :int-e!~noone@int-e.eu PRIVMSG #esoteric :. o O ( Are you even allowed to use "linear logic" twice in a sentence? )
< 1556661706 36576 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :um
< 1556661710 188321 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :mushroom, linear logic, and ruin
< 1556661725 606547 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu PRIVMSG #esoteric :and yes you are
< 1556662926 794980 :sleepnap!~thomas@2603:3015:260e:1900:8319:87ab:f00:d5de PART :#esoteric
> 1556663942 524294 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Mipinggfxgbtftybfhfyhfn 5*  10New user account
< 1556664069 617062 :LKoen!~LKoen@crh60-h01-176-151-31-205.dsl.sta.abo.bbox.fr QUIT :Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”
< 1556664344 551636 :S_Gautam!uid286066@gateway/web/irccloud.com/x-bivazkhvsjfshwzb QUIT :Quit: Connection closed for inactivity
< 1556664519 94189 :b_jonas!~x@catv-176-63-24-170.catv.broadband.hu QUIT :Quit: leaving
> 1556665032 926319 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=61464&oldid=61409 5* 03Mipinggfxgbtftybfhfyhfn 5* (+229) 10/* Introductions */
< 1556665919 987657 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric
< 1556666439 726214 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@messages-loud
< 1556666440 51691 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :int-e said 1d 1h 33m 5s ago: Seems you were correct... things are finally on track for going horribly right. Probably not in the way you expected though :)
< 1556666674 982183 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric
< 1556666772 59237 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i'm worried about the bears, they might try to prevent anyone neutralizing him.  (like the time creature trying to reverse the change...)  krosp might go either way.
< 1556666910 272783 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so, definitely horrible.  it reminds to see if anything goes right.
< 1556666919 761271 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :*remains
< 1556667003 680353 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`? fungus
< 1556667007 185486 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :fungus? ¯\(°​_o)/¯
< 1556667016 923613 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`dowg fungus
< 1556667018 533902 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :11801:2019-04-29  `` set -e; cd wisdom; mv -vi fungus mushroom; sed -i "s/^/A mushroom is /" mushroom; cat mushroom; echo ok \ 11797:2019-04-29  ` mv wisdom/fungu wisdom/fungus  # you may opt to `forget it if you wish
< 1556667031 586038 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`? mushroom
< 1556667032 871302 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :A mushroom is a fungus that grows above ground, especially after rain.
< 1556667369 185040 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`? toilet
< 1556667371 167458 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :toilet is elliot spelled backwards, without the extra l, with a t at the end.
< 1556667832 803319 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` ls -l wisdom/ha
< 1556667833 913408 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :ls: cannot access 'wisdom/ha': No such file or directory
< 1556667851 466332 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`dowg wisdom/ha
< 1556667853 179897 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :No output.
< 1556667862 745950 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :curious
< 1556667890 823166 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` dowg ha
< 1556667892 641720 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :11802:2019-04-29  forget ha \ 7443:2016-04-17  learn Ha van sz\xc3\xadved, hogy mindazt, mit el\xc3\xa9rt\xc3\xa9l, / Ha kell, egyetlen kock\xc3\xa1ra rakd, / s t\xc3\xbaltegyed magad, ha vesztes\xc3\xa9g \xc3\xa9r, / s ne legyen r\xc3\xb3la t\xc3\xb6bb\xc3\xa9 egy szavad
< 1556667936 29753 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`2 dowg ha
< 1556667938 65573 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :2/1:
< 1556667953 237207 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm that doesn't explain the permission thing.
< 1556668118 176161 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`forget toilet
< 1556668119 883412 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :Forget what?
< 1556668148 984667 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :no one seemed to actually complete the quality control
< 1556668219 22017 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :although it's a little suspicious when `5 w gives the last one added...
< 1556668230 578676 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat bin/5
< 1556668231 334070 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :cmd="${1-quote}"; \`^ 5 "$cmd"
< 1556668248 425347 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat bin/^
< 1556668249 122071 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :cat: 'bin/^': No such file or directory
< 1556668257 781718 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat bin/`^
< 1556668258 553637 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :​[[ $# == 2 ]] || { echo "Usage: $0 n cmd" >&2; exit 2; }; for ((i=0; i < $1; i++)); do \` "$2"; done | sport
< 1556668277 452182 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat bin/w
< 1556668278 184174 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :wisdom "$@"
< 1556668288 398957 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`cat bin/wisdom
< 1556668289 325495 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :​#!/bin/sh \ f=$(find wisdom -ipath "wisdom/*$1*" -type f -print0 | shuf --random-source=/dev/urandom -z -n1); if [ -n "$f" ]; then echo -n "${f#wisdom/}//"; cat "$f"; else echo "That's not wise."; fi | rnooodl
< 1556668309 235085 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :you'd think urandom would be enough.
< 1556668323 923173 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i suppose it was just meant to be deleted.
< 1556668608 772636 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`before wisdom/if
< 1556668611 232751 :HackEso!~HackEso@techne.zem.fi PRIVMSG #esoteric :wisdom/if//If you can make one heap of all your winnings / And risk it on one turn of pitch-and-toss, / And lose, and start again at your beginnings / And never breathe a word about your loss: