Announcement

Collapse
No announcement yet.

GCC Rust Front-End v4 Posted - Now Cleared For Merging In GCC 13

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

  • GCC Rust Front-End v4 Posted - Now Cleared For Merging In GCC 13

    Phoronix: GCC Rust Front-End v4 Posted - Now Cleared For Merging In GCC 13

    The GCC Rust front-end that provides very preliminary support for the Rust programming language atop the GNU Compiler Collection is now cleared for merging to the mainline codebase!..

    https://www.phoronix.com/news/GCC-Ru...ed-For-Landing

  • #2
    Getting the popcorn

    Comment


    • #3
      They already stated that for the borrow checker, which is only needed at compile time, they want to use a external tool.

      This is the borrow checker they want to use https://github.com/rust-lang/polonius

      As sooner as this is merged, the better. It is a necessity for compiling Linux rust modules and pushes Rust's Org to standardize the language which benefits all.

      Comment


      • #4
        Originally posted by Alexmitter View Post
        They already stated that for the borrow checker, which is only needed at compile time, they want to use a external tool.
        It is a bit weird to read someone specify something is only needed at compile time when talking about compiler patches. That should be a given.

        Comment


        • #5
          Originally posted by Alexmitter View Post
          They already stated that for the borrow checker, which is only needed at compile time, they want to use a external tool.

          This is the borrow checker they want to use https://github.com/rust-lang/polonius

          As sooner as this is merged, the better. It is a necessity for compiling Linux rust modules and pushes Rust's Org to standardize the language which benefits all.
          It's more a library wrapped in a test jig than a tool. Polonius is the in-development "version 3.0" of the official rustc borrow checker (with Non-Lexical Lifetimes being "version 2.0"), so the idea is that, rather than writing their own clone of borrow-checking, they want to reuse the rustc implementation and provide a bootstrappable hybrid C++-Rust compiler in a manner similar to the mrustc bootstrapping compiler. (By initially building the borrow-checker in a "trust that this code is correct" mode without borrow-checking it, with only g++ as a dependency, then using the resulting compiler to re-bootstrap itself with borrow-checking enabled.)

          Basically, before NLL landed, there were three solvable cases they identified that it would fix, but the third turned out to be complicated enough to write a prover for that they deferred it. Polonius being the deferred solution for that third class of NLL borrow checks.
          Last edited by ssokolow; 06 December 2022, 09:38 AM.

          Comment


          • #6
            Originally posted by Alexmitter View Post
            As sooner as this is merged, the better. It is a necessity for compiling Linux rust modules and pushes Rust's Org to standardize the language which benefits all.
            No, it's not a necessity. Rust will only be used in the beginning for platform-specific drivers, where LLVM is already available. And even for other platforms, the project you want to follow is https://github.com/rust-lang/rustc_codegen_gcc, where rustc uses GCC as a backend for code generation.

            As for standardization, that's nice, but it didn't prevent C and C++ from having dozens of incompatible implementations.

            Comment


            • #7
              Originally posted by GrayShade View Post

              No, it's not a necessity. Rust will only be used in the beginning for platform-specific drivers, where LLVM is already available. And even for other platforms, the project you want to follow is https://github.com/rust-lang/rustc_codegen_gcc, where rustc uses GCC as a backend for code generation.
              To add to this, rustc_codegen_gcc recently passed 100% for the x86_64 simd test suite. For a more complete status check out the following link:

              https://www.reddit.com/r/rust/commen...rt_18/iz0con7/
              Last edited by oleid; 06 December 2022, 11:24 AM.

              Comment


              • #8
                Originally posted by oleid View Post

                To add to this, rustc_codegen_gcc recently passed 100% for the x86_64 simd test suite. For a more complete status check out the following link:

                https://www.reddit.com/r/rust/commen...rt_18/iz0con7/
                That's great. It looks like unwinding is the most important missing feature before it's actually usable.

                Comment


                • #9
                  What is the systemd_rust game engine for linux+android that everyone loves ?

                  Comment


                  • #10
                    Buggy rust code coming to a system near you

                    Comment

                    Working...
                    X