From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailgate-3.zdv.net (mailgate-3.zdv.net [IPv6:2001:4c80:40:62d::25:3]) by sourceware.org (Postfix) with ESMTPS id 6D739385615E for ; Thu, 20 Oct 2022 13:11:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6D739385615E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hs-kl.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hs-kl.de X-IPAS-Result: =?us-ascii?q?A2D/AADKR1Fj/2UNXY9aHQEBAQEJARIBBQUBQIE+BQELA?= =?us-ascii?q?YUchDeQaTGfFw8BAQEOAUQEAQGFBQKEciY3Bg4BAgQBAQEBAwIDAQEBAQEBA?= =?us-ascii?q?wEBAQUBAQEBAQEGAwGBHIUvRoZDAQEBAyMVUQsYAgImAgJXBg0IAQGCeYMhr?= =?us-ascii?q?DuBMoEBiB6BZgkBgQcsAYhbh3g3gVVEgTyDAz6DfIEVgwqCZgSVBxwmBA4DG?= =?us-ascii?q?SsdQAIBC24NWhwxJw4JIBwKBBcNBQYSAyBvBQo4DygvaSscGweBDCooFQMEB?= =?us-ascii?q?AMCBhMDIgINKTEUBCkTDy0HI3EJAgMiZQUDAwQoLAMJIR8HJSQ8B1g6AQQDA?= =?us-ascii?q?hAiPAYDCQMCIlh1LxEVBQMNFyUIBTcaBAg8AgUGUxICChEDEg8GJ0cOSj45F?= =?us-ascii?q?gYneQ8OFgOcFaM5nzY0B4IdgUiBRAYMnlcGQYN2kwAGMZFilxqiO4UQAgQCB?= =?us-ascii?q?AUCFoF4gX8zGiSDN1AXAg+ccoEuAgYLAQEDCYgggSUBgREBAQ?= IronPort-Data: A9a23:QP5bTKIbYhYCxQA0FE+RT5clxSXFcZb7ZxGr2PjKsXjdYENS3mEDz jFOWj3Tb62CYjT3c9hxbt6+9EkHvcDUzIcxSwZorCE8RH9jl5HIVI+TRqvS04J+DSFhoGZPt Zh2hgzodZhsJpPkjk7xdOKn9RGQ7InQLpLkEunIJyttcgFtTSYlmHpLlvUw6mJSqYHR7zil5 JWj/qUzBHf/g2QuazpOs/rawP9SlK2aVA0w7wFWic9j5Dcyp1FNZLoDKKe4KWfPQ4U8NoZWk M6akdlVVkuAl/scIovNfoTTKyXmcZaLVeS6sUe6boD56vR0So7e5Y5gXBYUQR8/ZzxkBLmdw v0V3XC7YV9B0qEhBI3xXjEAexySM5Gq95fden3uspOq33blfirSzctLIHgwIL0xr7Mf7WFmr ZT0KRgfYg7Fge+qqF65YrAw3YJyd4+yZ8VG4igIITLxVJ7KRbj8QqHK6NtdmhI9h81UNfbFI skdLzZiBPjFS0cQaw1LVstk9AuurlDbQxp2h12Ln4cy0i+M5VRrypv9MtWAL7RmQu0QxC50v Fnu8G/yRxEXMMS3xjGOtH2qm6nIhyyTZW4JPLix9/plnwXKgGwITR4SE1e2yRWktnODtxtkA xR80kITQWIarSRHkvGVs8WEnUO5 IronPort-HdrOrdr: A9a23:6d33uqy9kJteBOC8uEm8KrPwAr1zdoMgy1knxilNoHtuHfBw9v rDoB1/73TJYVkqNk3I5urwXZVoLUm9yXcN2/h0AV76ZniAhILKFuxfBOnZskfd8kTFn4Y26U 4HSdkcNDSaNykZsS+V2miF+gcbsaG6GO7Bv5ak858gJTsaEp2JoG9Ce2CmLnE= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="5.95,198,1661810400"; d="scan'208";a="27924612" Received: from mailgw01.hs-kl.de (HELO zdv.net) ([143.93.13.101]) by mailgate-3.zdv.net with ESMTP/TLS/AES256-GCM-SHA384; 20 Oct 2022 15:10:59 +0200 Received: from [192.168.178.62] (84.183.29.41) by klrz-mail01.ds.fh-kl.de (10.1.3.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.32; Thu, 20 Oct 2022 15:10:59 +0200 Message-ID: Date: Thu, 20 Oct 2022 15:10:58 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Thunderbird/106.0 Subject: Re: Unions, common-initial subsequence and UB Content-Language: de-DE To: References: <8dc1aaa8-fe1b-e11b-b5e4-ae1acc30ff02@hs-kl.de> From: Wilhelm Meier In-Reply-To: <8dc1aaa8-fe1b-e11b-b5e4-ae1acc30ff02@hs-kl.de> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [84.183.29.41] X-ClientProxiedBy: klrz-mail01.ds.fh-kl.de (10.1.3.101) To klrz-mail01.ds.fh-kl.de (10.1.3.101) X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,NICE_REPLY_A,RCVD_IN_BARRACUDACENTRAL,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 20.10.22 13:46, Wilhelm Meier wrote: > Hi all, > > this is more a general question instead of a g++ specific one: > > the standard explicitly makes this exception: accessing an inactive > union member is not UB if the members are structs with initial common > sequence. > > Is this also true in a constexpr context? I ask this because the chapter > for constexpr expression does not mention this exception accessing an > inactive memeber. Here is some test-code: struct A { char e0; }; struct B { char e0; }; template union U { A a; B b; }; int main() { constexpr U u{.a = {1}}; // sets member a to active constexpr char t1 = u.b.e0; // should be ok, because read via a struct with common initial sequence }