Advertisement · 728 × 90

Posts by Bigcheese

Putting reference in quotes and saying "Here's the source code for Salesforce." strongly implies you think it was given access to GCC source, not that it was told if the program works when a set of TUs is built with GCC.

I would be more impressed if Claude had thought to do this itself.

2 months ago 1 0 1 0

You have wildly misunderstood the article. GCC was used as a known good compiler to isolate which source files the new compiler had issues with. This is standard practice in compiler development when you have a known working compiler.

It's a bad compiler, but impressive it works as well as it does.

2 months ago 0 0 1 0
Preview
BronyExpo Coming soon to the Bay Area, California!

Hello pony people! We're cooking in Northern California

To sign up for our newsletter and learn more about who we are, check out our website!

bronyexpo.com

3 months ago 39 16 3 2
Post image

oh, no, that's not safe to eat

1 year ago 26 7 0 0
Post image Post image

I made a flat plush.

1 year ago 3 0 0 0

It also even works for C, so C++ and C can be compatible here.

1 year ago 0 0 0 0

I'm thinking of proposing module maps for standardization. It's clear to me that they are the right solution for telling the toolchain which headers should be header units. Since the system headers need them too, it doesn't make sense for each compiler to have their own version.

1 year ago 2 0 1 0

Include translation mostly solves the duplicate definition problem, although sometimes the compiler does need to type merge. It definitely is a big task to deploy header units in a large codebase, but it's significantly less effort than moving everything to named modules.

1 year ago 1 0 1 0

The huge difference is that PCH's are generally only allowed to exist once per TU and if anything changes the whole thing needs to be rebuilt, while header units form a DAG. Given well written headers, it's almost transparent to switch to header units.

1 year ago 0 0 0 0

There's more toolchain and build system work needed to make this generally available to people, but nobody seems interested in working on it.

1 year ago 1 0 1 0
Advertisement

Clang modules have been made to work with distributed build systems, but I'm not aware of any publicly available build systems that currently do. Although there seems to be some effort in GN: gn.issues.chromium.org/issues/42440... and chromium.googlesource.com/chromium/src....

1 year ago 0 0 1 0

Header units are new in C++20. They are a way to treat a header as a separate translation unit, and then import it into any other TU that uses it by converting `#include` to `import`. Clang has had clang modules which are nearly the same thing for ~10 years now, and some companies are using this.

1 year ago 0 0 1 0

I wish people weren't so against header units. They are by far the fastest way to get the build perf benefits of modules as they don't require rewriting all your code. It's also equivalent to what Apple, Google, Meta, and Microsoft are using in prod.

1 year ago 3 0 2 0

The capitalization is the worst part here.

1 year ago 0 0 0 0

Well, you were likely playing on a 640×480 or 800×600 CRT, so it was better. It's a lot different on a 4k LCD.

1 year ago 0 0 0 0

Yeah, I have a room at the very end :(

1 year ago 1 0 1 0
Drawing of a ponified version of the LLVM dragon with its hooves together in a pleading pose.

Drawing of a ponified version of the LLVM dragon with its hooves together in a pleading pose.

LLVM pone wants to make more assumptions about your code.

By @rivibaes.bsky.social

2 years ago 4 0 0 0

And here I thought canonicalizing -D and -U options would be easy:
godbolt.org/z/3dKW9ro9G

2 years ago 0 0 0 0
Advertisement

So apparently both file locking and named semaphores are just fundamentally broken in the Unix ecosystem.

apenwarr.ca/log/20101213
membarrier.wordpress.com/2020/07/16/t...

Also Android just doesn't implement named semaphores.

I just want simple, reliable, and portable cross process sync :(

2 years ago 0 0 0 0

What would your preferred API be here? C doesn't have non-trivial output iterators, so having non-bounded APIs is always going to be an issue, while in C++ it's a nice way to allocate the correct size without double formatting.

Would be better if you couldn't pass a UB on overflow iterator though.

2 years ago 1 0 1 0
3 floating shelves filled with My little pony plushies

3 floating shelves filled with My little pony plushies

Added some more plush display space.

2 years ago 5 0 0 0

`poison`

2 years ago 0 0 1 0

Thanks. I was searching for other LLVM/compiler people and saw it.

2 years ago 1 0 0 0

Not just the LLVM dragon, it's a ponified version of the LLVM dragon I had commissioned.

2 years ago 1 0 2 0