Slashdot Mirror


GCC 3.0.4 is Out

Isle writes: "GCC 3.0.4 has finally been released. As those who has tried the prereleases will know this version finally compiles a working version of aRts and thus compiles the entire KDE-suite. With the Linux kernel compiling already with the 3.0.3 version, gcc 3.0 now compiles all major projects I know of. Is it finally time to dump that good old 2.95?"

54 comments

  1. C++ too slow by Tersevs · · Score: 2, Interesting

    It is even slower at compiling C++ than the old one.
    When will they implement precompiled headers.
    Oh why, why. why havnt they done it already!
    Or should i just give up Qt and move to GTK+?

    1. Re:C++ too slow by __past__ · · Score: 3, Insightful
      How would using GTK+ make GCC use precompiled headers?

      A more interesting question seems to be: Do the binaries run faster? Some people happen to run their apps more often than they compile them...

    2. Re:C++ too slow by BusterB · · Score: 1

      I don't know of any C++ compiler that supports precompiled templates using the export keyword (I assume this is what you meant.) It is a difficult issue, I'm sure, but if you where to come up with a solution, the GCC developers would probably include it.

    3. Re:C++ too slow by neurojab · · Score: 3, Insightful

      There's one line in my environment setup in windows that makes it possible for me to compile my projects in the shortest possible time... DISABLE_PCH=T

      Why do you want precompiled headers? Sure you might get a couple of faster compiles... when you're not scratching your head trying to figure out why PCH is failing.

      GCC adding this feature would only cause me to spend more time compiling programs than I already do... unless they come up with a smarter implementation than MSVC.

    4. Re:C++ too slow by Anonymous Coward · · Score: 0

      Doesn't g++ 3.x support export?

  2. Info propaganda by __past__ · · Score: 3, Funny
    One "bug" I would really like to see fixed in GCC is the bogus "Linux and the GNU project" section in the info manual. Heck, it's supposed to be a compiler documentation, not a general "The world according to the FSF" rant.

    What's next, the Emacs scratch buffer explaining why Free Software is better than Open Source? ls(1) warning about Non-GNU licensed binaries?

    1. Re:Info propaganda by Lord+Hugh+Toppingham · · Score: 0

      yeah, that really pisses me off too.
      Its like, I KNOW what the GNU project is, and I know about the FSF, there's no need to keep ramming it down our throats.

    2. Re:Info propaganda by Anonymous Coward · · Score: 0

      Mod parent up.

      -- Brian

    3. Re:Info propaganda by RGRistroph · · Score: 0, Offtopic
      Free Software is better than whatever "Open Source" is. And not enough people know that. And I already run "virtual rms" (vrms - a debian program that scans your machine for non-free packages at tells you RMS would be proud/disappointed accordingly), and I have no problem integrating it into ls. Although emacs dired mode seems more appropriate.

      I trust the FSF to maintain their total and complete, very literal minded dedication to Freedom. Their admittedly sometimes annoying prostelytizing is part of why I trust them. FreeBSD might be 10 times as fast and technically better than a GNU system on Linux or HURD, but if I'm going to invest the time and effort to learn to use something, I'm going to committ to the system that seems willing to committ to not fucking me.

      If you want a propaganda free system, use Solaris or FreeBSD.

    4. Re:Info propaganda by __past__ · · Score: 2
      Actually, I am posting from a FreeBSD machine right now. That's where I read the GCC manual, what actually makes it even more annoying - not because I don't want anything GNU on my holy BSD (after all, FreeBSD does use their compiler - I'm fine with that), but because the Linux vs. GNU/Linux war isn't really relevant for me.

      Also, I agree that Free Software is a better concept than Open Source, although the GNU approach isn't mine - for instance, they completely miss the freedom of the people writing the software and focus on the users only. However, there are better places to discuss such stuff than a compiler manual - the philosophy pages at GNU.org come to mind (and /. of course ;).

      I respect the GNU approach, and wouldn't know any reason why they shouldn't point it out. But they developed an annoying practice of shouting pointless rants on quite unimportant details at inappropriate places. I'm sure most people reading the GCC manual know a bit about GNU, and if they care, about the GNU/Linux|Linux thingie. Can't we just get along and write code?

    5. Re:Info propaganda by LiquidPC · · Score: 1

      Its _just_ documentation, it's not like it tells you FSF > Open Source every time you compile something. I think you're taking this a little out of proportion, but hey, if you don't like it, you dont _have_ to use it, I suppose.

    6. Re:Info propaganda by RGRistroph · · Score: 1
      The license doesn't prevent you from removing those sections and releasing your own "non-political" version of the gcc documentation.

      Your comment about "the freedom of people writing the software" versus the users is completely off base. It's like a slavery appologist saying the Emancipation Proclamation focused too much on the freedom of laborers and not enough on property rights. The only "freedom" being denied writers under that system is the "freedom" to control other writers. By choosing to write software under a FreeBSD style license, you are leaving a greater range of actions open to yourself -- and that includes actions which completely prevent other people from becoming writers.

      I think someone who writes code under the BSD license and justified by your arguments would be using sophistry to hide the fact that the tools they create may be used be Microsoft to control and restrict information to the point that other people cannot even do what they did.

      Think back to the first time you used BSD, and all the delightful learning experiences you no doubt had along the way. The sense of freedom that can come from finding out how to do something that seemed mysterious and hard, and learning that it is actually simple and you can do it ! Don't you want future generations of programmers to be able to have the same experiences ? Then you should not support the creation of code and tools under anything but the GNU license.

      The GPL has a fair symmetry to it, a kind of resonance with the rule Do unto others as you would have them do unto you. The BSD license creates a system which has the potential to incredibly and unfairly asymetric, making a system where only a small class of people get to write code, and the rest of us just get to pay. This is not a humourous plot from the Illuminati trilogy; real people, powerful people, are working to create that system today.

      The propaganda that suffuses the GNU documentation is necessary to make sure we can do what we want with our computers. Otherwise the computer revolution will be hijacked by people who want to create a kind of modern feudalism. I wouldn't want the GNU rants to disappear any more than I would want policemen to stop using the Miranda warnings, or schools to stop teaching the Declaration of Independence. There are societies in the world which have neglected discussion and focus on freedom for the practical content and how to make money; and China is not the kind of society I want to live in.

    7. Re:Info propaganda by __past__ · · Score: 2
      You completly misunderstood me.

      I didn't intend to start a license flamewar. I didn't even mention the BSD license, and I didn't say anything about rights being denied writers - I just claim that the "freedom is a licensing issue" approach (regardless of which license, GPL od BSD or Apache etc) overlook the writers freedom.

      I talk about a stylistic issue - even when your point is valid, you shouldn't annoy people. Insisting on silly details where totally inappropriate (and the insisting on GNU/Linux in the GCC manual is as appropriate as posting command-line parameters on the /. front-page) will do the Free Software community no good. That is my point, nothing else.

      Oh, and if you would care to explain how exactly the BSD license leads to feudalism...

    8. Re:Info propaganda by RGRistroph · · Score: 1

      I realize that you are talking about a stylistic issue. You don't want to consider the license wars as part of figuring out what flags to use on the command line, you don't want to delve into Linux vs. GNU/Linux name wars when you are just trying to figure out what flags to add to the makefile for the new gcc.

      I'm saying this annoying insertion of philosophy into everything is annoying for me too, but it is also why I trust the FSF, and why I am willing to give them money.

      And the BSD license and feudalism thing . . . I almost removed that line from my post when preveiwing because I was sure someone would mod me "flamebait" just for having those to words in a post. But I'll explain. The BSD license or software community doesn't promote feudalism or any other particular political system.

      What they do do is trade with an enemy who does. BSD code can potentially be used by people who wish to create a caste-style society, where your access to the immense resources of the computer revolution is regulated and metered.

      If Microsoft and the other proprietary software people were not so powerful, I wouldn't care. But when they represent a clear threat to my way of life, I tend to veiw with suspicion anyone who helps them in any way, no matter how small and inconsequential. Continuing my string of (very imperfect and possibly confusing ;) ) analogies, if you trade with England today you are a businessman. If you traded with England in 1778 you might get your house burned by angry neighbors who felt their way of life threatened, and justly. While Microsoft and similarly powerful interests maintain a credible threat to my ability to use computers, I'm going to take a pretty jaundiced veiw of some BSD user complaining about GNU propaganda.

      Hopefully, five or ten years from now, the level of the average consumer's computer education will have risen to the point where large numbers of people can switch to linux if necessary, consumer awareness will have increased to the point where Microsoft's business tactics (and the many who would emumlate them) result in big consumer backlashes, and Microsoft is once again competeing on the merits of their products and focusing on re-earning trust. Then the GNU movement will become less important. Chapters on philosophy in compiler documentation will seem as odd as the Cold War anti-communist propaganda seems today, and they will disappear.

    9. Re:Info propaganda by Garen · · Score: 1

      The issue is not pro-FSF con-FSF or pro-Open Source etc. It's that the FSF/GNU philosophy info is out of place in a programming manual about GCC -- thats not its role.

      The question of why it is in there is an entirely different matter of inquiry.

    10. Re:Info propaganda by RGRistroph · · Score: 1

      The answer to why GNU propaganda is in the technical documentation is simple: the GNU people are so narrow mindedly obsessed with their campaign, that they infiltrate the message into everything they write.

      I'm just saying that seeing the out-of-place GNU propaganda in the gcc info manual makes me feel good, it doesn't bother me at all. I'm also suggesting that given the various attempts on our freedom which are being made, others might re-consider their discomfort with it, and decide to be GNU fanatics too.

      There are some things which you SHOULD be single minded and obsessive about.

    11. Re:Info propaganda by leviramsey · · Score: 1
      Continuing my string of (very imperfect and possibly confusing ;) ) analogies, if you trade with England today you are a businessman. If you traded with England in 1778 you might get your house burned by angry neighbors who felt their way of life threatened, and justly.

      Your analogy falls apart. The bankroller of the American Revolution was John Hancock (who was all set to be the first president... he was promised the job for getting Massachusetts to ratify the Constitution). He was also the biggest trader with the British before, during, and after the war.

      The inescapable fact is that the GPL is the less free of the two licenses. The definition of freedom is (according to m-w.com): the absence of necessity, coercion, or constraint in choice or action. BSD license: no restrictions on user; no restrictions on programmer. GPL: no restrictions on user; some restrictions on programmer. The GPL has more restrictions. Ergo it is less free than the BSD license. The GPL is free in the same sense that the old DDR (that is the Deutsche Demokratische Republik) was a Democratic Republic.

      With all that said, I use the GPL for my work! The BSD license is the utopian license. In a perfect world, the only license would be the BSD license and Stallman would have shut up long ago. But the world isn't perfect. The GPL may be a step towards the BSD license. Maybe thirty years from now, we'll look back and laugh at our use of the GPL, before we used the BSD license for everything.

  3. Re:C++ too slow, really! by Tersevs · · Score: 2, Interesting

    GTK+ can be used in C that doesnt have support for templates.

    I still believe that there is a limit of what compilation speed it acceptable. Have you compared different compilers? Yes, running speed is important too, but not at any price.

    I find myself developing the software under Visual Studio and make sure that the program compiles and works there before moving to Linux and compiling the code. Id prefer to develop the stuff under Linux completly, but the time between typing make and having a binary just takes too darn long.
    Sure i can have a cup of coffee during the compilations, but that sums upp to an awful lot of coffee...

    By the way:
    NUMBER_OF_USERS * BINARY_RUNNING_TIME_GAIN - NUMBER_OF_DEVELOPERS * NUMBER_OF_COMPILES * COMPILATION_SPEED_GAIN = A_NUMBER_THAT_I_DONT_CARE_ABOUT_IF_IT_IS_POSITIVE_ OR_NOT

  4. glibc 2.2.5 by Skjellifetti · · Score: 3, Informative

    Is also out now and according to the changelog, it finally works with gcc 3.

  5. Re:Info by Yarn · · Score: 5, Funny

    I would be quite happy if the entire 'info' system dissapeared off the face of my installation, permanently.

    It's a pita to use/write/index

    man forever!

    --
    -Yarn - Rio Karma: Excellent
  6. KDE speedup ? by crsm · · Score: 4, Informative
    A new 2.2.5 version of glibc is also out and this is perhaps even better news for KDE users. According to the glibc changelog:
    • optimizations in the dynamic linker. binaries created by recent binutils versions start up quicker due to reduced time spend on relocations.
    If I am reading this correctly, this is the much talked-about fix for the long startup times of KDE programs.

    Yay :-)
    1. Re:KDE speedup ? by 42forty-two42 · · Score: 1

      Well, let's hope Red Hat 8.0 uses this.

  7. Re:Info by PD · · Score: 3, Informative

    I use the --subnodes option and pipe through less to get a more usable printout. The info program has a really crappy interface.

    like this:

    info --subnodes bison | more

  8. Does anyone know by sinserve · · Score: 2, Interesting

    How much of ISO C++ is supported by the GCC compiler?
    Not just the intel backen, but all the other popular ones (Sparc, PPC, etc.)

    The only document I saw, is the BOOST library compile logs [note, boost.org is down at the moment, try a google cache.]

    I know GCC beats the pants out of VisualC++ interms
    of standard compliance, but how much better is it?

    --

    1. Re:Does anyone know by Anonymous Coward · · Score: 2, Informative

      There are a couple C++ features that nobody implements because they're too esoteric to put people on. There are a few C++ features that nobody implements because they're too hard to get into the compiler. Most compilers do the core set of features pretty well at this point. It's to the point where 95% of the spec and 99.99% of the spec that people actually use works just about anywhere.

      Later versions of VS C have been getting more standards compliant for these core features. Check the documentation as VS C defaults to maintining backward compatibility (like K&R block variable scoping) over standards compliance in some respects. GCC has a few of the lesser used features that VS C does not. It shouldn't matter what backend you're compiling towards for supporting these features in GCC. VS C still does not do good templates although nobody does even great templates.

      However, GCC thought it would be wonderful to add new features to C++ and so there are a bunch of programs locked into using GCC because they use GCC proprietary extensions. In that sense, I'd say GCC is much less standards compliant than VS C. If you are careful about avoiding the GCC extensions (or just disable them :), then it's probably a bit better than VS C but nothing out there is going to be much better.

      By the way, you shouldn't try and use things like BOOST as a metric. As they say on their page:

      "Warning: These tables are not a good indication of a particular compiler's compliance with the C++ Standard."

      It's because a lot of code has either platform workarounds that hide bugs or proprietary extensions (like GCC's) that cause bugs on certain compilers.

    2. Re:Does anyone know by Anonymous Coward · · Score: 1, Interesting
      I'd like to know whether the Loki library compiles. Ie., can you do all the fancy tricks Andrei Alexandrescu described in Modern C++ design (policy-based programming, etc)?

      VC++ 6 choked in Chapter 1 of that book. MS claims the new version will compile it, though.

    3. Re:Does anyone know by Garen · · Score: 1

      Yes, Andrei even used GCC 2.95.3 with it, so its been working for quite some time. 3.0.4 works fine too.

      The major improvement over the 2.95.x series (IMHO) are in the STL library thats been included in 3.0.x.

  9. GCC 3.1 on scheduel? by Anonymous Coward · · Score: 0

    According to the development plan ( http://www.gnu.org/software/gcc/develop.html ) stage 3 of 3.1's development (bug fixes only) should've ended on Feb 15th. Is it still on scheduel for April 15th?

    I found some G4 SpecInt2000 scores today ( http://www.aceshardware.com/forum?read=65034455 ) which were pretty dismal with GCC 2.95.2, which apperently produces better results than CodeWarrior! However one of the comments was GCC doesn't know about latencies/throughput on the new G4s, but with GCC 3.1 Apple will have helped out and we should get much better code.

    I wouldn't mind getting a new iMac :)

    1. Re:GCC 3.1 on scheduel? by Isle · · Score: 1

      Actually the cool thing is that gcc-3.1 already compiles aRts aswell, although it cant handle kdebase. I have compiled arts with the new -mfpmath=sse, this replaces all x87-code with sse AFAIK.

      That is really something worthwhile to wait for!

  10. Re:C++ too slow, really! by Anonymous Coward · · Score: 0

    If you don't mind buying an IDE have thought about using CodeWarrior under linux. I have not tried under linux, but it is very good on Mac OS. Give it a shot.

  11. Re:Info by 1%warren · · Score: 1

    For using it, "pinfo" is really nice - just like lynx. IIRC, the KDE help browser can view info pages, & there is a tcl/tk frontend as well.

    --

    Full plate and packing steel! -Minsc
  12. use emacs21 by Anonymous Coward · · Score: 0

    Reading info in emacs21 is actually a pleasure
    C-h i

    The topics and links are highlighted nicely.

  13. Re:C++ too slow, really! by Anonymous Coward · · Score: 0

    codewarrior on linux, IIRC, uses straight gcc as the compiler.

  14. Bigger News by (startx) · · Score: 1

    Even Bigger news than gcc 3.0.4 released, is that it was in slackware-current less than 6 hours after this news hitting slashdot. I think that's the fastest I've ever seen Pat add something bleeding egde to -current. Maybe we'll have activity before the 1 year aniversry of 8.0 afterall?

    1. Re:Bigger News by Anonymous Coward · · Score: 0

      I've noticed slackware-current is a lot more current that it use to be. The next time I update my system, I was thinking about ditching Slackware for Debian. With the new packaging scheme that Slckware is switching to, I don't think I will.

  15. No "legal" closed-source C++ programs for Linux. by Anonymous Coward · · Score: 0

    A change in the STL licensing will prevent any closed-source C++ programs from being distributed -- if they use STL. STL is now covered under GPL, not LGPL. The GPL license has an exception ONLY for a free library. I think this is a bad move on GCCs part. The only hope is that STLPort is covered under either BSD or LGPL license, I don't know which. If you don't beleive me, go look for yourself.

  16. Re:No "legal" closed-source C++ programs for Linux by norwoodites · · Score: 2, Informative

    The STL has an exception to the GPL:

    // As a special exception, you may use this file as part of a free software
    // library without restriction. Specifically, if other files instantiate
    // templates or use macros or inline functions from this file, or you compile
    // this file and link it with other files to produce an executable, this
    // file does not by itself cause the resulting executable to be covered by
    // the GNU General Public License. This exception does not however
    // invalidate any other reasons why the executable file might be covered by
    // the GNU General Public License.

    So you can use any license for C++ programs.

  17. Re:C++ too slow, really! by Anonymous Coward · · Score: 0

    Compiles too slow?

    Buy some more memory. A faster hard drive. A faster processor and a shiny new motherboard.

  18. Re:No "legal" closed-source C++ programs for Linux by Anonymous Coward · · Score: 0

    HOLY CRAP! I just checked the /usr/share/doc/libstdc++3/copyright on my gcc-3.0.4 install... and it's GPL!!

    WTF!?

  19. We tried removing it once... by devphil · · Score: 3, Informative


    ...but RMS won't let us.

    There are days when I dream about another GCC fork.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  20. Been there, done that by devphil · · Score: 5, Insightful
    It is even slower at compiling C++ than the old one.

    That's because C++ got bigger since the old one.

    When will they implement precompiled headers.

    A precompiled headers branch was created some time ago. Feel free to try using it. It's been implemented by two different commercial groups already; they're just merging in one of those solutions.

    Perhaps you think implementing precompiled headers is easy? I invite you to try.

    Oh why, why. why havnt they done it already!

    If are are dissatisfied with the compiler, and unwilling to contribute your own time to make it better, you should definitely demand a refund of the money you paid for it.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  21. Re:No "legal" closed-source C++ programs for Linux by Anonymous Coward · · Score: 0

    Heh, you didn't even read what you posted. If you HAD read that exerpt, it says:

    "As a special exception, you may use the file as part of a free software library without restriction."

    No where does it say even a program, it states library specifically. It doesn't state just any library but a "free software" library.

  22. Re:No "legal" closed-source C++ programs for Linux by norwoodites · · Score: 1

    The library in is case is libstd++ and if you read on: Specifically, if other files instantiate templates or use macros or inline functions from this file, or you compile this file and link it with other files to produce an executable, this file does not by itself cause the resulting executable to be covered by the GNU General Public License.

  23. EGCS? by Anonymous Coward · · Score: 0

    A while ago I read that the FSF was moving to egcs as their official compiler. Is this still the case? If so, what does that mean for the continuing support of gcc?

  24. Info Sucks by Anonymous Coward · · Score: 0

    I use man or try to find some html documentation.

    info is a piece of organic waste.

    I thought a help system was supposed to be easy to use? What the hell happened with info? Did they forget the concept of usability?

  25. What's the problem with export by Anonymous Coward · · Score: 0

    Implementation of the export keyword is one of the most needed missing pieces of current C++ compilers. I've heard this has not been implemented because it is hard to implement. Can somebody explain what is so hard about it?

    1. Re:What's the problem with export by Anonymous Coward · · Score: 0

      Implementing export isn't really all that critical, and I really doubt most compiler vendors will end up implementing it. The only one I know of that does now is Comeau, and know of no others that have plans to do so any time soon.

      The reason why implementing export is difficult is because templates are a compile-time thing, which virtually requires that the implementation of a template interface be readily available at the time a compilation unit is built.

      The implication is that if one translation unit uses a template interface in some header file that exports its implementation to some other source file, and that source file changes - then any translation units that depend on it need to be recompiled.

      That obviates the traditional usefulness of decoupling the interface and implementation -- which was to use a stable interface to an implementation which could more or less change.

  26. Re:Info by Anonymous Coward · · Score: 0

    I didn't know about that. Thank you!

  27. Re:No "legal" closed-source C++ programs for Linux by Wumpus · · Score: 1

    Or look here: libstdc++ FAQ For the same information, with annotations.

  28. EGCS merged with FSF GCC by Anonymous Coward · · Score: 0
    The FSF already "moved to egcs" almost three years ago. The FSF GCC and EGCS projects merged in April 1999, before the GCC 2.95 release. The EGCS source tree pretty much replaced the FSF GCC source tree; a few remaining features from FSF GCC which had not yet been incorporated into EGCS were merged into the new source tree. The old FSF GCC source tree that had led to GCC 2.8.1, the last FSF GCC release before the merger, was then allowed to die. After the merger, EGCS ceased to exist as a seperate project.

    You can find out more about this on the GCC web site in this FAQ entry and in the release timeline.

  29. Re:Info by Ed+Avis · · Score: 1

    Here's a rather pointless patch for info.

    --
    -- Ed Avis ed@membled.com