Ian Lance Taylor wrote: > > More deeply, I think his concern is misplaced. I think that gcc has > already demonstrated that the only widely used compilers are free > software. Proprietary compilers don't keep up over time, outside of > niche markets. Hooking proprietary code into gcc, one way or another, > is just going to create a dead end for the people who do it. > Certainly it's not a good thing, and certainly it would be preferable > to prevent it if possible. But it is not the worst possible thing > that could happen; it is merely a cost. > > I won't enumerate the benefits of plugins here. But it is clear to me > that the benefits outweigh the costs.
I won't add anything to the comments of Ian because I fully agree with him but I would like to clarify what I expect from GCC. First of all, I'm coming from the verification community and I'm currently very interested in '(automatic) code verification'. What our community is really seeking for by now is a tool aiming at providing an abstract (i.e. simplified) model of program sources. And actually, GCC do it internally. Indeed, you can provide a gimplified CFG of C, C++, Java, ... source files and many other informations, which overpass tools such as CIL (C Intermediate Language, http://manju.cs.berkeley.edu/cil/) because of the numerous front-end of GCC. What I would like to have is just some mean to extract the last step before the translation into RTL (usually 'final_cleanup'). Surely, having the possibility to decorate the code with some extra information would be something more but we can actually work-around without any problem considering the benefits we get from not having to maintain all the front-ends. What is providing the 'plugin scheme' is actually much more than we need because it goes deep inside GCC and allow *modification* of GCC internals (and therefore might break a lot of things, I guess) which (in my humble opinion) is the real problem here. Maybe defining some standardized outputs (very similar to -fdump-tree-*) targeted for static-analysis and model-checking tools would be enough as the main problem for us is just to get GCC to export its intermediate internal representations of the program in a way which is reliable and stable from one version to another. For the software I'm thinking of I really just need the final CFG and maybe a summary of the IPA would help as well. Regards -- Emmanuel Fleury If you don't get everything you want, think of the things you don't get that you don't want. -- Oscar Wilde