From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x231.google.com (mail-oi1-x231.google.com [IPv6:2607:f8b0:4864:20::231]) by sourceware.org (Postfix) with ESMTPS id 5EB2E3858C50 for ; Tue, 27 Sep 2022 16:29:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5EB2E3858C50 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=golang.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=golang.org Received: by mail-oi1-x231.google.com with SMTP id t62so12413721oie.10 for ; Tue, 27 Sep 2022 09:29:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golang-org.20210112.gappssmtp.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date; bh=I0KfdyQSuWLllAJydpkhWpNxtkG2PjHqwebfVQIk53w=; b=ie4+LUgOFgTRuaFZqPgzlMKY6/2dWHQG34dPutGF6TLGjPPbLopHJIA6o3ZmD/Lt1R qamSdNI1VOHtD0qaeFxuyMhrs8v3m0hKRsIEwG3UuE9tySSsXEBfaONi5LiiKdnu/SPQ NOmAwLCdZuXPajQWND6fOFiOZkMwwPvjTSlt4b9X+NWT/kGTD00Zuw7BnGcPNeZWot+R gIph/fDhUKPtU6cNlhXe7zqNUpc4hupm5C2uLmEAlHLT7/yrpvz4mGWllYL2XDhG0D8x KmjS2pO0QLyVdXrtrkthjNBfspeojUoIqtqKELJerCpo/FJP7HlvzzYN3pOyJC9b+ip/ UkPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date; bh=I0KfdyQSuWLllAJydpkhWpNxtkG2PjHqwebfVQIk53w=; b=16mLn+LKXEUtFVh5WDY7buF79dqhD1HNPGOsXKlbomRGkE1m7yGi4mH4HQlRX6fMra eSGODT6GCjKJ3QoZQcBnoFAckUBA7/sLs8C4+age+1tQLZaP4fJumU6Tm3J98dgWSXUt Rwsscuj4vNAOKO3nNtixoKBF8EU3xqB6/FU8ZNiHcUqlV3OROWx9cTduFyiNoB4mgh3g p6xGFshOklDJ6LTbuISaKc6Odvj97g2A5bs4F0zPtVwPZmrZDLJPbCAEDHFcaLpNjlxG LQu58qOOP/xwznqfWqLffE58XvTR/mij1Gz8c2eCRIrBmybGvj78KU6J1QmVVcyByxCF LOxA== X-Gm-Message-State: ACrzQf3BSxEalcwuqhg1VSw7Xy+NIj44TulzJ3QZj08Ou3baITbgda60 ghBoN+Nz4fboa9lPmwTv+mtY/A1rQ+JSpGrf8guFOYev0PWZ0w== X-Google-Smtp-Source: AMsMyM6nAXTnkY/PRDz90ig7Cv8Xa9GydWnxqIJsm+kaNVfsHeutaYYJVES40qIHPxY+gwWwMlvGeZKnZAJGN/3f8WI= X-Received: by 2002:aca:ebd7:0:b0:350:47c5:46c1 with SMTP id j206-20020acaebd7000000b0035047c546c1mr2223070oih.246.1664296150289; Tue, 27 Sep 2022 09:29:10 -0700 (PDT) MIME-Version: 1.0 From: Ian Lance Taylor Date: Tue, 27 Sep 2022 09:28:59 -0700 Message-ID: Subject: libgo patch committed: Synchronize empty struct field handling To: gcc-patches , gofrontend-dev Content-Type: multipart/mixed; boundary="000000000000d733d705e9ab24bf" X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,KAM_SHORT,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: --000000000000d733d705e9ab24bf Content-Type: text/plain; charset="UTF-8" This libgo patch by Funan Zeng synchronizes the handling of empty struct fields between the Go frontend and the libgo FFI code. In the compiler the logic for allocating one byte for the last field of a struct is: 1. the last field has zero size 2. the struct itself does not have zero size 3. the last field is not blank This patch adds the last two conditions to runtime.structToFFI. This is for https://go.dev/issue/55146. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian --000000000000d733d705e9ab24bf Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l8kexw7n0 MDg1YmFjYmEzNTAyZmY3N2M3MGE3NjYwYzE5YTY4ZjUwZTliNzg3NwpkaWZmIC0tZ2l0IGEvZ2Nj L2dvL2dvZnJvbnRlbmQvTUVSR0UgYi9nY2MvZ28vZ29mcm9udGVuZC9NRVJHRQppbmRleCBmN2E3 OTg1Mjg3ZC4uNzNhYTcxMmRiZGYgMTAwNjQ0Ci0tLSBhL2djYy9nby9nb2Zyb250ZW5kL01FUkdF CisrKyBiL2djYy9nby9nb2Zyb250ZW5kL01FUkdFCkBAIC0xLDQgKzEsNCBAQAotNDJlZmVjOGMx MjZjZjM3ODdiYzdjODlkOWM3ZjIyNGVmZjdjNWEyMQorMDE0MGNjYTliYzBmYWQxMTA4YzdlZDM2 OTM3NmFjNzFjYzRiZmVjZgogCiBUaGUgZmlyc3QgbGluZSBvZiB0aGlzIGZpbGUgaG9sZHMgdGhl IGdpdCByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGxhc3QKIG1lcmdlIGRvbmUgZnJvbSB0aGUgZ29m cm9udGVuZCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvbGliZ28vZ28vcnVudGltZS9mZmkuZ28g Yi9saWJnby9nby9ydW50aW1lL2ZmaS5nbwppbmRleCBjZDg0NzllZjU1MS4uODZjZTViODVkMDQg MTAwNjQ0Ci0tLSBhL2xpYmdvL2dvL3J1bnRpbWUvZmZpLmdvCisrKyBiL2xpYmdvL2dvL3J1bnRp bWUvZmZpLmdvCkBAIC00LDYgKzQsNyBAQAogCiAvLyBPbmx5IGJ1aWxkIHRoaXMgZmlsZSBpZiBs aWJmZmkgaXMgc3VwcG9ydGVkLgogCisvL2dvOmJ1aWxkIGxpYmZmaQogLy8gK2J1aWxkIGxpYmZm aQogCiBwYWNrYWdlIHJ1bnRpbWUKQEAgLTIyMSw5ICsyMjIsNiBAQCBmdW5jIHN0cmluZ1RvRkZJ KCkgKl9fZmZpX3R5cGUgewogLy8gc3RydWN0VG9GRkkgcmV0dXJucyBhbiBmZmlfdHlwZSBmb3Ig YSBHbyBzdHJ1Y3QgdHlwZS4KIGZ1bmMgc3RydWN0VG9GRkkodHlwICpzdHJ1Y3R0eXBlKSAqX19m ZmlfdHlwZSB7CiAJYyA6PSBsZW4odHlwLmZpZWxkcykKLQlpZiBjID09IDAgewotCQlyZXR1cm4g ZW1wdHlTdHJ1Y3RUb0ZGSSgpCi0JfQogCWlmIHR5cC50eXAua2luZCZraW5kRGlyZWN0SWZhY2Ug IT0gMCB7CiAJCXJldHVybiBmZmlfdHlwZV9wb2ludGVyKCkKIAl9CkBAIC0yMzEsNiArMjI5LDcg QEAgZnVuYyBzdHJ1Y3RUb0ZGSSh0eXAgKnN0cnVjdHR5cGUpICpfX2ZmaV90eXBlIHsKIAlmaWVs ZHMgOj0gbWFrZShbXSpfX2ZmaV90eXBlLCAwLCBjKzEpCiAJY2hlY2tQYWQgOj0gZmFsc2UKIAls YXN0emVybyA6PSBmYWxzZQorCXNhd25vbnplcm8gOj0gZmFsc2UKIAlmb3IgaSwgdiA6PSByYW5n ZSB0eXAuZmllbGRzIHsKIAkJLy8gU2tpcCB6ZXJvLXNpemVkIGZpZWxkczsgdGhleSBjb25mdXNl IGxpYmZmaSwKIAkJLy8gYW5kIHRoZXJlIGlzIG5vIHZhbHVlIHRvIHBhc3MgaW4gYW55IGNhc2Uu CkBAIC0yMzksMTAgKzIzOCwxMyBAQCBmdW5jIHN0cnVjdFRvRkZJKHR5cCAqc3RydWN0dHlwZSkg Kl9fZmZpX3R5cGUgewogCQkvLyBuZXh0IGZpZWxkLgogCQlpZiB2LnR5cC5zaXplID09IDAgewog CQkJY2hlY2tQYWQgPSB0cnVlCi0JCQlsYXN0emVybyA9IHRydWUKKwkJCWlmIHYubmFtZSA9PSBu aWwgfHwgKnYubmFtZSAhPSAiXyIgeworCQkJCWxhc3R6ZXJvID0gdHJ1ZQorCQkJfQogCQkJY29u dGludWUKIAkJfQogCQlsYXN0emVybyA9IGZhbHNlCisJCXNhd25vbnplcm8gPSB0cnVlCiAKIAkJ aWYgY2hlY2tQYWQgewogCQkJb2ZmIDo9IHVpbnRwdHIoMCkKQEAgLTI2Myw2ICsyNjUsMTAgQEAg ZnVuYyBzdHJ1Y3RUb0ZGSSh0eXAgKnN0cnVjdHR5cGUpICpfX2ZmaV90eXBlIHsKIAkJZmllbGRz ID0gYXBwZW5kKGZpZWxkcywgdHlwZVRvRkZJKHYudHlwKSkKIAl9CiAKKwlpZiAhc2F3bm9uemVy byB7CisJCXJldHVybiBlbXB0eVN0cnVjdFRvRkZJKCkKKwl9CisKIAlpZiBsYXN0emVybyB7CiAJ CS8vIFRoZSBjb21waWxlciBhZGRzIG9uZSBieXRlIHBhZGRpbmcgdG8gbm9uLWVtcHR5IHN0cnVj dCBlbmRpbmcKIAkJLy8gd2l0aCBhIHplcm8tc2l6ZWQgZmllbGQgKHR5cGVzLmNjOmdldF9iYWNr ZW5kX3N0cnVjdF9maWVsZHMpLgo= --000000000000d733d705e9ab24bf--