Elektrine lite

← Feed

Björkus "No time_t to Die" Dorkus

thephd@pony.social

<p>🎇 Somehow Is A C Expert ✨ Smooches Unicode-kun 💕 The C Standard Cannot Be Replaced And Will Never Be Destroyed. 🧟‍♀️ Pixel Art is Cool ✨ Banner by Wus (Reckless Moss), Avatar by Kiing Kiismet!</p>

Posts

  • Post #4319203

    C++ now has thread attributes and because it took me so long, they got theirs before C got ours: https://eel.is/c++draft/thread.threads#thread.attributes https://thephd.dev/_vendor/future_cxx/papers/C%20-%20Thread%20Attributes%20-%20Implementation%20Extensible%20and%20ABI-Resistant.html Just goes to show how dogshit slow I am that C++ can figure it out with more features before C does.

  • Post #4319202

    Alright, officially talking to ISO to get this turned from a draft into a real thing. Thanks to everyone for participating! https://www.open-std.org/JTC1/SC22/WG14/www/docs/n3928.pdf

  • Post #4319201

    &quot;I think I&#39;ll switch up my diet to eat more greens.&quot; I could not have worse timing.

  • Post #3891866

    Really, really cool working with these things.

  • Post #3334684

    Working on compilers is fun, I should do this for a living sometime.

  • Post #2558134

    Live now: https://www.open-std.org/JTC1/SC22/WG14/www/docs/n3550.pdfhttps://www.open-std.org/JTC1/SC22/WG14/www/docs/n3551.htm

  • Post #2505877

    Got Stun Locked Again, so it&#39;s time to dump a rant I made elsewhere: C is not a language for direct control of the hardware. C is a langauge that is coded to the semantics of an Abstract Machine specified in a document. It&#39;s no more capable of hardware control that e.g. Rust or Zig. What it has is a wide variety of pre-existing implementations that allow you to touch that hardware, but most of that control was programmed in an assembly language or worked into the hardware/firmware by so...

  • Post #2125756

    working on gcc is killing me, haha

  • Post #2120627

    God help me I started doing disassembly and decompilation and it&#39;s starting to get interesting please reverse engineers out there tell me I&#39;m making a big mistake please I have so much work I don&#39;t need another too-interesting hobby help hELP HEEELP--

  • Post #2061186

    Extremely important poll: what animal / anthropomorphic animal face should I try to sneak into LLVM/GCC by way of tinary binary / ascii art?

  • Post #2027383

    GCC docs. Looks nice. Both GCC and Clang patches fully completed. Could use some tweaking but tbh it&#39;s done. No point submitting to either since it&#39;s C++29 stuff but yeah, I&#39;m all set.

  • Post #1978425

    GCC allows non-FSF contributions as long as you have signoff. I still have to separate the thing out into 3 patches but, hopefully soon, GCC will also be on the C and C++ (thephd.dev) compilers. Maybe. I sure hope I did it right / it works. https://github.com/compiler-explorer/compiler-explorer/pull/8670

  • Post #1922989

    Jumpscare a &quot;Nobody Reviews Compiler Output&quot; chump with One Simple Image.

  • Post #1884816

    It&#39;s live. https://godbolt.org/z/71f3xxcYh #include #define bar(x) _Generic(x, \ int v: v, \ struct foo v: v.name \ ) struct foo { char* name; }; int main() { struct foo f = { &quot;test&quot; }; bar(3); bar(f) = &quot;something&quot;; puts(f.name); // prints &quot;something&quot; }

  • Post #1859777

    Easier than expected, the docs for making changes are great! Thanks @mattgodbolt@hachyderm.io for making this super painless to do. https://github.com/compiler-explorer/clang-builder/pull/107https://github.com/compiler-explorer/compiler-workflows/pull/62https://github.com/compiler-explorer/infra/pull/2086https://github.com/compiler-explorer/compiler-explorer/pull/8662

  • Post #1852312

    Well, it&#39;s more or less completely implemented in Clang. This makes it easier to talk about implementations when it comes up in EWG for The Fiftieth Time. And, as I kept writing, this implementation is far easier than #embed because it&#39;s a magic function and can contain any nonsense to compiler internals and can&#39;t be spread all over the place. https://github.com/llvm/llvm-project/pull/190578

  • Post #1796629

    In a &quot;surprise twist&quot; that everyone with a working brain expected, it turns out shuttling variables through globals or statics is far, far more expensive than using the stack and/or registers with normal arguments and an implicit backing object. In a further upset, it turns out that Lambdas embody that pretty strongly, and the 2nd best thing is a strongly typed closure plus a thin Wide Function Pointer type. Crazy how that works. https://thephd.dev/the-cost-of-a-closure-in-c-c2y-foll...

  • Post #1707940

    RE: https://pony.social/@thephd/116466930044310525 It seems like the humble raccoon has won. Twitter also picked the Raccoon; Bluesky was more all-over-the-place. A few different discords voted overwhelmingly for the wolf. For what it&#39;s worth, I&#39;m going to do my best to get all sorts of fun animal art into all of the projects I work on. But I guess for this one, it&#39;s going to be the raccoon!!

  • Post #1538301

    What in God&#39;s Name is wrong with libstdc++ and GCC that there isn&#39;t a proper compile-time assert / compile-time abort feature??

  • Post #1494704

    How do I get the damn g++/gcc I get from make install to be properly debuggable? This shit is atrocious to step through, jumping all over the damn place and optimizing out all the fucking variables.

  • Post #1358208

    I have put so, so much work into this, on multiple implementations. I think I&#39;d truly crash out if this doesn&#39;t end up panning out.

  • Post #1139388

    @pinskia@hachyderm.io Idiot noob question about the Makefile.am in libstdc++-v3 -- I edited the Makefile.am in the include/ dir, expecting that a &quot;configure&quot; invocation (from the root dir into a build dir or from libstdc++-v3/ into a different build dir) would rebuild the Makefile.in; but when I look at the Makefile.in in the repo after configure runs, my changes aren&#39;t reflected there. Am I just fucking stupid? How do I modify the set of installation headers for libstdc++-v3/inc...

  • Post #1134559

    implementing a stupid APPEND_TO dynamic array for this string because I don&#39;t have access to a basic array type. The best of the bare metal, or whatever.

  • Post #1124249

    @cult@pony.social Thank yooou. 💚

  • Post #1028442

    @dluz@hachyderm.io That might do the trick. Right now I was using UTM with a typical debian but I guess I didn&#39;t get the ARM64 linux for it. I&#39;ll give it a shot with something like that, or maybe wander to Parallels and see if they have ARM64 virutalization up to speed to build a arm64-linux-gnu sort of thing.

  • Post #1017589

    I guess since I can&#39;t get GCC built on my Mac and since the damn virtual machines take forever and a day (no hyperbole) to reach the login screen, I think I&#39;m just gonna have to say Shrug to make the GCC patch.

  • Post #809920

    What an awful two days.

  • Post #764023

    @seanmiddleditch@hachyderm.io truly, there is no security posture more foolproof!

  • Post #763050

    @seanmiddleditch@hachyderm.io I&#39;ve noticed that a lot of people sort of forgot the power in &quot;I just have a data file I can carry around that can be safely loaded because its restriction is the point&quot; and just keep doing things like &quot;What if I gave someone access to an unrestricted python / Lua / JavaScript / {etc.} interpreter as part of my program?&quot;.

  • Post #583760

    To be clear: &quot;fixing&quot; this (by making the negative be part of literals) would be a catastrophic breaking change. No way I&#39;d ever propose this.