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.

57 comments

  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 Anonymous Coward · · Score: 0

    Why not both?

    _ . . . . . _
      \_(''/)_/

  3. Re:How does this compare to state of LLVM? by Anonymous Coward · · Score: 0

    maybe we should ask timothy or bennett haselton...

  4. 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...
  5. Nice! by Anonymous Coward · · Score: 0

    Thank you GCC/GNU/contributors.

  6. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    How is this informative, other than that it's the author broadcasting his toolchain preference? bfd..

  7. 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.

  8. 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.
  9. 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 Anonymous Coward · · Score: 0

      Time will tell if the strange impetus behind systemd adoption supports the idea that indeed the GPL is difficult to control.

      https://news.ycombinator.com/i...

      captcha: horrify

    2. 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.

    3. 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.

  10. 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
  11. 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)
  12. 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!).

  13. Re:Cool to hear I guess by Anonymous Coward · · Score: 0, Insightful

    GCC is more than an alternative. It helps keep the commercial vendors on their toes and honest.

    How? GCC has been lagging for a long time.

  14. 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.

  15. Supporting hardware that doesn't even exist yet... by Anonymous Coward · · Score: 0

    What's up with that?

  16. High hopes for AVX-512 by Anonymous Coward · · Score: 0

    AVX and AVX2 have been disappointments so far, with the YMM and XMM registers sharing resources and processors faking 256-bit with two 128-bit operations. One hopes GCC will make good use of the newer and more plentiful ZMM registers.

  17. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    GCC is a nice way to avoid accusations of monopoly and to attract startups and hobbyist users, who do not have money to buy commercial compilers. GCC is great for many uses, even many bigger companies use it on daily development, as that avoids buying many licenses for the commercial compilers. And on many occasions, the executable produced by GCC is equally good or even better than with the expensive suites.

  18. '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.
    2. Re:'Support' or Compliance by Anonymous Coward · · Score: 0

      There is no such standard called "C/C++".

  19. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    Too many assumption with out any clear evidence . I think it is clear that who is idiot here.

  20. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    And another thing I forgot to mention is that everyone with LITTLE understanding of how politics works can see the big picture here (you can play chess if you cant see here whats going on with apple and gcc and clang , It will help you with your lack of understanding of politics ) , Apple pushes clang so hardly to replace it with gcc as fast as they can in their ecosystem completely (If I remember correctly in 2013 they replace gcc with clang even you type "gcc" in your bash , I am not sure about the date , I respect my freedom _ I am not like you _ and I do not touch apple's product's) .(And another thing I don't know you have the wisdom to see the picture here ,or you are just kid in your parent basement which is so existed about new tools).

  21. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    "I have nothing to contribute to this thread" <-- +1 Informative. WTF?

  22. 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
  23. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    Why? GCC generates better code and has fewer compatibility issues.

  24. 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.

  25. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    I'll be honest and say I like both, use neither professionally and just said the first dumb thing that came to my head. Surprisingly it got +2 informative instead of -1. Happens sometimes here

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

    Does it depend on systemd?

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

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

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

    And they'll slurp gcc into systemd too.

  29. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    You didn't fix it; you changed it into a statement that is not correct.

  30. 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/
  31. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    GCC likes to lie on their supported options bullet points. Back when 4.8 came out, they claimed full c++11 support, but their entire regex library was non-functional. Worse: it compiled w/o warning or error and would *crash* on such blisteringly difficult patterns such as "\\d+". This was at a time when clang had had full 11 support for about half a year (and most of 14 supported.)

    I'm probably never going to go back to gcc. Between the above and the politics that prevent gcc from actually separating out into a real front/back end project, I'm not convinced that their compiler is as useful as clang/llvm.

  32. 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
  33. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    why? what a shame

  34. 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>
  35. Re: Cool to hear I guess by jones_supa · · Score: 1

    No disagreement there.

  36. 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
  37. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    "Ok, so I'm looking at the code generation and your compiler is pure
    and utter *shit*.

    "Adding Jakub to the cc, because gcc-4.9.0 seems to be terminally broken.

    "Lookie here, your compiler does some absolutely insane things with the
    spilling, including spilling a *constant*. For chrissake, that
    compiler shouldn't have been allowed to graduate from kindergarten.
    We're talking "sloth that was dropped on the head as a baby" level
    retardation levels here."

      - Linus Torvalds on GCC 4.9.0

  38. 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.

  39. 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.

  40. It slices, it dices, it minces and blends.... by Anonymous Coward · · Score: 0

    meet the "super-codimator 5000"!!!

    This may not end well (it's not that and particular feature "breaks the camel's back", such damage is gradual and cumulative - like clogged arteries).

    The UNIX "thing" used to be: do one thing and do it very well. Adding more and more junk to a language compiler is a BAD IDEA, particularly when it's a basic building block/essential tool in so many projects. Once people start depending on these new "features" they'll be impossible to back-out without overturning lots of applecarts, and meanwhile the increases will inevitably force the minimums required to support the GCC toolchain to rise.

    What next? Integrated shader language compiling and testing? A new requirement for DirectX12 and OpenGL4 to support a new gaphical front-end? This is called "lack of focus and a broken compass". No, I'm NOT saying they have crossed a line and are bad NOW, I am just saying that those involved need to be very cautious about this sort of feature-itis - it could lead to a mess if not kept in check and then a future need for a really bloody feature-ectomy (performed with forks? - eeeeew)

    The project started as a C compiler for the GNU OS, and picked-up front-ends for C++, Fortran, etc. It should nto become anything other than an extremely good cross-platform C compiler with various fron-ends. Anything else ought to be a separate project that uses GCC.

  41. 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...

  42. 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
  43. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    That GCC is bad does not mean that LLVM is not worse.

  44. Re:Cool to hear I guess by Anonymous Coward · · Score: 0

    True, but I haven't seen Linus frothing at the mouth over LLVM. The man knows compilers.