GCC Gets Its Own News Site
Marcel Cox writes "In an effort to promote the development of GCC, Mathieu Lacage created a GCC news page similar to the idea of Kernel Traffic.
While we are on the topic of GCC, it might be worthwhile recalling two major events that occured during the last month:
1. The tree-ssa
branch has been merged into
mainline, which among others means the end of G77 and the addition of GFORTRAN, the new GNU Fortran 95 compiler.
2. The second annual GCC Developer's summit took place some 10 days ago in Ottawa."
...that I can't figure out based on what I found on the websites.
I could poke around, but I'm too lazy.
Is the Fortran 95 compiler in any of the stable gcc releases (e.g., 3.4)? If not, when will it appear as a standard part of the suite?
So you're saying that because people use non-standard extensions of gcc, that it is important that these non-standard extensions be maintained rather than being deprecated in favor of adhering to the C++ standards? I don't think you would agree to that, but it's essentially what you wrote.
As for other language support, VC.Net is at its heart very similar in construction to gcc. The frontend engine parses the source code, a second engine optimizes the code, and the final code generation turns the optimized code into machine code. VC.Net can support as many languages as gcc does (and it does, though using separate front ends to be purchased separately). Not only that, VC does all this faster and better than gcc.
Source code ought to stick with the language spec, not rely on compiler hacks. That Linux relies heavily on those hacks, so much so that it refuses to compile using other, more standards-compliant compilers is a sign that Linux needs it's source code audited and fixed for these dependencies.
Wouldn't you like to have an icc or VC optimized Linux kernel? 10-15% speed increase across the board? Why, then, do you support the continued standards-breaking of gcc, just because it is considered a "standard build environment" for many platforms?
So I guess if anything ought to be posted on the new gcc news site, it ought to be how gcc is catching up to commerical alternatives (which, though not Free, are free for download).
The last time I checked, the free version of VC had optimization disabled. Has this situation changed?
First off, thanks to all the people who contributed to GCC.
/ MasterGCC -2side.pdf
I think that version 3.4 for C++ was a very important release. It's great that there are now a series of compilers for Windows and Linux that are highly standards compliant and reasonably compatible with each other. I am referring to GCC and VC71 on Windows, and GCC and Intel on Linux.
The decision of the GCC people to focus on correctness and standards compliance before optimization was correct in my opinion.
On the other hand, I'm concerned that the most exciting ideas from last years GCC conference do not appear to be on the GCC roadmap, and are not mentioned in the proceedings of this years conference (pls correct me if I'm wrong).
http://people.redhat.com/lockhart/.gcc04
The ideas I'm referring to are LLVM and the compile server. I know that development on LLVM is progressing well, but I haven't heard anymore about it becoming part of GCC. The 'compile server' idea involved starting a single process that managed the compilation of all the translation units in a module, rather than running GCC once for each TU.
I realize these are big changes - are they on the horizon for 4.0?
Since GCC 3, the GCC developers have a very strong tendancy to strictly adhere to standards and even to deprecate or remove non standard GCC extensions, especially those that become problematic because they syntactically interfere with newer C99 features. What makes the kernel non portable accross compilers is more the stuff like inline assembly or directives that control where some pieces of code are located in memory. This kind of stuff is inherently non portable, but there is little one can do about it. Note that given GCC is the standard compiler for the Linux platform, Intel has gone so far as to add those GCC extensions that are necessary to compile the kernel. With just a minimum number of patches, icc thus manages to compile the linux kernel.
It's not _that_ difficult. Learn a bit of compilier theory, it's not that bad, and very interesting.
It's mostly just colouring in pretty graphs. *grin*.
Unfortunately, the FSF currently has a rather strict policy regarding GCC development which does not permit implementing features like LLVM. I hope this policy will change some time as currently it seems to be a bit blocking for certain interresting features that could be implemented. See the following discussion for this policy:
http://gcc.gnu.org/ml/gcc/2003-11/msg00402.html
This is a one way dump for debugging purposes. You cannot dump the tree, do some transformations on it, and then reimport it again into GCC. That would be the kind of thing that the policy wants to forbid.
The egcs project who did just that was very successful.
Yes, but it was the major developers that did the fork, not just someone who came along. Also, the fork was not to bypass political rules, but rather to make major changes to the compiler that people thought were to invasive for the production version of GCC.
Of course, the LLVM project mentioned here is more in the direction you suggest. The initial compiler is GCC based, but the way LLVM works would not be permitted in GCC according to the current policies.
> the audience for this will be
> much smaller than that for kernel traffic
I think that's mostly true... but I also think that there are plenty of folks interested in compiler-ish development notes.
For example, I work on the open source utility PMD, which does static analysis of Java code. So there are all sorts of things it can check for - dead code, algebraic simplifications, unused assignments, and so on. It's almost like working on the front end of a compiler - i.e., parsing, tokenizing, symbol table - without having to do the code generation backend. Looking at the current GCC news issue, there's at least one thing there that seems useful to me - the improvements to the constant propagation techniques.
So, anyhow, I agree that there will be a smaller audience - but perhaps the people reading it will be from diverse backgrounds and very focused on the topics that arise.
The Army reading list