From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115309 invoked by alias); 12 Feb 2019 07:22:21 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 115299 invoked by uid 89); 12 Feb 2019 07:22:21 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=BAYES_00,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=elegantly, shrill X-HELO: mail-it1-f194.google.com Received: from mail-it1-f194.google.com (HELO mail-it1-f194.google.com) (209.85.166.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 12 Feb 2019 07:22:19 +0000 Received: by mail-it1-f194.google.com with SMTP id g85so4818040ita.3 for ; Mon, 11 Feb 2019 23:22:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daurnimator.com; s=daurnimator; h=mime-version:from:date:message-id:subject:to; bh=Un9jqxiYL7uS7umHTUIWsly4bYnB5WHiPYg7qrhZ8AI=; b=ToFr4aMbSSNh+JGXhEB08YaQzWhoy13B4Wt7wQ2B/lSGhZQXN94PjMLqJMIfP2ugYN LHukMJwEC/vauRyUTPGE9TXFh8tDpw/8XtxNjw87r6+awgm8vBW3mLG5p7mdpp3u6NVK IO66FlQ6CJU0TyW8kmDS2khyi9RQJ1ZL8q4sI= Return-Path: Received: from mail-it1-f173.google.com (mail-it1-f173.google.com. [209.85.166.173]) by smtp.gmail.com with ESMTPSA id z1sm5373881ioi.77.2019.02.11.23.22.16 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Feb 2019 23:22:16 -0800 (PST) Received: by mail-it1-f173.google.com with SMTP id i145so4798843ita.4 for ; Mon, 11 Feb 2019 23:22:16 -0800 (PST) MIME-Version: 1.0 From: Daurnimator Date: Tue, 12 Feb 2019 07:22:00 -0000 Message-ID: Subject: How to use pragma in a compound literal in GCC 9 To: gcc@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000e914330581ad4892" X-SW-Source: 2019-02/txt/msg00042.txt.bz2 --000000000000e914330581ad4892 Content-Type: text/plain; charset="UTF-8" Content-length: 429 A project I help maintain has had a report that it fails to compile with GCC 9 https://github.com/wahern/cqueues/issues/212#issuecomment-461693111 I've attached a minimal reproduction of the issue. Trying to compile it results in: : In function 'main': :46:15: error: lvalue required as unary '&' operand 46 | void *x = &quietinit((struct bar){ 0, .a = 0 }); | ^ Compiler returned: 1 --000000000000e914330581ad4892 Content-Type: text/x-csrc; charset="US-ASCII"; name="pragma-compound-literal.c" Content-Disposition: attachment; filename="pragma-compound-literal.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_js1fr7o10 Content-length: 2310 LyoKICogQyBPIE0gUCBJIEwgRSBSICBBIE4gTiBPIFQgQSBUIEkgTyBOIFMK ICoKICogR0NDIHdpdGggLVdleHRyYSwgYW5kIGNsYW5nIGJ5IGRlZmF1bHQs IGNvbXBsYWluIGFib3V0IG92ZXJyaWRlcyBpbgogKiBpbml0aWFsaXplciBs aXN0cy4gT3ZlcnJpZGluZyBwcmV2aW91cyBtZW1iZXIgaW5pdGlhbGl6ZXJz IGlzIHdlbGwKICogZGVmaW5lZCBiZWhhdmlvciBpbiBDLiBXZSByZWx5IG9u IHRoaXMgYmVoYXZpb3IgdG8gZGVmaW5lIGRlZmF1bHQsCiAqIG92ZXJyaWRl YWJsZSBtZW1iZXIgdmFsdWVzIHdoZW4gaW5zdGFudGlhdGluZyBjb25maWd1 cmF0aW9uIG9iamVjdHMuCiAqCiAqIHF1aWV0aW5pdCgpIGd1YXJkcyBhIGNv bXBvdW5kIGxpdGVyYWwgZXhwcmVzc2lvbiB3aXRoIHByYWdtYXMgdG8KICog c2lsZW5jZSB0aGVzZSBzaHJpbGwgd2FybmluZ3MuIFRoaXMgYWxsZXZpYXRl cyB0aGUgYnVyZGVuIG9mIHJlcXVpcmluZwogKiB0aGlyZC1wYXJ0eSBwcm9q ZWN0cyB0byBhZGp1c3QgdGhlaXIgY29tcGlsZXIgZmxhZ3MuCiAqCiAqIE5P VEU6IElmIHlvdSB0YWtlIHRoZSBhZGRyZXNzIG9mIHRoZSBjb21wb3VuZCBs aXRlcmFsLCB0YWtlIHRoZSBhZGRyZXNzCiAqIG9mIHRoZSB0cmFuc2Zvcm1l ZCBleHByZXNzaW9uLCBvdGhlcndpc2UgdGhlIGNvbXBvdW5kIGxpdGVyYWwg bGlmZXRpbWUgaXMKICogdGllZCB0byB0aGUgc2NvcGUgb2YgdGhlIEdDQyBz dGF0ZW1lbnQgZXhwcmVzc2lvbi4KICoKICogKiAqICogKiAqICogKiAqICog KiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAq ICogKiAqLwoKI2lmIGRlZmluZWQgX19jbGFuZ19fCiNkZWZpbmUgUFJBR01B X1BVU0ggX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwdXNoIikKI2RlZmlu ZSBQUkFHTUFfUVVJRVQgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v cmVkIFwiLVdpbml0aWFsaXplci1vdmVycmlkZXNcIiIpCiNkZWZpbmUgUFJB R01BX1BPUCBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCgojZGVm aW5lIHF1aWV0aW5pdCguLi4pIFwKCVBSQUdNQV9QVVNIIFBSQUdNQV9RVUlF VCBfX1ZBX0FSR1NfXyBQUkFHTUFfUE9QCiNlbGlmIChfX0dOVUNfXyA9PSA0 ICYmIF9fR05VQ19NSU5PUl9fID49IDYpIHx8IF9fR05VQ19fID4gNAojZGVm aW5lIFBSQUdNQV9QVVNIIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIHB1c2gi KQojZGVmaW5lIFBSQUdNQV9RVUlFVCBfUHJhZ21hKCJHQ0MgZGlhZ25vc3Rp YyBpZ25vcmVkIFwiLVdvdmVycmlkZS1pbml0XCIiKQojZGVmaW5lIFBSQUdN QV9QT1AgX1ByYWdtYSgiR0NDIGRpYWdub3N0aWMgcG9wIikKCi8qIEdDQyBw YXJzZXMgdGhlIF9QcmFnbWEgb3BlcmF0b3IgbGVzcyBlbGVnYW50bHkgdGhh biBjbGFuZy4gKi8KI2RlZmluZSBxdWlldGluaXQoLi4uKSBcCglfX2V4dGVu c2lvbl9fICh7IFBSQUdNQV9QVVNIIFBSQUdNQV9RVUlFVCBfX1ZBX0FSR1Nf XzsgUFJBR01BX1BPUCB9KQojZWxzZQojZGVmaW5lIFBSQUdNQV9QVVNICiNk ZWZpbmUgUFJBR01BX1FVSUVUCiNkZWZpbmUgUFJBR01BX1BPUAojZGVmaW5l IHF1aWV0aW5pdCguLi4pIF9fVkFfQVJHU19fCiNlbmRpZgoKc3RydWN0IGJh ciB7CglpbnQgYTsKfTsKCmludCBtYWluKCkgewogICAgdm9pZCAqeCA9ICZx dWlldGluaXQoKHN0cnVjdCBiYXIpeyAwLCAuYSA9IDAgfSk7Cn0K --000000000000e914330581ad4892--