{"id":2223307,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2223307/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/patch/20260414231905.191063-41-arthur.cohen@embecosm.com/","project":{"id":17,"url":"http://patchwork.ozlabs.org/api/1.2/projects/17/?format=json","name":"GNU Compiler Collection","link_name":"gcc","list_id":"gcc-patches.gcc.gnu.org","list_email":"gcc-patches@gcc.gnu.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260414231905.191063-41-arthur.cohen@embecosm.com>","list_archive_url":null,"date":"2026-04-14T23:19:02","name":"[COMMITTED,41/43] gccrs: Fixed glob-import all ICE","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"b065e609db8b37add87bf5f31ce792f072777eaf","submitter":{"id":83476,"url":"http://patchwork.ozlabs.org/api/1.2/people/83476/?format=json","name":"Arthur Cohen","email":"arthur.cohen@embecosm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/gcc/patch/20260414231905.191063-41-arthur.cohen@embecosm.com/mbox/","series":[{"id":499900,"url":"http://patchwork.ozlabs.org/api/1.2/series/499900/?format=json","web_url":"http://patchwork.ozlabs.org/project/gcc/list/?series=499900","date":"2026-04-14T23:18:24","name":"[COMMITTED,01/43] gccrs: testsuite:Add a testcase for setup_associated_types","version":1,"mbox":"http://patchwork.ozlabs.org/series/499900/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223307/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223307/checks/","tags":{},"related":[],"headers":{"Return-Path":"<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":["incoming@patchwork.ozlabs.org","gcc-patches@gcc.gnu.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","gcc-patches@gcc.gnu.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=embecosm.com header.i=@embecosm.com header.a=rsa-sha256\n header.s=google header.b=VuDMsf2l;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=embecosm.com header.i=@embecosm.com header.a=rsa-sha256\n header.s=google header.b=VuDMsf2l","sourceware.org;\n dmarc=none (p=none dis=none) header.from=embecosm.com","sourceware.org; spf=pass smtp.mailfrom=embecosm.com","server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.128.68"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fwLJ50xNqz1yHd\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 15 Apr 2026 09:36:04 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 5816C4BA2E0A\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 23:36:02 +0000 (GMT)","from mail-wm1-f68.google.com (mail-wm1-f68.google.com\n [209.85.128.68])\n by sourceware.org (Postfix) with ESMTPS id 549D94BA2E07\n for <gcc-patches@gcc.gnu.org>; Tue, 14 Apr 2026 23:15:17 +0000 (GMT)","by mail-wm1-f68.google.com with SMTP id\n 5b1f17b1804b1-488aa77a06eso100542195e9.0\n for <gcc-patches@gcc.gnu.org>; Tue, 14 Apr 2026 16:15:17 -0700 (PDT)","from platypus.localdomain (176-147-231-59.abo.bbox.fr.\n [176.147.231.59]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488f1dd8806sm3325945e9.3.2026.04.14.16.15.13\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 14 Apr 2026 16:15:13 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 5816C4BA2E0A","OpenDKIM Filter v2.11.0 sourceware.org 549D94BA2E07"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 549D94BA2E07","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 549D94BA2E07","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1776208517; cv=none;\n b=ITm3Xdkt7spWDCQIb+yqCKexxheFb08QKAnLGE4GdYubZY9xFwTCrSDFuWyXzWqC02jsFCgPGC+Vx80+zrLjpenJ5cohnhvIrFDUawlWI+0iKBD2MOg7yr8o0HsWtvloKMUpy05ALZBXwbrj1AswEEObccXaYeB0g1O98w5Xovk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1776208517; c=relaxed/simple;\n bh=k61tB89A57HTnTsqdLCSEbBlgO5O+bP0PI2T76RW9hE=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=Kn/xOc7GN43HFnyf7d41H+DaA8tKi2eD0ebCyRGE3PUWOxS+OGY5z+tTqF9S46Pa2icgeVGqSzXQ1e6aX1iPcXKsuEemjtLgGh8pg8L1glg7nwzGo5a59aMSEQUbppCtVy3KfpA9Bk835fQGeKnFzSoYTKJ6MZ2oKQWMNYGiFnA=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=embecosm.com; s=google; t=1776208516; x=1776813316; darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=RiV1B9xgELjWCB9VyZtHEHfjaO4csyGZ1HEghwQyJsQ=;\n b=VuDMsf2lZrjO6lhKRyvaO9hCLuDr1GUYFjOK8CIcBDTnW8XvPqzgBNGHAHQL+CHc8v\n 4z2Zt74EibfgWRZnX1b37xmtj+zYRym7bjWzjNSl805xgwRpyTsVNaXLIwmduG1qU2j4\n rmuVzS+HLb9q82NQiKnQO79FuJwl8UIbeaZkKo3cH0l/SBZ2gOgPk/qiCa+4ywGmzTnk\n 2O72EHqEI1jA77AXmT/vOf4dAKpSUUIyVPPIkDsQ+E72eg2fEEsM6KxVbXqXOrY/M+Ip\n JJG04W0VVwFqP6Y8GCIPY6d9FYHKVcPaJAZK06xmSSOs/1pYw9J+W58wE9fe7FmknpGN\n WqrQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776208516; x=1776813316;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=RiV1B9xgELjWCB9VyZtHEHfjaO4csyGZ1HEghwQyJsQ=;\n b=IeWEzeJPeGLb7FkQvOCgYIJY8qKU2FpMkkMDxkCJFF05qIUoTSmNd3zEqGEeSsjopQ\n 1YPV6mxIUAKnY56aetGRDXkQqH220P2Pc4fDhslDFOgXarQxju0oujY2J1QLotRkngnf\n WKpOD3Q4ussHoVHo4tQy7HkyTBWuvio+xw2A0c/QkybafX5DZp4rSsn9ur0S0iPokoGl\n tt/jcUKJ8TH1d0GVYZIQZXIJWoY5aayPWahcDZtbEkMWiQQQdnIEW6T1Hk96umYnsvYs\n HhcBRKvv3Vj3ye8xQImnCKvdBYQdYcPm82FSbzgiP6JiiBUQXKjt4FCsVNrfl9jGywZw\n Lw7A==","X-Gm-Message-State":"AOJu0Yz1U9wwxu4T0eOSsJULNCcASckNdvI2rZAqHJQFd+IvvRtSlmlh\n uksoEYQh242VfIaGOZHE+fLjvXLuYrBu1T0uZ7osAsoqlKdRjjQ0CDJvOxoXEkdlYBXUup3FwpV\n ifhVm7cOr","X-Gm-Gg":"AeBDieum2oH3Jp8exIxL8XP/sufj0EdB3YF63SPeVa/g0D7N+FPSmWosJj0fWJMB20/\n GdO9663CPfHsgtrH3v1U9jToWO2CEbpzoHUW/6JX/OXoF6fPkJpaiGf9YDHA1dDZ7JhVWbqXh/G\n dVtRZsU8FSzI3RPq3dNqHyFHYrpBZdN9AorLUgBh2jw0poVf5jOnZx0Z2fjjslUPvGbptmf+d8G\n QZ8ZIFeuvMxRThxhKoD92a9c0ORO2iThQ7LLyaSU9TZrPwFCVuzmwnL0AxOebb1aew/msnSGqDO\n Sqz9ml/txqA4qWv4LI0bCJNQbDr5Dua1Mwn/uaGsiZYYHC9D7C7ooW4qKcISdaRXOcfl/LQUvXy\n GWy8n0crOYJI8uY3eOFlLaVviAOiK/5lJCEaPMRExA5wqCAhd0UDrRFLwenu3OYzoQY/LPcZqQ/\n XUPmK+sSln/UxOGUFahaGgBBjdAdhDNMsqSu7Sp12oLWjgOFhsebNeW1BIdhwjfc1bYJhYQsVso\n Iao9Q==","X-Received":"by 2002:a05:600c:3f0d:b0:485:40fd:8390 with SMTP id\n 5b1f17b1804b1-488d68769f9mr245476335e9.26.1776208515975;\n Tue, 14 Apr 2026 16:15:15 -0700 (PDT)","From":"arthur.cohen@embecosm.com","To":"gcc-patches@gcc.gnu.org","Cc":"gcc-rust@gcc.gnu.org,\n\tAhmedSaid3617 <said.ahmed3617@gmail.com>","Subject":"[COMMITTED 41/43] gccrs: Fixed glob-import all ICE","Date":"Wed, 15 Apr 2026 01:19:02 +0200","Message-ID":"<20260414231905.191063-41-arthur.cohen@embecosm.com>","X-Mailer":"git-send-email 2.50.1","In-Reply-To":"<20260414231905.191063-1-arthur.cohen@embecosm.com>","References":"<20260414231905.191063-1-arthur.cohen@embecosm.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"gcc-patches@gcc.gnu.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Gcc-patches mailing list <gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>","List-Archive":"<https://gcc.gnu.org/pipermail/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-request@gcc.gnu.org?subject=help>","List-Subscribe":"<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>","Errors-To":"gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org"},"content":"From: AhmedSaid3617 <said.ahmed3617@gmail.com>\n\nModified toplevel name resolver to recognize use ::*; and use *; as valid import statements, to prevent ICE.\n\ngcc/rust/ChangeLog:\n\n\t* ast/rust-item.h:(PathType::get_glob_type): Added const qualifier to allow\n\tfunction call from const objects.\n\t* resolve/rust-forever-stack.hxx:\n\t(ForeverStack<N>::resolve_path): Check for empty segments vector and\n\treturn starting point.\n\t* resolve/rust-toplevel-name-resolver-2.0.cc (flatten_glob): Preserve the\n\topening scope resolution property of the use statement.\n\nSigned-off-by: AhmedSaid3617 <said.ahmed3617@gmail.com>\n---\n gcc/rust/ast/rust-item.h                      |  2 +-\n gcc/rust/resolve/rust-forever-stack.hxx       | 27 ++++++++++---------\n .../rust-toplevel-name-resolver-2.0.cc        |  4 ++-\n 3 files changed, 19 insertions(+), 14 deletions(-)","diff":"diff --git a/gcc/rust/ast/rust-item.h b/gcc/rust/ast/rust-item.h\nindex 91c52d2cc70..0724638f210 100644\n--- a/gcc/rust/ast/rust-item.h\n+++ b/gcc/rust/ast/rust-item.h\n@@ -1078,7 +1078,7 @@ public:\n \n   void accept_vis (ASTVisitor &vis) override;\n \n-  PathType get_glob_type () { return glob_type; }\n+  PathType get_glob_type () const { return glob_type; }\n \n   Kind get_kind () const override { return Glob; }\n \ndiff --git a/gcc/rust/resolve/rust-forever-stack.hxx b/gcc/rust/resolve/rust-forever-stack.hxx\nindex e8f4e8449b3..c7f90ae3a21 100644\n--- a/gcc/rust/resolve/rust-forever-stack.hxx\n+++ b/gcc/rust/resolve/rust-forever-stack.hxx\n@@ -729,21 +729,24 @@ ForeverStack<N>::resolve_path (\n     }\n   else\n     {\n-      rust_assert (!path.get_segments ().empty ());\n+      switch (mode)\n+\t{\n+\tcase ResolutionMode::Normal:\n+\t  break; // default\n+\tcase ResolutionMode::FromRoot:\n+\t  starting_point = root;\n+\t  break;\n+\tcase ResolutionMode::FromExtern:\n+\t  starting_point = extern_prelude;\n+\t  break;\n+\tdefault:\n+\t  rust_unreachable ();\n+\t}\n     }\n \n-  switch (mode)\n+  if (path.get_segments ().empty ())\n     {\n-    case ResolutionMode::Normal:\n-      break; // default\n-    case ResolutionMode::FromRoot:\n-      starting_point = root;\n-      break;\n-    case ResolutionMode::FromExtern:\n-      starting_point = extern_prelude;\n-      break;\n-    default:\n-      rust_unreachable ();\n+      return Rib::Definition::NonShadowable (starting_point.get ().id);\n     }\n \n   auto &segments = path.get_segments ();\ndiff --git a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc\nindex 630b5ab8b95..84961ae2e59 100644\n--- a/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc\n+++ b/gcc/rust/resolve/rust-toplevel-name-resolver-2.0.cc\n@@ -504,7 +504,9 @@ flatten_glob (const AST::UseTreeGlob &glob, std::vector<AST::SimplePath> &paths,\n   if (glob.has_path ())\n     paths.emplace_back (glob.get_path ());\n   else\n-    paths.emplace_back (AST::SimplePath ({}, false, glob.get_locus ()));\n+    paths.emplace_back (AST::SimplePath (\n+      {}, glob.get_glob_type () == AST::UseTreeGlob::PathType::GLOBAL,\n+      glob.get_locus ()));\n }\n \n static bool\n","prefixes":["COMMITTED","41/43"]}