From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 1B92A385840F for ; Mon, 8 Jan 2024 22:39:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1B92A385840F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1B92A385840F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704753543; cv=none; b=i69bNb96Mb25o+x+UH/2Wv9JZcOetys6eVujMwQo67XRwYuxRPivHLwBQg5iZ/PsbJgUgY7+s8madaRoh1jGnysgZwz6tlJ09RBaMjbBnFJ1xERd9/gac+v4LRDsOsRBAJUUsvXg/qZljdLE0AMkWY3fjyfHLriKLhTgSYEMk24= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704753543; c=relaxed/simple; bh=gnAHlJs0oDfp+kyxAYijwH10ucjFK570lKMLU+qs5qs=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=wp57FuC8k60hHQpXt9Ui7dD35SBQEq8JHDgv70ZkY1ICYPe7f9DP/GFR4ld+mh361fst5rXcsxLrDHuN1aeSL+PL4nUurORh+yVoeS/tvo7ovJ2jyOC7NKDbXvR+iVPl6qV5qnGUHLvALSQYtQW77ZK4hMQ6gpA58GU6qswABr8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1704753540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=U19cKTNmCd7I6XiXreA0/j+2ehnFi2Y//WOs155Nx4M=; b=hmSwd6frwCSQOwde+NLCYRSW6AIh/fY+01jXOq3jS8Ze92t3N4OQysaeGBjhipkeHzP6W7 X8krTuvKOQpaqI2PgJE93xkr1hOgsig2fk4DluJMUlGDsNDTyu7nB/SnHtXhEj+JDuBo/U kir1twPRP70qD5Jl89ThnnWuwrJpSmk= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-61-L_lczGoOPhizgWwppVr_vg-1; Mon, 08 Jan 2024 17:38:59 -0500 X-MC-Unique: L_lczGoOPhizgWwppVr_vg-1 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-7816e45f957so398510385a.1 for ; Mon, 08 Jan 2024 14:38:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704753538; x=1705358338; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=U19cKTNmCd7I6XiXreA0/j+2ehnFi2Y//WOs155Nx4M=; b=quhecXNfAkNpckWqYIefOF2ZO4bFD4vLWMQGRzgsEDe5KOGPhlGbW6kETIYjecQRMw FyBxNeu3fBaJwwiqL3EfUbvH7rGZS9c7GhkAmguBaNp/Moswazged1E5WEL9izL0HQg9 fKNrOlz/tnX3p9mZPTV/xVCnHRtVX2Vs2+SfTUFslLU8mqePuEw7CvydxhWNR17O4ChU nQxXwPw6zkk8I4i5OnHuu7axB7/FAnkoViEx4vBEya5MW1B2RiHr2AOgrHmxX78+1TuI 6mbcmHxgVZEgD+jRmRDHTif9cKw7nxAkJ9Iy+xOzzX6AMpzfpYF3sT5MytTyA6VTTGlt Kfuw== X-Gm-Message-State: AOJu0YzWPFeMde6ARf7XOdPqNOmtMwXbnZyEGVlsk2pHsHbR6MBRncWi 7TJs/uXYs5omOeiyEqXdgmQpZ2i2ftC3IHnWNOd7ncQJOx/Rd0gOw/DevhKQhUbNyWgVK1Z2nDk R1D21KtuSco0J/NP4kL341FMpONRwaWRitg== X-Received: by 2002:a05:620a:1a8d:b0:783:15f5:82 with SMTP id bl13-20020a05620a1a8d00b0078315f50082mr5377504qkb.88.1704753538314; Mon, 08 Jan 2024 14:38:58 -0800 (PST) X-Google-Smtp-Source: AGHT+IGzFuJbYpJCf7ykXKzOQwErWaALVDUJ3AtA6PQPGgTBU6Ve6iula43TU68oUVpBEG1CfDV2jA== X-Received: by 2002:a05:620a:1a8d:b0:783:15f5:82 with SMTP id bl13-20020a05620a1a8d00b0078315f50082mr5377492qkb.88.1704753537956; Mon, 08 Jan 2024 14:38:57 -0800 (PST) Received: from [192.168.1.146] (130-44-146-16.s12558.c3-0.arl-cbr1.sbo-arl.ma.cable.rcncustomer.com. [130.44.146.16]) by smtp.gmail.com with ESMTPSA id m7-20020ae9f207000000b0078326a8d9c9sm262766qkg.54.2024.01.08.14.38.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 08 Jan 2024 14:38:57 -0800 (PST) Message-ID: <82915244-53a9-4245-9869-6095dc942a9a@redhat.com> Date: Mon, 8 Jan 2024 17:38:56 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: c++/modules: Emit definitions of ODR-used static members imported from modules [PR112899] To: Iain Sandoe , Nathan Sidwell Cc: Nathaniel Shead , GCC Patches , Patrick Palka References: <659490fd.170a0220.1ce2e.503a@mx.google.com> <8323d337-4bc3-4e65-9944-a2d579e66792@redhat.com> <65973034.170a0220.956b9.05dd@mx.google.com> <67820559-178e-421f-8cde-7c2072c2e8eb@redhat.com> <65973909.170a0220.51811.06dc@mx.google.com> <6a2ceb65-3c71-4540-87ec-4c7a24a9169b@redhat.com> <47a431b5-1069-4490-912d-c4f2448e8a14@acm.org> From: Jason Merrill In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: On 1/8/24 04:21, Iain Sandoe wrote: >> On 6 Jan 2024, at 22:30, Nathan Sidwell wrote: >> >> Richard Smith & I discussed whether we should use the module interface's capability of giving vague linkage entities a strong location. I didn't want to go messing with that, 'cos it was changing yet more stuff. >> >> But, perhaps we should revisit that? Any keyless polymorphic class in module purview gets its vtables etc emitted in the module's object file? Likewise these kinds of entities. >> >> cc'ing Iain, who probably knows more about Clang's state here. > > I have been trying to keep up with this thread, but not sure if I can throw a whole lot of light on things. > > There is an on-going attempt (now some 3 or 4 papers in) to try and figure out how to handle `static inline` entities at least at file scope - but that appears to be a different case (I can try an locate the latest paper on this if needed; the topic was discussed in Varna and Kona, but no new paper yet - perhaps Michael [Spencer] will bring a paper in Tokyo). > > clang ran into some issues with vtables and that resulted in some discussion about whether there should be an amendment to the Itanium ABI to deal with the module-specific stuff. > > https://github.com/itanium-cxx-abi/cxx-abi/issues/170 > > https://github.com/llvm/llvm-project/pull/75912#discussion_r1444150069 > > Sorry I cannot be much more specific at present, That's pretty specific that vtables at least get emitted in the module whether or not there's a key function. I've asked on that issue why this only applies to vtables. Jason