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
"I think I'll switch up my diet to eat more greens." 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'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'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's starting to get interesting please reverse engineers out there tell me I'm making a big mistake please I have so much work I don'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's done. No point submitting to either since it's C++29 stuff but yeah, I'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 "Nobody Reviews Compiler Output" chump with One Simple Image.
-
Post #1884816
It'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 = { "test" }; bar(3); bar(f) = "something"; puts(f.name); // prints "something" }
-
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'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's a magic function and can contain any nonsense to compiler internals and can't be spread all over the place. https://github.com/llvm/llvm-project/pull/190578
-
Post #1796629
In a "surprise twist" 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's worth, I'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's going to be the raccoon!!
-
Post #1538301
What in God's Name is wrong with libstdc++ and GCC that there isn'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'd truly crash out if this doesn'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 "configure" 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'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'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't get the ARM64 linux for it. I'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'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'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've noticed that a lot of people sort of forgot the power in "I just have a data file I can carry around that can be safely loaded because its restriction is the point" and just keep doing things like "What if I gave someone access to an unrestricted python / Lua / JavaScript / {etc.} interpreter as part of my program?".
-
Post #583760
To be clear: "fixing" this (by making the negative be part of literals) would be a catastrophic breaking change. No way I'd ever propose this.