Re: [PATCH Rust front-end v4 46/46] gccrs: Add README, CONTRIBUTING and compiler logo
On 12/13/22 02:43, Joseph Myers wrote: > On Fri, 9 Dec 2022, Martin Liška wrote: > >> On 12/6/22 11:14, arthur.co...@embecosm.com wrote: >>> |We still need to write out a documentation section, but these READMEs will >>> help in the meantime.| >> >> Hello. >> >> Just a quick comment: The Sphinx conversion didn't make it for all GCC >> manuals. However, you can still use Sphinx for a newly created manual, >> similarly to what libgccjit or Ada manuals do. > > I would also encourage people using Sphinx for a newly created manual to > consider setting up common build infrastructure for such manuals, possibly > based on that used in the attempted Sphinx conversion. It may be easier > to get common infrastructure for such manuals into shape if it's initially > only being used for one or two manuals - that is, if the addition of such > infrastructure isn't done at the same time as converting any existing > manuals to use Sphinx, or even converting any existing manuals using > Sphinx to use such infrastructure. > Hi. If the Rust folks are willing to use Sphinx, then yes, I'm going to prepare a common infrastructure (baseconf.py, common license files and a common Makefile). So something similar to what I prepared for the Sphinx conversion that didn't make it. Cheers, Martin -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
Re: Rust front-end patches v4
Hi everyone, I have pushed the commits onto master. Thanks again for all the reviews and support. Thank you, and congratulations, to all the contributors. All the best, Arthur On 12/6/22 12:03, Richard Biener via Gcc-rust wrote: On Tue, Dec 6, 2022 at 11:11 AM wrote: This patchset contains the fixed version of our most recent patchset. We have fixed most of the issues noted in the previous round of reviews, and are keeping some for later as they would otherwise create too many conflicts with our updated development branch. Similarly to the previous round of patches, this patchset does not contain any new features - only fixes for the reviews of the v3. New features will follow shortly once that first patchset is merged. Once again, thank you to all the contributors who made this possible and especially to Philip Herron for his dedication to the project. Thanks a lot - this is OK to merge now, thanks for your patience and I'm looking forward for the future improvements. Thanks, Richard. You can see the current status of our work on our branch: https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/devel/rust/master Patch status table: An 'x' in the first column indicates a patch has been reviewed. One in the second column indicates that a patch has been approved. |0001-Use-DW_ATE_UTF-for-the-Rust-char-type.patch |x|x| |0002-gccrs-Add-necessary-hooks-for-a-Rust-front-end-tests.patch|x|x| |0003-gccrs-Add-Debug-info-testsuite.patch | | | |0004-gccrs-Add-link-cases-testsuite.patch | | | |0005-gccrs-Add-general-compilation-test-cases.patch| | | |0006-gccrs-Add-execution-test-cases.patch | | | |0007-gccrs-Add-gcc-check-target-check-rust.patch |x| | |0008-gccrs-Add-Rust-front-end-base-AST-data-structures.patch | | | |0009-gccrs-Add-definitions-of-Rust-Items-in-AST-data-stru.patch| | | |0010-gccrs-Add-full-definitions-of-Rust-AST-data-structur.patch| | | |0011-gccrs-Add-Rust-AST-visitors.patch | | | |0012-gccrs-Add-Lexer-for-Rust-front-end.patch |x| | |0013-gccrs-Add-Parser-for-Rust-front-end-pt.1.patch| | | |0014-gccrs-Add-Parser-for-Rust-front-end-pt.2.patch| | | |0015-gccrs-Add-expansion-pass-for-the-Rust-front-end.patch | | | |0016-gccrs-Add-name-resolution-pass-to-the-Rust-front-end.patch| | | |0017-gccrs-Add-declarations-for-Rust-HIR.patch | | | |0018-gccrs-Add-HIR-definitions-and-visitor-framework.patch | | | |0019-gccrs-Add-AST-to-HIR-lowering-pass.patch | | | |0020-gccrs-Add-wrapper-for-make_unique.patch | | | |0021-gccrs-Add-port-of-FNV-hash-used-during-legacy-symbol.patch| | | |0022-gccrs-Add-Rust-ABI-enum-helpers.patch | | | |0023-gccrs-Add-Base62-implementation.patch | | | |0024-gccrs-Add-implementation-of-Optional.patch| | | |0025-gccrs-Add-attributes-checker.patch| | | |0026-gccrs-Add-helpers-mappings-canonical-path-and-lang-i.patch| | | |0027-gccrs-Add-type-resolution-and-trait-solving-pass.patch| | | |0028-gccrs-Add-Rust-type-information.patch | | | |0029-gccrs-Add-remaining-type-system-transformations.patch | | | |0030-gccrs-Add-unsafe-checks-for-Rust.patch| | | |0031-gccrs-Add-const-checker.patch | | | |0032-gccrs-Add-privacy-checks.patch| | | |0033-gccrs-Add-dead-code-scan-on-HIR.patch | | | |0034-gccrs-Add-unused-variable-scan.patch | | | |0035-gccrs-Add-metadata-output-pass.patch | | | |0036-gccrs-Add-base-for-HIR-to-GCC-GENERIC-lowering.patch | | | |0037-gccrs-Add-HIR-to-GCC-GENERIC-lowering-for-all-nodes.patch |x|x| |0038-gccrs-Add-HIR-to-GCC-GENERIC-lowering-entry-point.patch |x|x| |0039-gccrs-These-are-wrappers-ported-from-reusing-gccgo.patch | | | |0040-gccrs-Add-GCC-Rust-front-end-Make-lang.in.patch |x| | |0041-gccrs-Add-config-lang.in.patch|x|x| |0042-gccrs-Add-lang-spec.h.patch | | | |0043-gccrs-Add-lang.opt.patch |x| | |0044-gccrs-Add-compiler-driver.patch | | | |0045-gccrs-Compiler-proper-interface-kicks-off-the-pipeli.patch| | | |0046-gccrs-Add-README-CONTRIBUTING-and-compiler-logo.patch | | | Patches 34 to 39 and 44 to 45 interact with common GCC APIs: 0034-gccrs-Add-unused-variable-scan.patch 0035-gccrs-Add-metadata-output-pass.patch 0036-gccrs-Add-base-for-HIR-to-GCC-GENERIC-lowering.patch 0037-gccrs-Add-HIR-to-GCC-GENERIC-lowering-for-all-nodes.patch 0038-gccrs-Add-HIR-to-GCC-GENERIC-lowering-entry-point.patch 0039-gccrs-These-are-wrappers-ported-from-reusing-gccgo.patch 0044-gccrs-Add-compiler-driver.patch 0045-gccrs-Compiler-proper-interface-kicks
Re: Rust front-end patches v4
On 12/13/22 14:26, Arthur Cohen wrote: > Thank you, and congratulations, to all the contributors. We thank you!! Congratulations. I have one question: do you have a list of supported architectures Rust FE can support right now? What are you plans for GCC 13.1 release? Cheers, Martin > > All the best, > > Arthur -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
Re: Rust front-end patches v4
We've also added one more commit, which only affects files inside the Rust front-end folder. This commit adds an experimental flag, which blocks the compilation of Rust code when not used. We hope this helps indicate to users that the compiler is not yet ready, but can still be experimented with :) We plan on removing that flag as soon as possible, but in the meantime, we think it will help not creating divide within the Rust ecosystem, as well as not waste Rust crate maintainers' time. Thanks again, Arthur On 12/13/22 14:26, Arthur Cohen wrote: Hi everyone, I have pushed the commits onto master. Thanks again for all the reviews and support. Thank you, and congratulations, to all the contributors. All the best, Arthur On 12/6/22 12:03, Richard Biener via Gcc-rust wrote: On Tue, Dec 6, 2022 at 11:11 AM wrote: This patchset contains the fixed version of our most recent patchset. We have fixed most of the issues noted in the previous round of reviews, and are keeping some for later as they would otherwise create too many conflicts with our updated development branch. Similarly to the previous round of patches, this patchset does not contain any new features - only fixes for the reviews of the v3. New features will follow shortly once that first patchset is merged. Once again, thank you to all the contributors who made this possible and especially to Philip Herron for his dedication to the project. Thanks a lot - this is OK to merge now, thanks for your patience and I'm looking forward for the future improvements. Thanks, Richard. You can see the current status of our work on our branch: https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/heads/devel/rust/master Patch status table: An 'x' in the first column indicates a patch has been reviewed. One in the second column indicates that a patch has been approved. |0001-Use-DW_ATE_UTF-for-the-Rust-char-type.patch |x|x| |0002-gccrs-Add-necessary-hooks-for-a-Rust-front-end-tests.patch|x|x| |0003-gccrs-Add-Debug-info-testsuite.patch | | | |0004-gccrs-Add-link-cases-testsuite.patch | | | |0005-gccrs-Add-general-compilation-test-cases.patch | | | |0006-gccrs-Add-execution-test-cases.patch | | | |0007-gccrs-Add-gcc-check-target-check-rust.patch |x| | |0008-gccrs-Add-Rust-front-end-base-AST-data-structures.patch | | | |0009-gccrs-Add-definitions-of-Rust-Items-in-AST-data-stru.patch| | | |0010-gccrs-Add-full-definitions-of-Rust-AST-data-structur.patch| | | |0011-gccrs-Add-Rust-AST-visitors.patch | | | |0012-gccrs-Add-Lexer-for-Rust-front-end.patch |x| | |0013-gccrs-Add-Parser-for-Rust-front-end-pt.1.patch | | | |0014-gccrs-Add-Parser-for-Rust-front-end-pt.2.patch | | | |0015-gccrs-Add-expansion-pass-for-the-Rust-front-end.patch | | | |0016-gccrs-Add-name-resolution-pass-to-the-Rust-front-end.patch| | | |0017-gccrs-Add-declarations-for-Rust-HIR.patch | | | |0018-gccrs-Add-HIR-definitions-and-visitor-framework.patch | | | |0019-gccrs-Add-AST-to-HIR-lowering-pass.patch | | | |0020-gccrs-Add-wrapper-for-make_unique.patch | | | |0021-gccrs-Add-port-of-FNV-hash-used-during-legacy-symbol.patch| | | |0022-gccrs-Add-Rust-ABI-enum-helpers.patch | | | |0023-gccrs-Add-Base62-implementation.patch | | | |0024-gccrs-Add-implementation-of-Optional.patch | | | |0025-gccrs-Add-attributes-checker.patch | | | |0026-gccrs-Add-helpers-mappings-canonical-path-and-lang-i.patch| | | |0027-gccrs-Add-type-resolution-and-trait-solving-pass.patch | | | |0028-gccrs-Add-Rust-type-information.patch | | | |0029-gccrs-Add-remaining-type-system-transformations.patch | | | |0030-gccrs-Add-unsafe-checks-for-Rust.patch | | | |0031-gccrs-Add-const-checker.patch | | | |0032-gccrs-Add-privacy-checks.patch | | | |0033-gccrs-Add-dead-code-scan-on-HIR.patch | | | |0034-gccrs-Add-unused-variable-scan.patch | | | |0035-gccrs-Add-metadata-output-pass.patch | | | |0036-gccrs-Add-base-for-HIR-to-GCC-GENERIC-lowering.patch | | | |0037-gccrs-Add-HIR-to-GCC-GENERIC-lowering-for-all-nodes.patch |x|x| |0038-gccrs-Add-HIR-to-GCC-GENERIC-lowering-entry-point.patch |x|x| |0039-gccrs-These-are-wrappers-ported-from-reusing-gccgo.patch | | | |0040-gccrs-Add-GCC-Rust-front-end-Make-lang.in.patch |x| | |0041-gccrs-Add-config-lang.in.patch |x|x| |0042-gccrs-Add-lang-spec.h.patch | | | |0043-gccrs-Add-lang.opt.patch |x| | |0044-gccrs-Add-compiler-driver.patch | | | |0045-gccrs-Compiler-proper-interface-ki
Re: Rust front-end patches v4
Hi Martin, On 12/13/22 14:30, Martin Liška wrote: On 12/13/22 14:26, Arthur Cohen wrote: Thank you, and congratulations, to all the contributors. We thank you!! Congratulations. Thank you :) I have one question: do you have a list of supported architectures Rust FE can support right now? You can have a look at what architectures we support on our github repository: https://github.com/Rust-GCC/gccrs We pass our own testsuite on i386, x86_64 and arm64. As mentioned by Mark, the other architectures currently fail due to two testcases which do not work properly on big-endian systems, and one unsupported test-case on PowerPC 64bits. It shouldn't be too hard to fix these failures, and I am working on it. We've also got contributions from Iain Buclaw, which will help supporting more target-specific features. These will be upstreamed soon, as we update GCC's master with our current development branch. > What are you plans for GCC 13.1 release? We aim to be able to compile the entirety of Rust's core library, libcore 1.49, before the release of GCC 13.1. There aren't too many features left, and we hope to get to them quickly. We also want to integrate at least part of a borrow-checker to gccrs, as soon as possible. This will surely unearth a lot of bugs for us to fix in time for April :) Cheers, Martin All the best, Arthur Kindly, -- Arthur Cohen Toolchain Engineer Embecosm GmbH Geschäftsführer: Jeremy Bennett Niederlassung: Nürnberg Handelsregister: HR-B 36368 www.embecosm.de Fürther Str. 27 90429 Nürnberg Tel.: 091 - 128 707 040 Fax: 091 - 128 707 077 OpenPGP_0x1B3465B044AD9C65.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
[Bug rust/108087] New: -Wodr warnings in rust/rust-lang.cc (lang_type)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108087 Bug ID: 108087 Summary: -Wodr warnings in rust/rust-lang.cc (lang_type) Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rust Assignee: unassigned at gcc dot gnu.org Reporter: sam at gentoo dot org CC: dkm at gcc dot gnu.org, gcc-rust at gcc dot gnu.org Target Milestone: --- Created attachment 54082 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54082&action=edit build.log.xz (slightly past warning) Noticed when bootstrapping GCC 13 from trunk at r13-4681-g531ca06c007d4c. ``` /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/rust-lang.cc:67:17: warning: type [-Wodr] 67 | struct GTY (()) lang_type | ^ /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/backend/rust-tree.h:234: note: a different type is defined in another translation unit 234 | struct GTY (()) lang_type | /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/backend/rust-tree.h:236: note: the first difference of corresponding definitions is field ‘align’ 236 | unsigned char align; | /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/backend/rust-tree.h:234: note: a type with different number of fields is defined in another translation unit 234 | struct GTY (()) lang_type | ``` I've attached the build.log compressed a bit past the point of the warning, as it's still building. Host compiler is 12.2.1_p20221210. -- You are receiving this mail because: You are on the CC list for the bug. -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
[Bug rust/108087] -Wodr warnings in rust/rust-lang.cc (lang_type)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108087 --- Comment #1 from Sam James --- Sorry, output got mangled slightly by ansifiltering: ``` /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/rust-lang.cc:67:17: warning: type ‘struct lang_type’ violates the C++ One Definition Rule [-Wodr] 67 | struct GTY (()) lang_type | ^ /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/backend/rust-tree.h:234: note: a different type is defined in another translation unit 234 | struct GTY (()) lang_type | /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/backend/rust-tree.h:236: note: the first difference of corresponding definitions is field ‘align’ 236 | unsigned char align; | /var/tmp/portage/sys-devel/gcc-13.0./work/gcc-13.0./gcc/rust/backend/rust-tree.h:234: note: a type with different number of fields is defined in another translation unit 234 | struct GTY (()) lang_type | ``` -- You are receiving this mail because: You are on the CC list for the bug. -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
[Bug rust/108087] -Wodr warnings in rust/rust-lang.cc (lang_type)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108087 Sam James changed: What|Removed |Added Host||x86_64-pc-linux-gnu -- You are receiving this mail because: You are on the CC list for the bug. -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
Re: [PATCH Rust front-end v4 46/46] gccrs: Add README, CONTRIBUTING and compiler logo
On Tue, 13 Dec 2022, Martin Liška wrote: > If the Rust folks are willing to use Sphinx, then yes, I'm going to > prepare a common infrastructure (baseconf.py, common license files and a > common Makefile). So something similar to what I prepared for the Sphinx > conversion that didn't make it. I suggest putting this in a directory such as gcc/doc/sphinx/ (rather than the top-level doc/ that was used in the Sphinx conversion). -- Joseph S. Myers jos...@codesourcery.com-- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust
[Bug rust/108087] -Wodr warnings in rust/rust-lang.cc (lang_type)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108087 Andrew Pinski changed: What|Removed |Added Keywords||build --- Comment #2 from Andrew Pinski --- This does look like a real issue in the rust front-end. lang_type is defined differently in those two files. -- You are receiving this mail because: You are on the CC list for the bug. -- Gcc-rust mailing list Gcc-rust@gcc.gnu.org https://gcc.gnu.org/mailman/listinfo/gcc-rust