From: Philip Herron
Generics can be constrained within other generic types so this check needs
to be recursive.
Fixes Rust-GCC#3031
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-base.cc (walk_types_to_constrain):
recursive walker
* typecheck/rust-tyty.cc (BaseType::get_s
From: Pierre-Emmanuel Patry
Clang on macos as well as GCC 4.8 complains when those templates are
missing.
gcc/rust/ChangeLog:
* hir/rust-ast-lower-expr.cc (ASTLoweringExpr::visit): Add template
to tl::optional.
* hir/rust-ast-lower-type.cc (ASTLowerGenericParam::visit):
From: Arthur Cohen
gcc/rust/ChangeLog:
* util/rust-lang-item.h: Add handling for Result::Ok, Result::Err, Try,
Try::into_result,
Try::from_ok, Try::from_err.
* util/rust-lang-item.cc: Likewise.
gcc/testsuite/ChangeLog:
* rust/compile/try-trait.rs: New test.
---
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-ast-visitor.cc
(DefaultASTVisitor::visit): Visit fields of InlineAsm.
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Remove
inline_asm_parse_output_operand.rs.
Signed-off-by: Owen Avery
---
gcc/rust/ast/ru
A failed build has been detected on builder gccrust-fedora-x86_64 while
building gccrust.
Full details are available at:
https://builder.sourceware.org/buildbot/#/builders/16/builds/3420
Build state: failed '! grep ...' (failure)
Revision: 20c8539a23e0a0462e3763c3983ffb3ca9b7e709
Worker: bbo
From: Philip Herron
gcc/rust/ChangeLog:
* hir/rust-hir-dump.cc (Dump::visit): add guards
Signed-off-by: Philip Herron
---
gcc/rust/hir/rust-hir-dump.cc | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rust/hir/rust-hi
From: Owen Avery
gcc/rust/ChangeLog:
* util/optional.h
(optional): Add assertions to dereference operator overloads
when C++14 is available.
Signed-off-by: Owen Avery
---
gcc/rust/util/optional.h | 86
1 file changed, 79 inserti
From: Owen Avery
gcc/rust/ChangeLog:
* checks/errors/rust-ast-validation.cc
(ASTValidation::visit): Allow constant items lacking expressions
if and only if they're associated with a trait definition, not a
trait implementation.
gcc/testsuite/ChangeLog:
*
From: Pierre-Emmanuel Patry
gcc/testsuite/ChangeLog:
* rust/compile/macro-delim.rs: Move to...
* rust/compile/macros/mbe/macro-delim.rs: ...here.
* rust/compile/macro-issue1053-2.rs: Move to...
* rust/compile/macros/mbe/macro-issue1053-2.rs: ...here.
* rus
From: Arthur Cohen
This method errors out if the lang item has not been declared yet.
gcc/rust/ChangeLog:
* util/rust-hir-map.cc (Mappings::get_lang_item_node): New.
* util/rust-hir-map.h: New function.
---
gcc/rust/util/rust-hir-map.cc | 10 ++
gcc/rust/util/rust-hir-m
From: Pierre-Emmanuel Patry
Those tests are now passing.
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Remove two mangling tests from exclusion
file.
Signed-off-by: Pierre-Emmanuel Patry
---
gcc/testsuite/rust/compile/nr2/exclude | 2 --
1 file changed, 2 deletions(-)
From: Owen Avery
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check.cc: Add includes.
(TraitItemReference::get_type_from_fn): Use
ForeverStack::to_canonical_path when name resolution 2.0 is
enabled.
Signed-off-by: Owen Avery
---
gcc/rust/typecheck/rust-hir-typ
From: badumbatish
gcc/rust/ChangeLog:
* backend/rust-compile-asm.cc (CompileAsm::add_stmt):
Scaffolding code.
(CompileAsm::asm_build_asm_stmt): Likewise.
(CompileAsm::asm_build_expr): Likewise.
(CompileAsm::asm_construct_string_tree): Likewise.
* b
From: Philip Herron
Addresses Rust-GCC#3352
gcc/rust/ChangeLog:
* backend/rust-compile-type.cc
(TyTyResolveCompile::get_implicit_enumeral_node_type):
use repr
(TyTyResolveCompile::visit): update prototype
* backend/rust-compile-type.h: likewise
Signed-off-by: P
From: Pierre-Emmanuel Patry
It might be necessary to compare both name resolution' internal states
during the transition. This new debug representation could help with
that.
gcc/rust/ChangeLog:
* resolve/rust-name-resolver.h: Add new degug dump for old name
resolver.
Signed-off
From: Arthur Cohen
If additional trait bounds aren't auto traits, then the typechecker
must error out (Rust-GCC#3008)
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-type.cc: Add TODO note.
---
gcc/rust/typecheck/rust-hir-type-check-type.cc | 5 +
1 file changed, 5 insertions(+
From: CohenArthur
This reverts commit 600fd806b8821ea24103ea0f31d666077245c6b7.
---
gcc/rust/ast/rust-collect-lang-items.cc | 7 ++-
gcc/rust/util/rust-attributes.cc| 8
gcc/rust/util/rust-attributes.h | 2 --
3 files changed, 6 insertions(+), 11 deletions(-)
diff -
From: Philip Herron
gcc/rust/ChangeLog:
* hir/rust-hir-dump.cc (Dump::visit): add missing null checks
Signed-off-by: Philip Herron
---
gcc/rust/hir/rust-hir-dump.cc | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/gcc/rust/hir/rust-hir-dump.cc b/gcc/rus
From: Pierre-Emmanuel Patry
gcc/rust/ChangeLog:
* backend/rust-compile-base.cc: Prepend crate name to function's ir
name.
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Remove passing tests from exclude list.
Signed-off-by: Pierre-Emmanuel Patry
---
gcc/rust/ba
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119342
Andrew Pinski changed:
What|Removed |Added
URL||https://gcc.gnu.org/piperma
From: Owen Avery
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Add trailing newline along with
comment.
Signed-off-by: Owen Avery
---
gcc/testsuite/rust/compile/nr2/exclude | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/testsuite/rust/compile/
From: Arthur Cohen
gcc/rust/ChangeLog:
* Make-lang.in: Add new object file.
* rust-session-manager.cc (Session::compile_crate): Call
CollectLangItems.
* ast/rust-collect-lang-items.cc: New file.
* ast/rust-collect-lang-items.h: New file.
---
gcc/rust/Make-lang.i
From: Pierre-Emmanuel Patry
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc (CompileExpr::visit): Change call.
(CompileExpr::resolve_operator_overload): Update function arguments.
* backend/rust-compile-expr.h: Change the function's prototype to use
a reference
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119333
--- Comment #2 from Sam James ---
.cargo/ at top-level with:
.cargo/config.toml:
```
[net]
offline = true
```
and CARGO_HOME="${srcdir}/.cargo" or something like that would work.
--
You are receiving this mail because:
You are on the CC list
From: jjasmine
Safegaurd InlineAsm's clone_expr_... with unreachable since
we would never use them.
gcc/rust/ChangeLog:
* ast/rust-expr.h:
Safegaurd InlineAsm's clone_expr_... with unreachable.
---
gcc/rust/ast/rust-expr.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc
From: Owen Avery
gcc/testsuite/ChangeLog:
* rust/compile/nr2/compile.exp: Handle paths using "file join"
and "file split".
* rust/compile/nr2/exclude: Remove debug-diagnostics-on.rs.
Signed-off-by: Owen Avery
---
gcc/testsuite/rust/compile/nr2/compile.exp | 18
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-implitem.cc
(CompileTraitItem::visit): Use name resolver 2.0 (when enabled)
to obtain canonical paths for instances of TraitItemConst and
TraitItemFunc.
Signed-off-by: Owen Avery
---
gcc/rust/backend/r
From: Owen Avery
gcc/rust/ChangeLog:
* hir/rust-ast-lower-base.cc
(ASTLoweringBase::lower_literal): Lower raw string literals into
normal string literals.
gcc/testsuite/ChangeLog:
* rust/compile/issue-3549.rs: New test.
Signed-off-by: Owen Avery
---
gcc/rust/
From: Owen Avery
gcc/testsuite/ChangeLog:
* rust/compile/macros/mbe/macro43.rs: Adjust test to pass with
name resolution 2.0.
* rust/compile/nr2/exclude: Remove macros/mbe/macro43.rs.
Signed-off-by: Owen Avery
---
gcc/testsuite/rust/compile/macros/mbe/macro43.rs | 15 +
From: Owen Avery
gcc/rust/ChangeLog:
* typecheck/rust-hir-trait-resolve.cc: Add includes.
(TraitResolver::resolve_path_to_trait):
Use name resolution 2.0 resolver when enabled.
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: Remove entries.
Signed-off-by:
From: Philip Herron
In order to handle the tuple pattern of: fn test ((x _) : (i32, i32)) -> i32 {
x }
we need to recognize that ABI wise this function still takes a tuple as the
parameter
to this function its just how we can address the "pattern" of the tuple changes.
So reall if this was C i
From: Arthur Cohen
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-type.cc
(TypeCheckType::resolve_root_path): Adapt
code to handle lang item type paths.
---
.../typecheck/rust-hir-type-check-type.cc | 26 ---
1 file changed, 17 insertions(+), 9 deletion
From: Arthur Cohen
gcc/rust/ChangeLog:
* ast/rust-path.h: Adapt children of Path to fix some NodeId issues.
---
gcc/rust/ast/rust-path.h | 76 +++-
1 file changed, 37 insertions(+), 39 deletions(-)
diff --git a/gcc/rust/ast/rust-path.h b/gcc/rust/ast
From: Philip Herron
This catch to inject inference variables into generic paths was a
catch all 'hack' that we needed before we handled generics correctly
as we do now.
Fixes #3009
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-path.cc
(TypeCheckExpr::resolve_segments): remove ha
From: badumbatish
gcc/rust/ChangeLog:
* ast/rust-expr.h (struct AnonConst):
Safe-guard InlineAsm structs
(struct InlineAsmOperand): Likewise.
* expand/rust-macro-builtins-asm.cc (parse_reg_operand_in):
Likewise.
(parse_reg_operand_out): Likewise.
From: Owen Avery
gcc/testsuite/ChangeLog:
* rust/compile/const_generics_3.rs: Modify test to run with name
resolution 2.0 only and to handle the absence of a bogus
resolution error.
* rust/compile/nr2/exclude: Remove const_generics_3.rs.
Signed-off-by: Owen Avery
From: Owen Avery
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc
(CompileExpr::visit): Use name resolver 2.0 to lookup label
definitions for break and continue statements when name
resolution 2.0 is enabled.
Signed-off-by: Owen Avery
---
gcc/rust/backend/rus
From: Owen Avery
Since our bootstrap requirement has been bumped to C++14, we don't need
a custom implementation of std::make_unique anymore.
gcc/rust/ChangeLog:
* ast/rust-ast-builder-type.cc: Remove inclusion of
rust-make-unique.h.
* ast/rust-ast-builder.cc: Likewise.
From: Arthur Cohen
gcc/rust/ChangeLog:
* typecheck/rust-hir-type-check-type.cc
(TypeCheckType::resolve_root_path):
Remove unused capture in lambda.
---
gcc/rust/typecheck/rust-hir-type-check-type.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/gcc/r
From: Arthur Cohen
Some failures occur in the testsuite because we
did not account for the little-endian case.
gcc/testsuite/ChangeLog:
* rust/compile/issue-1446.rs: Add swap_bytes function.
* rust/compile/iterators1.rs: Remove unused {to, from}_le functions.
---
gcc/testsuite/
From: Philip Herron
Fixes Rust-GCC#3568
gcc/rust/ChangeLog:
* resolve/rust-ast-resolve-path.cc (ResolvePath::resolve_path): check
for super mid path
gcc/testsuite/ChangeLog:
* rust/compile/nr2/exclude: nr2 puts out a different error multiple
times
* rust/compile/issu
From: Pierre-Emmanuel Patry
FnParam type where monomorphized during cloning.
gcc/rust/ChangeLog:
* typecheck/rust-tyty.h: Reverse monomorphization during cloning and
make a new function to explicitly monomorphize.
* typecheck/rust-tyty.cc: Use monomorphization when requi
From: Owen Avery
This removes a usage of Resolver::get_unit_type_node_id in
rust-hir-type-check-expr.cc (the HIR::TupleExpr overload of
TypeCheckExpr::visit).
gcc/rust/ChangeLog:
* typecheck/rust-tyty.cc
(TupleType::get_unit_type): Remove parameter, cache return
value.
From: Pierre-Emmanuel Patry
Resolve TypeParam unless it is Self.
gcc/rust/ChangeLog:
* resolve/rust-toplevel-name-resolver-2.0.cc (TopLevel::visit): Resolve
TypeParam.
* resolve/rust-toplevel-name-resolver-2.0.h: Add visit function
prototype.
Signed-off-by: Pier
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119353
Bug ID: 119353
Summary: build failure: error[E0554]: `#![feature]` may not be
used on the stable release channel
Product: gcc
Version: 15.0
Status: UNCONFIRMED
From: Arthur Cohen
gcc/testsuite/ChangeLog:
* rust/compile/cfg-core1.rs: New test.
* rust/compile/cfg-core2.rs: New test.
---
gcc/testsuite/rust/compile/cfg-core1.rs | 12
gcc/testsuite/rust/compile/cfg-core2.rs | 12
2 files changed, 24 insertions(+)
From: Arthur Cohen
gcc/rust/ChangeLog:
* hir/tree/rust-hir-stmt.h (class LetStmt): Add optional diverging else
expression.
* hir/tree/rust-hir-stmt.cc: Likewise.
* hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): Add handling for
lowering
diverging else.
---
From: Philip Herron
When we have paths such as Try::from_error the Try references the Trait
and then from_error references the from_error trait item. So this resolves
directly to a trait implementation which has the type:
fn (v: placeholder) -> Self
Remember that a path such as: Try::from_er
From: JoanVC
Fixes gccrs#3141.
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc
Signed-off-by: Joan Vilardaga
---
gcc/rust/backend/rust-compile-expr.cc | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/gcc/rust/backend/rust-compile-expr.cc
b/gcc/rust/
From: Pierre-Emmanuel Patry
Refactor some optional initializer in the lowering stage to make them
more readable.
gcc/rust/ChangeLog:
* hir/rust-ast-lower-stmt.cc (ASTLoweringStmt::visit): Change the
ternary expression with a more readable if.
Signed-off-by: Pierre-Emmanuel Patr
From: Philip Herron
This is a special case in Rust and the ! type can unify with pretty much
anything its almost a inference variable and a unit-type for special cases.
Fixes Rust-GCC/gccrs#3231
Fixes Rust-GCC/gccrs#2567
gcc/rust/ChangeLog:
* backend/rust-compile-expr.cc (check_match_s
From: Arthur Cohen
gcc/rust/ChangeLog:
* expand/rust-derive-copy.cc: Use new LangItemPath for derive(Copy).
---
gcc/rust/expand/rust-derive-copy.cc | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/gcc/rust/expand/rust-derive-copy.cc
b/gcc/rust/expand/rust-deriv
From: liushuyu
gcc/rust/ChangeLog:
* backend/rust-compile-intrinsic.cc: add `try` intrinsic handler.
* lang.opt: add `-frust-panic` option.
* rust-lang.cc: enable exception handler code generation.
* rust-session-manager.cc: add getter and setter for panic
From: Arthur Cohen
gcc/rust/ChangeLog:
* hir/rust-ast-lower-type.cc (ASTLowerTypePath::translate): Adapt to
handle lang item paths.
(ASTLowerTypePath::visit): Likewise.
(ASTLowerTypePath::translate_type_path): New.
(ASTLowerTypePath::translate_lang_item_ty
From: Arthur Cohen
gcc/rust/ChangeLog:
* expand/rust-derive-clone.cc (DeriveClone::visit_union): Use lang
items for Copy and
Sized bounds.
gcc/testsuite/ChangeLog:
* rust/compile/derive_macro6.rs: Add lang item attribute to Copy trait.
---
gcc/rust/expand/rust-derive-
From: Arthur Cohen
gcc/rust/ChangeLog:
* util/rust-attributes.h (class Attributes): New.
* util/rust-attributes.cc: Implement Attributes::is_known().
* ast/rust-collect-lang-items.cc (is_known_attribute): Remove.
(get_lang_item_attr): Call Attributes::is_known() i
From: Owen Avery
gcc/rust/ChangeLog:
* ast/rust-ast-collector.cc
(TokenCollector::visit): Remove visitor for NamedFunctionParam.
* ast/rust-ast-collector.h
(TokenCollector::visit): Likewise.
* ast/rust-ast-full-decls.h
(class NamedFunctionParam): R
From: Pierre-Emmanuel Patry
GCC 4.8 complains about the initializer list.
gcc/rust/ChangeLog:
* typecheck/rust-tyty.h: Change initializer list to default constructor
call.
Signed-off-by: Pierre-Emmanuel Patry
---
gcc/rust/typecheck/rust-tyty.h | 6 +++---
1 file changed, 3 in
From: SIGMazer
gcc/rust/ChangeLog:
* rust-system.h: Add system include
Signed-off-by: SIGMazer
---
gcc/rust/rust-system.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/rust/rust-system.h b/gcc/rust/rust-system.h
index 7a6a72e5c64..986428b0819 100644
--- a/gcc/rust/rust-syst
59 matches
Mail list logo