Announcement

Collapse
No announcement yet.

LLVM's Clang Compiler Is Now C++11 Feature Complete

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • LLVM's Clang Compiler Is Now C++11 Feature Complete

    Phoronix: LLVM's Clang Compiler Is Now C++11 Feature Complete

    The Clang C/C++ compiler front-end to LLVM is now declared "feature complete" against the C++11 ISO standard...

    http://www.phoronix.com/vr.php?view=MTM1NTg

  • #2
    Hopefully with this out of the way they focus on things like OpenMP and general performance.

    Comment


    • #3
      Originally posted by scottishduck View Post
      Hopefully with this out of the way they focus on things like OpenMP and general performance.
      Agreed, yet it does appear with the OpenMP that is presently being worked on the team has extended the next round of C++ compliance listing in their status page on the bottom:

      http://clang.llvm.org/cxx_status.html

      Comment


      • #4
        Clang got there before GCC? I'm impressed. GCC is my favorite compiler, but kudos to the Clang team for winning the race. I guess that says a lot about the maintainability of their code base.

        Comment


        • #5
          Originally posted by RealNC View Post
          Clang got there before GCC? I'm impressed. GCC is my favorite compiler, but kudos to the Clang team for winning the race. I guess that says a lot about the maintainability of their code base.
          Clang vs GCC maintainability has never been questioned, i mean even other GCC developers have called their own code "a mess" "spaghetti" among other less than flattering terms.

          Comment


          • #6
            Originally posted by RealNC View Post
            Clang got there before GCC? I'm impressed. GCC is my favorite compiler, but kudos to the Clang team for winning the race. I guess that says a lot about the maintainability of their code base.
            Actually, Clang notes "minimal support for garbage collection and reachability-based leak detection" as N/A (see http://clang.llvm.org/cxx_status.html). I'm not sure what "some data-dependency ordering, and a few other small items." means as these are not listed on the GCC C++11 implementation page (see http://gcc.gnu.org/projects/cxx0x.html).

            See also: http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

            So GCC reached full C++11 language support in 4.8.1, while Clang will reach it in 3.3. Either way, both open source compilers are leagues ahead of their proprietary counterparts.

            Comment


            • #7
              Originally posted by scottishduck View Post
              Hopefully with this out of the way they focus on things like OpenMP and general performance.
              It looks like they want to stay away from OpenMP and instead find a solution that works for hundreds of threads, they mention that OpenMP is only good for dozens of threads.

              Comment


              • #8
                Originally posted by AJenbo View Post
                It looks like they want to stay away from OpenMP and instead find a solution that works for hundreds of threads, they mention that OpenMP is only good for dozens of threads.
                Honestly...thats probably not a terrible idea, if OpenMP is limited like that. Its the same argument as to why BFS didn't replace CFS as the scheduler. Sure BFS is good for 8 cores or less, but more than 8 cores and CFS is better and CFS stays better up through hundreds of cores. I do wish they'd support OpenMP in the interim but they are right to be thinking about a future-proof solution.

                Comment


                • #9
                  Originally posted by AJenbo View Post
                  It looks like they want to stay away from OpenMP and instead find a solution that works for hundreds of threads, they mention that OpenMP is only good for dozens of threads.
                  Sorry, but what the hell... how many programs use hundreds of threads ?

                  Comment


                  • #10
                    Originally posted by wargames View Post
                    Sorry, but what the hell... how many programs use hundreds of threads ?
                    RIGHT NOW? Probably 1 or 2. But its a matter of future-proofing. See my post above.

                    Comment


                    • #11
                      I don't think it matters how much future proofing is done, I don't think we'll ever see desktop applications using hundreds of threads. Hell it is so difficult as to be nearly impossible to code for 8 threads in the vast majority of existing code bases, let alone hundreds.

                      Hundreds of threads.... Seems almost like a joke right now.

                      EDIT: It is in the nature of c/c++. The way it is made makes it difficult to code massively parallel workloads. If hundreds of threads will ever be possible, I doubt very very much that c/c++ is going to be the language that it is achieved on.
                      Last edited by duby229; 04-19-2013, 07:26 PM.

                      Comment


                      • #12
                        Originally posted by duby229 View Post
                        I don't think it matters how much future proofing is done, I don't think we'll ever see desktop applications using hundreds of threads. Hell it is so difficult as to be nearly impossible to code for 8 threads in the vast majority of existing code bases, let alone hundreds.

                        Hundreds of threads.... Seems almost like a joke right now.
                        Its only hard right now because we lack the programming language to make it easy for us. I have no doubt that as time goes on a programming language will come along that will make multi-threading desktop apps very common and easy.

                        Comment


                        • #13
                          Originally posted by rhdunn View Post
                          So GCC reached full C++11 language support in 4.8.1, while Clang will reach it in 3.3. Either way, both open source compilers are leagues ahead of their proprietary counterparts.
                          Only if you think proprietary compilers start and end with Microsoft and Intel. There are others, though much less frequently used.

                          Comment


                          • #14
                            I don't see why you couldn't do something like render a video with hundreds of threads. Each thread would just render different frames. Assuming of course you have hundreds of cores.

                            Comment


                            • #15
                              Originally posted by jumico View Post
                              I don't see why you couldn't do something like render a video with hundreds of threads. Each thread would just render different frames. Assuming of course you have hundreds of cores.
                              Interesting idea for it, though you are right. 10 cores? Awesome! Each core gets 10% of the project to work with. Or every 10th frame to render. Works well since there's no race conditions, no frame is dependent on the previous frame they are all co-mingled.

                              Comment

                              Working...
                              X