[gcc r15-8757] gccrs: Compile unit struct with constructor
Arthur Cohen
cohenarthur@gcc.gnu.org
Mon Mar 24 12:33:06 GMT 2025
https://gcc.gnu.org/g:4f6d40d323807417a4b0424d73d9a75191e6225d
commit r15-8757-g4f6d40d323807417a4b0424d73d9a75191e6225d
Author: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Date: Mon Jan 13 18:26:37 2025 +0100
gccrs: Compile unit struct with constructor
gcc/rust/ChangeLog:
* backend/rust-compile-resolve-path.cc (ResolvePathRef::resolve): Do
not use query system for unit struct but compile it's constructor
instead.
Signed-off-by: Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
Diff:
---
gcc/rust/backend/rust-compile-resolve-path.cc | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/gcc/rust/backend/rust-compile-resolve-path.cc b/gcc/rust/backend/rust-compile-resolve-path.cc
index a40f5542a683..103f0cb6fe86 100644
--- a/gcc/rust/backend/rust-compile-resolve-path.cc
+++ b/gcc/rust/backend/rust-compile-resolve-path.cc
@@ -180,6 +180,11 @@ ResolvePathRef::resolve_with_node_id (
}
}
+ // Handle unit struct
+ if (lookup->get_kind () == TyTy::TypeKind::ADT)
+ return attempt_constructor_expression_lookup (lookup, ctx, mappings,
+ expr_locus);
+
// let the query system figure it out
tree resolved_item = query_compile (ref, lookup, final_segment, mappings,
expr_locus, is_qualified_path);
More information about the Gcc-cvs
mailing list