4 ms·
“That is either genius, or a seriously diseased mind.” – Linus Torvalds
- roelschroeven 7y agoIn that post Linus says something I don't understand in that post: "... So with a constant, we have sizeof( 1 ? NULL : (int *) 1) and the rule is that if one of the sides of a ternary operation with pointers is NULL, the end result is the other type (int *)." Is Linus saying that the condition of the ternary operation doesn't matter if one of the sides is NULL? That it then always evaluates to the other side? That's not what happens when I try it. Or are there special rules when sizeof is applied?
- roelschroeven 7y agoOh, I get it now: Linus wasn't talking about the values, but about the types. In this case, the result will be a NULL pointer of type (int *). Sorry, nothing to see here.
- cbsks 7y agoI just had the same confusion. Thanks for figuring it out so I didn’t have to!
- andi1304 7y agotruly a thing of beaty
- imagin8or 7y agoTruly a thing of beaty
- rurban 7y agoI really need this for libc optimizations. So far it only worked in C++ mode or newer clang's, but not in gcc.
- msarnoff 7y agoIsn't this what GCC's `__builtin_constant_p()` does?
- pizzazzaro 7y ago>I am in awe of your truly marvelously disgusting hack. It's truly a work of art. Is this how Linus conveys the same thing as his old temper tantrums? Wtf I love the Code of Conduct now. Those anti-exclusion advocates have built a better Linus while still letting him maintain the standards that give us a better Linux! This drama is truly 10/10, would rewatch.