working on gcc is killing me, haha
-
working on gcc is killing me, haha
@thephd Do you also work on llvm? If so, does it usher you toward death at a greater or lesser rate?
-
working on gcc is killing me, haha
@thephd i believe you have invented the world's best compression algorithm. "haha" - the amount of pain contained within those 32 bits is astronomical
-
@thephd Do you also work on llvm? If so, does it usher you toward death at a greater or lesser rate?
@swetland I finished working on LLVM already. It was monumentally easier, but only because all of my usual type-based refactoring techniques worked. GCC is a lot more type-sloppy (everything is either a tree or an rtx) and so it's impossible to trace the effect of things at compile-time using types or signatures. You just have to stick data in the machine and observe GCC chug away at it in a debugger or with verbose prints to track down what is going on.
-
working on gcc is killing me, haha
if you EVER hear me say "I think I'll implement this in GCC for fun" ever, I want you to slap the shit out of me. Just let loose. Doesn't matter if I lose a tooth or two, if that thought comes into my head again I deserve it.
-
if you EVER hear me say "I think I'll implement this in GCC for fun" ever, I want you to slap the shit out of me. Just let loose. Doesn't matter if I lose a tooth or two, if that thought comes into my head again I deserve it.
Do not let me do this again unless I am being paid real money.
-
if you EVER hear me say "I think I'll implement this in GCC for fun" ever, I want you to slap the shit out of me. Just let loose. Doesn't matter if I lose a tooth or two, if that thought comes into my head again I deserve it.
@thephd this sounds somewhat familiar..

-
Do not let me do this again unless I am being paid real money.
@thephd one or two more ICEs are fine with us.
-
Do not let me do this again unless I am being paid real money.
@thephd Pieces of eight?
-
@swetland I finished working on LLVM already. It was monumentally easier, but only because all of my usual type-based refactoring techniques worked. GCC is a lot more type-sloppy (everything is either a tree or an rtx) and so it's impossible to trace the effect of things at compile-time using types or signatures. You just have to stick data in the machine and observe GCC chug away at it in a debugger or with verbose prints to track down what is going on.
@thephd @swetland is it mandatory to provide two implementations by yourself?
-
@thephd @swetland is it mandatory to provide two implementations by yourself?
@archiloque No. But the rules for proposals are different for me, unlike all of my colleagues.
-
@swetland I finished working on LLVM already. It was monumentally easier, but only because all of my usual type-based refactoring techniques worked. GCC is a lot more type-sloppy (everything is either a tree or an rtx) and so it's impossible to trace the effect of things at compile-time using types or signatures. You just have to stick data in the machine and observe GCC chug away at it in a debugger or with verbose prints to track down what is going on.
A little over 20 years ago, I wrote a replacement for the GCC Objective-C runtime that supported more modern features. People tried to persuade me to add support for the language features into FSF GCC (they were already in Apple GCC and ‘just’ needed porting). At the time, clang had no support for Objective-C code generation, though it could build a(n almost correct) Objective-C AST.
After a week of failing to figure out what the GCC code was doing, I added code generation support for Objective-C to clang. Support for Objective-C on non-Apple platforms has roughly kept parity since then in clang (we actually shipped blocks support six months before their public release) and has gained support for things like SEH-compatible exceptions on Windows. GCC remains stuck on a turn-of-the-millennium dialect of Objective-C.
-
A little over 20 years ago, I wrote a replacement for the GCC Objective-C runtime that supported more modern features. People tried to persuade me to add support for the language features into FSF GCC (they were already in Apple GCC and ‘just’ needed porting). At the time, clang had no support for Objective-C code generation, though it could build a(n almost correct) Objective-C AST.
After a week of failing to figure out what the GCC code was doing, I added code generation support for Objective-C to clang. Support for Objective-C on non-Apple platforms has roughly kept parity since then in clang (we actually shipped blocks support six months before their public release) and has gained support for things like SEH-compatible exceptions on Windows. GCC remains stuck on a turn-of-the-millennium dialect of Objective-C.
@david_chisnall @thephd @swetland
The objective c frontend in gcc has always been bad. I blame next/apple for that mess. -
@david_chisnall @thephd @swetland
The objective c frontend in gcc has always been bad. I blame next/apple for that mess. -
R relay@relay.infosec.exchange shared this topic