You really want to have the infrastructure argument about which is a better compiler infrastructure?
Even GCC developers (like I was ) don't really question it.
The only thing GCC buys you right now, at all, is slightly better performance (it varies depending on your benchmark) and support for a larger variety of odd embedded systems.
On the other hand, LLVM is very easy to modify, can be built as a library (as can clang), has a sane, well defined IR, etc.
Did I say that gcc has the better infrastructure, the more modern code base, better modularity? I don't think so. That would actually be pretty weird, given that its code base is nearing 30 years of history. But I hope that it is still allowed to say that GCC has made progress the past few years. And I think it is worth refuting claims like "you cannot access the AST in gcc", since this is simply not true anymore. Yes, actually dealing with the AST is baroque, but you can access it nonetheless. There are nice plugins for GCC, like Melt or the python-plugin which make this easier, though. Also, there's the license/freedom thingy, which might not interest you, but others do care about such things.
"Did I say that gcc has the better infrastructure, the more modern code base, better modularity? I don't think so. "
Your reply certainly implied you thought GCC was fine along the same axises your parent said clang was better.
"But I hope that it is still allowed to say that GCC has made progress the past few years."
You are talking to a guy who helped make some of this progress (for example, I helped build the tree-ssa project that brought a language independent middle IR and SSA optimizers to GCC).
It's certainly made progress, but that progress had been fought about for the 5 years before that. At the same time, GCC lost good developers during these fights due to wanting to get stuff done and not deal with politics.
"Also, there's the license/freedom thingy, which might not interest you, but others do care about such things."
Actually, it interests me immensely. I helped with things like the libstdc++ exception, etc.
Besides being a compiler guy, i'm an open source lawyer.
But in the end, I choose stuff based on technical merits first, freedom second.
You are of course, welcome to do as you please.
> Your reply certainly implied you thought GCC was fine along the same axises your parent said clang was better.
No. I simply corrected a false statement regarding gcc. I did not compare it to clang at all. I have no illusions how gcc does compare to clang w.r.t. to code quality, modularity, etc. As I've said: it would be weird if it were otherwise. It's really not hard to beat gcc in that area.
> You are talking to a guy who helped make some of this progress
Thank you (no irony intended).
> Actually, it interests me immensely.
It may interest you, but as you say yourself:
> But in the end, I choose stuff based on technical merits first, freedom second
> Besides being a compiler guy, i'm an open source lawyer.
Apologies for replying in-thread (I couldn't find contact in your profile). Would it be possible to ask you a few questions about a perhaps-novel compiler licensing question for an open source application we're developing (we're a commercial entity and can pay for your time)? If so you can reach me at the email in my profile.
Even GCC developers (like I was ) don't really question it.
The only thing GCC buys you right now, at all, is slightly better performance (it varies depending on your benchmark) and support for a larger variety of odd embedded systems.
On the other hand, LLVM is very easy to modify, can be built as a library (as can clang), has a sane, well defined IR, etc.