Re: [PATCH Rust front-end v4 46/46] gccrs: Add README, CONTRIBUTING and compiler logo

2022-12-13 Thread Martin Liška
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

2022-12-13 Thread Arthur Cohen

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

2022-12-13 Thread Martin Liška
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

2022-12-13 Thread Arthur Cohen
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

2022-12-13 Thread Arthur Cohen

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)

2022-12-13 Thread sam at gentoo dot org via Gcc-rust
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)

2022-12-13 Thread sam at gentoo dot org via Gcc-rust
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)

2022-12-13 Thread sam at gentoo dot org via Gcc-rust
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

2022-12-13 Thread Joseph Myers
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)

2022-12-13 Thread pinskia at gcc dot gnu.org via Gcc-rust
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