Announcement

Collapse
No announcement yet.

The State Of C++20 Features In GCC's libstdc++

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

  • The State Of C++20 Features In GCC's libstdc++

    Phoronix: The State Of C++20 Features In GCC's libstdc++

    With GCC 9 being released in just a short time and being now onto the final stage of development, besides fixing regressions the developers are also getting the documentation in order...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Too bad C++17 isn't complete yet. This is a big issue when you are doing multiplatform development. You compile your code on Windows with VS17.9 which has complete C++17 support, check-in the code, and then you discover that it doesn't compile on Linux with GCC and on macOS with Clang. This is really annoying. How comes Microsoft is ahead of both GCC and Clang? Clang is so far behind: https://libcxx.llvm.org/cxx1z_status.html

    Comment


    • #3
      Originally posted by trifud View Post
      Too bad C++17 isn't complete yet. This is a big issue when you are doing multiplatform development. You compile your code on Windows with VS17.9 which has complete C++17 support, check-in the code, and then you discover that it doesn't compile on Linux with GCC and on macOS with Clang. This is really annoying. How comes Microsoft is ahead of both GCC and Clang? Clang is so far behind: https://libcxx.llvm.org/cxx1z_status.html
      So far, MSVC doesnt even sport a C99 compatible preprocessor (required for C++03). If you develop on MSVC, you dont do multiplatform development. Heck, a ton of libraries like Boost Hana and RangeV3 still need special versions for MSVC because the conformance is still lacking alot.
      So MSVC is leading in checkboxes, but lacking in correct implementation (not that other compilers are without faults, but those did not start looking at standard conformance only 3 years ago).

      Comment


      • #4
        I am not saying that MSVC is without issues. But in our organization we can't switch to a given C++ standard until all of our compilers (GCC, Clang via Xcode, MSVC and Intel) support exactly the same features. Our product runs on Linux, Windows and macOS. But most developers code on Windows with MSVC. They write the code, compile it, test it and commit it. And then they are notified by the automatic build system that it doesn't compile on Linux and/or macOS because some feature is not available in GCC and/or Clang yet. This holds us back.

        With the current status of libc++, XCode will have complete C++17 support NET late next year.

        Comment


        • #5
          Originally posted by trifud View Post
          Too bad C++17 isn't complete yet. This is a big issue when you are doing multiplatform development. You compile your code on Windows with VS17.9 which has complete C++17 support, check-in the code, and then you discover that it doesn't compile on Linux with GCC and on macOS with Clang. This is really annoying. How comes Microsoft is ahead of both GCC and Clang? Clang is so far behind: https://libcxx.llvm.org/cxx1z_status.html
          What exactly is missing and what version of gcc are you using? Except for "The Parallelism TS" gcc 8 should only be missing verry obscure stuff, while you make it sound like it's missing lots of essential features.

          Comment


          • #6
            Yes, C++17 is almost complete in GCC. I am not interested in the parallelism TS and hardware interface size, but it would be nice if they had elementary string conversions fully supported.

            Comment

            Working...
            X