Slashdot Mirror


GCC 5.0 To Support OpenMP 4.0, Intel Cilk Plus, C++14

An anonymous reader writes: GCC 5 is coming up for release in the next few weeks and is presenting an extraordinary number of new features: C11 support by default, experimental C++14 support, full C++11 support in libstdc++, OpenMP 4.0 with Xeon Phi / GPU offloading, Intel Cilk Plus multi-threading, new ARM processor support, Intel AVX-512 handling, and much more. This is a big release, so those wishing to test it ahead of time can obtain the preliminary GCC 5 source code from GCC's snapshots mirror.

31 of 57 comments (clear)

  1. Re:Cool to hear I guess by jblues · · Score: 4, Insightful

    Clang/LLVM receives finance and contribution (and therefore an element of control) from Apple. Its also BSD licensed. These are not bad things at all, but its great that GCC, which GNU licensed, is an alternative.

    --
    If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
  2. Re:Cool to hear I guess by hcs_$reboot · · Score: 1

    Yeah, nice new features is a good thing. I just hope there won't be much regression re. the current v4 older features.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  3. Re:Cool to hear I guess by Anonymous Coward · · Score: 1, Insightful

    Despite the fact actually clang controlled by apple , so as old C hacker there is no chance to even trying it.

    It isnt controlled by apple, the source code is available and it is offered under a permissive open source license. So you are either spreading FUD for the restrictive foss camp or you are just an idiot, either way you lack the intellectual competence for this sort of thing anyway so neither clang nor gcc will interest you.

  4. Re:Cool to hear I guess by armanox · · Score: 2

    I'm not looking forward to the compatibility break with other systems. Some of us have to make software work in environments that receive much less love (MIPS, for example).

    --
    I'm starting to think GNU is the problem with "GNU/Linux" these days.
  5. Corporations guide the development of GPL ... by perpenso · · Score: 3, Insightful

    Clang/LLVM receives finance and contribution (and therefore an element of control) from Apple. Its also BSD licensed. These are not bad things at all, but its great that GCC, which GNU licensed, is an alternative.

    Corporations guide the development of GPL licensed projects too. Take Linux for example, the main contributors are corporate sponsored/subsidized/etc so therefore the work is directed by corporate needs as well.

    Plus there are indirect effects too. As a corporate sponsored project like Clang/LLVM becomes highly competitive or surpasses a project like GCC then a fire gets lit under GCC to make a little progress, and possibly to add comparable features that were corporate sponsored in Clang/LLVM. So corps get to indirectly influence GCC as it strives to be competitive.

    1. Re:Corporations guide the development of GPL ... by tlhIngan · · Score: 2

      Clang/LLVM receives finance and contribution (and therefore an element of control) from Apple. Its also BSD licensed. These are not bad things at all, but its great that GCC, which GNU licensed, is an alternative.

      Corporations guide the development of GPL licensed projects too. Take Linux for example, the main contributors are corporate sponsored/subsidized/etc so therefore the work is directed by corporate needs as well.

        Plus there are indirect effects too. As a corporate sponsored project like Clang/LLVM becomes highly competitive or surpasses a project like GCC then a fire gets lit under GCC to make a little progress, and possibly to add comparable features that were corporate sponsored in Clang/LLVM. So corps get to indirectly influence GCC as it strives to be competitive.

      Correct, however, the main reason most corps went Clang/LLVM is because of GPLv3. When it was GPLv2, it was well understood and most places tolerated it and used it quite informally inside their workflow processes.

      However, GPLv3 did startle them, and they got worried, big time. It's incompatibility with v2-only code meant that most corporations had to implement formal processes for integrating open-source code (despite license - doesn't matter if it's MIT, Apache, BSD, GPL(v2/v2+/v3/v3+), etc) within their business. It applies regardless of if the code is for external customers, or internal tools - all of a sudden there's a big clampdown on making sure the right code gets used.

      And I've seen new policies that basically state "other than these preapproved projects with these licenses, no further GPL-licensed code is allowed within the company without legal approval and justification".

      GPLv3 basically scared a lot of companies into shaping up, and they basically started running away from the GPL (except when it benefits them - i.e., they release code). So they migrated to Clang/LLVM to avoid the issues.

      Apple was heavily involved early on in order to get Clang and LLVM to a state where it was usable - they saw the GPL writing on the wall and needed to migrate away from GCC, which is why they actually started making strides somewhere along the OS X 10.4 era, with 10.5 having a rudimentary compiler available but not default. I think it took to 10.8 or so before it was formally switched over, and Apple's last commit to GCC involved Grand Central Dispatch support and blocks.

    2. Re:Corporations guide the development of GPL ... by cheesybagel · · Score: 1

      They're morons then. The license of a compiler has nothing to do with the license of the generated code. Just to prevent this particular stupidity Stallman even added a specific GCC exemption at one point but this is widely understood to be implicit by common law anyway.

      I've seen stupidity in corporations regarding open source or free software several times and the license it came in was the least of them. Every single time they only want a piece of paper which states they aren't responsible for whatever happens wrong. They don't care how much they pay for that piece of paper as long as they can shift the blame elsewhere.

      The Eclipse Public License is not that different from GPLv3 and I never saw that much dissension about it. It's one of the most forked or 3rd party supported IDEs in the market.

  6. Re:Cool to hear I guess by cold+fjord · · Score: 2, Insightful

    GCC is more than an alternative. It helps keep the commercial vendors on their toes and honest. At some level Linux has performed a similar function regarding commercial Unix vendors.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
  7. In summary by cold+fjord · · Score: 1

    Lots of nice C/C++ updates, a few Fortran ones. Don't see anything for Objective C or Ada.

    This addition looks very interesting: Cilk Plus

    Intel Cilk Plus is an extension to the C and C++ languages to support data and task parallelism.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    1. Re:In summary by kf6auf · · Score: 1

      It's possible that at least part of the reason for the lack of Fortran improvements is that most of Cilk Plus seems to bring to C functionality that is already present in Fortran (array notation since F90 and parallel loops since F95 or via OpenMP).

    2. Re:In summary by doti · · Score: 1

      How does Cilk compare to OpenMP?

      --
      factor 966971: 966971
    3. Re: In summary by jd · · Score: 1

      Different animal. Cilk has specific instructions for parallelising loops and similar. It looks like a similar concept to Fortran's capacity to turn anything that can be done as a vector rather than as a sequential operation into a vector instruction.

      OpenMP parallelizes at the block level rather than the instruction level. By all accounts (notably comments on the ATLAS mailing list), the performance is terrible.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    4. Re: In summary by jd · · Score: 1

      ADA updates would be good, bringing in the Spark 2014 and early 2015 extensions would have been nice. (Spark is a mathematically provable dialect of ADA. Well, mostly. Apparently, you can't prove floating point operations yet because nobody knows how. Personally, I think it's as easy as falling off a log table.)

      There are also provable dialects of C and it would be nice if GCC had a flag to constrain to that subset. Using multiple compilers is a good way of producing incompatible binaries and nasty interactions. GCC has no business having limitations. :)

      With work on KROC at a standstill, we have a reference compiler that talks Occam Pi. Occam is a very nice language to work with but working through archaic Inmos blobs is tiresome and limiting.

      Code quality in GCC and GlibC is still poor, the stability of internal interfaces is derisory (these should be generated from abstract descriptions, ensuring the flexibility GCC wants and the usability interface developers want) and the egos of the developers should be taken out and shot. However, it's still one of the best environments out there. Those that are better at specific things are usually carrying three to four digit price tags. I'd write in hand-turned assembly before paying for unquantifiable products that I won't even own.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  8. Re:Cool to hear I guess by Darinbob · · Score: 1

    Because that eliminates fandom. I think it's great the GCC and LLVM are competing. But others feel that there must be teams and that they have to support their team (rah rah rah!).

  9. Re:Cool to hear I guess by jones_supa · · Score: 1

    Clang/LLVM receives finance and contribution (and therefore an element of control) from Apple. Its also BSD licensed. These are not bad things at all, but its great that GCC, which GNU licensed, is an alternative.

    Are you joking? You cannot maintain a modern big compiler without strong industry support.

    Take a look at GCC Git browser. With a quick blush you can see that a lot of commits are coming from Red Hat, Suse, Oracle, Samsung, ARM, and so on.

  10. 'Support' or Compliance by Bing+Tsher+E · · Score: 2

    Is it C/C++ 'support' or is it standards compliance. That difference matters.

    1. Re:'Support' or Compliance by serviscope_minor · · Score: 1

      Different how?

      They are going for compliance, however. They have a compliance table listing the features supported:

      https://gcc.gnu.org/projects/c...

      that page also links to the library compliance table.

      --
      SJW n. One who posts facts.
  11. Re:Cool to hear I guess by TheRaven64 · · Score: 3, Informative

    Huh? As a clang contributor, I'd not noticed it being controlled by Apple. I suspect that all of the LLVM/clang developers employed by Qualcomm, ARM, Google, Intel, Facebook, Adobe, and so on would be quite surprised to discover that it's controlled by Apple too.

    Apple has put a lot of development effort into LLVM/Clang over the years because they wanted to be able to use the back end and front end in places where the GPL would not be acceptable (graphics drivers, syntax highlighting in XCode). The rest of the community also benefits from this (if you use a 3D driver with X.org, you're probably using LLVM for the shader compiler, even if you don't use clang as your C compiler), but even at its peak Apple was only just responsible for about half of the development work on LLVM and now it's even less.

    --
    I am TheRaven on Soylent News
  12. Re:Cool to hear I guess by Anonymous Coward · · Score: 1

    Yeah, for embedded you can often compile with GCC for development. In the end you compile it once with a paid for compiler if you need the code size improvement. A modern GCC is very good so this last step is often not even needed.

    I hope clang will drive gcc to more innovation and the other way around.

  13. ob by Hognoxious · · Score: 2, Funny

    Does it depend on systemd?

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  14. Re:Cool to hear I guess by Bengie · · Score: 1

    LLVM & GCC Compiler Developers To Begin Collaborating
    http://developers.slashdot.org...

  15. It will, give systemd a few more weeks by mpercy · · Score: 2

    And they'll slurp gcc into systemd too.

  16. Re:Cool to hear I guess by pe1rxq · · Score: 2

    Where and how exactly?

    I know llvm integrates better with IDEs, but I couldn't care less.
    As far as I have seen they produce comparible code. Last time I checked gcc code outperformed llvm code most of the time, but they were very close.

    --
    Secure messaging: http://quickmsg.vreeken.net/
  17. Re:Cool to hear I guess by doti · · Score: 1

    Here where I work we compile with both, gcc for the production release, clang for extra warning checking.

    --
    factor 966971: 966971
  18. Re: Cool to hear I guess by jblues · · Score: 1

    Perhaps you misread? I said only that GCC was an alternative and released under a different license. I'm sure there are pros and cons to each licensing model that warrant a deep discussion, but obviously neither precludes industry backing.

    --
    If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
  19. Re: Cool to hear I guess by jones_supa · · Score: 1

    No disagreement there.

  20. Re:Cool to hear I guess by ChrisMaple · · Score: 1

    Would you mind reposting, this time using English?

    --
    Contribute to civilization: ari.aynrand.org/donate
  21. Re:Cool to hear I guess by mr_mischief · · Score: 2

    Code that compiles reliably under both is likely to be better code than that which compiles only under one or the other.

  22. Re:Cool to hear I guess by mr_mischief · · Score: 1

    It's in the interests of ARM and AMD to support both GCC and LLVM/clang. So far as I recall, both companies do contribute heavily in code and other resources to both projects.

  23. Re:Cool to hear I guess by exomondo · · Score: 1

    Clang/LLVM receives finance and contribution (and therefore an element of control) from Apple.

    And GCC receives finance and contribution (and therefore an element of control) from Samsung, Red Hat, Oracle, etc...

  24. Re:Cool to hear I guess by TheRaven64 · · Score: 1

    ARM is slowly winding down their GCC activities. They used to have four compiler groups: the proprietary toolchain, LLVM-for-CPUs, LLVM-for-GPUs, and GCC. They've started to let the two LLVM groups talk to each other and they're now using LLVM in their proprietary toolchain (open source compiler, proprietary JTAG debugging tools). They asked their customers a few years which compiler they preferred and the answers were all either LLVM or 'don't care,' which makes investing in GCC largely pointless. They'll probably keep doing it for a bit longer, but most of the effort is focussed in the LLVM direction. In particular, it's a much bigger return on investment: improvements to GCC make the C/C++ compiler better, improvements to LLVM make a large number of languages (including JavaScript for Safari) faster.

    --
    I am TheRaven on Soylent News