From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by sourceware.org (Postfix) with ESMTPS id EA98B3881D25 for ; Tue, 21 Feb 2023 12:04:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EA98B3881D25 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embecosm.com Received: by mail-wr1-x42a.google.com with SMTP id c12so4164395wrw.1 for ; Tue, 21 Feb 2023 04:04:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=2FSqGpQictYqql6UW0VVozec41h7KkoljpT/l0GbZFI=; b=IstCGMkA2c3JDaFgCrRjc3gvTHi08Fl/+WaRHxg45jXZmoOFyIVCWn8yMpuXshKse+ cyZHO+DT6rrsetT4RDhtm1f204emuEY7o2Ex1ozqoPdd6Sn5axyikjHVKAdF0icfO46P SXA7vFSSla2OVGPkP+nkya2+2T6T2FQIB5g3VhAW/YzoCGWHMx9RWVXWMa+mSfcOhVUN cmBACKGBKA5mZLFKE49inJ+hmWKAA7uCAA6IJ7CVWu3Uv+AuUPwjFp8b7a8eUGyl1iZg TJyuR9FYOzNWvBJwLp1UezPU9X1LX6viEMxVOtVo5xA5vGmuXsu8i8pP//xbfOD+ft/w Yz3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=2FSqGpQictYqql6UW0VVozec41h7KkoljpT/l0GbZFI=; b=1QDOfkv4SPZRowsujPiLqtR8qCA7qY4OElHLGHgK3eKWPcx8Y+oZD/zspoeySxaG7C qD4zlYAIK4dsCcAR26DPIBmVXDsuI438edLGxlMIMsTDwVe01bLmWYwQfFKyX5alfD3z fMa6jpB+O2IXPxJN61w0zfLsVUMi1qjVjKkwEsxS31aDnvvX3eqk9R94D5AjEdzmos1g ETypc9ZCR1ZOrfVPzxoPVUFG9JUNkPVBoCqA9B1eVrapt6PNyiiYOwnbeuxTfWP+N/pV a3WZup9K9pL7v3UANmdtw2IdJchCLMfUgFBqcJUjXPpndIDSIrn+0OjTLEbKG8IlukMc fkFg== X-Gm-Message-State: AO0yUKUEWoxt7pg6imCSxZl8b9t3Z40FaT8Jldajj21NfA96HtvxYK71 fCaxFCEr/6nYxsLlgncBB5/5 X-Google-Smtp-Source: AK7set/yotRPYjwuWajcBYkepAmLaKq11nNdp8uJJ0COvC6FW+Bq9ULykCycfieTpnmY2PeXAJdQfw== X-Received: by 2002:a5d:53c5:0:b0:2c5:581d:5a1d with SMTP id a5-20020a5d53c5000000b002c5581d5a1dmr4069238wrw.43.1676981060528; Tue, 21 Feb 2023 04:04:20 -0800 (PST) Received: from platypus.localdomain ([62.23.166.218]) by smtp.gmail.com with ESMTPSA id c15-20020adffb4f000000b002c55b0e6ef1sm5013811wrs.4.2023.02.21.04.04.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Feb 2023 04:04:19 -0800 (PST) From: arthur.cohen@embecosm.com To: gcc-patches@gcc.gnu.org Cc: gcc-rust@gcc.gnu.org, Raiki Tamura Subject: [committed 069/103] gccrs: add lang item "phantom_data" Date: Tue, 21 Feb 2023 13:01:59 +0100 Message-Id: <20230221120230.596966-70-arthur.cohen@embecosm.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230221120230.596966-1-arthur.cohen@embecosm.com> References: <20230221120230.596966-1-arthur.cohen@embecosm.com> Reply-To: arthur.cohen@embecosm.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-14.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Raiki Tamura gcc/rust/ChangeLog: * util/rust-lang-item.h: Add handling for `phantom_data` lang item. gcc/testsuite/ChangeLog: * rust/compile/torture/phantom_data.rs: New test. --- gcc/rust/util/rust-lang-item.h | 9 +++++++++ gcc/testsuite/rust/compile/torture/phantom_data.rs | 11 +++++++++++ 2 files changed, 20 insertions(+) create mode 100644 gcc/testsuite/rust/compile/torture/phantom_data.rs diff --git a/gcc/rust/util/rust-lang-item.h b/gcc/rust/util/rust-lang-item.h index 02eeaee60df..ea0c91aa5f2 100644 --- a/gcc/rust/util/rust-lang-item.h +++ b/gcc/rust/util/rust-lang-item.h @@ -73,6 +73,9 @@ public: MUT_PTR, CONST_SLICE_PTR, + // https://github.com/rust-lang/rust/blob/master/library/core/src/marker.rs + PHANTOM_DATA, + // functions FN_ONCE, FN_ONCE_OUTPUT, @@ -222,6 +225,10 @@ public: { return ItemType::CONST_SLICE_PTR; } + else if (item.compare ("phantom_data") == 0) + { + return ItemType::PHANTOM_DATA; + } else if (item.compare ("fn_once") == 0) { return ItemType::FN_ONCE; @@ -308,6 +315,8 @@ public: return "mut_ptr"; case CONST_SLICE_PTR: return "const_slice_ptr"; + case PHANTOM_DATA: + return "phantom_data"; case FN_ONCE: return "fn_once"; case FN_ONCE_OUTPUT: diff --git a/gcc/testsuite/rust/compile/torture/phantom_data.rs b/gcc/testsuite/rust/compile/torture/phantom_data.rs new file mode 100644 index 00000000000..89e76aeb5eb --- /dev/null +++ b/gcc/testsuite/rust/compile/torture/phantom_data.rs @@ -0,0 +1,11 @@ +// { dg-options "-w" } +#[lang = "phantom_data"] +struct PhantomData; + +trait Hash { + fn hash(&self, state: &mut H); +} + +impl Hash for PhantomData { + fn hash(&self, state: &mut H) {} +} -- 2.39.1