From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com [IPv6:2607:f8b0:4864:20::831]) by sourceware.org (Postfix) with ESMTPS id 4E05B3858C2A for ; Sun, 25 Jun 2023 16:36:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4E05B3858C2A Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=kitware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kitware.com Received: by mail-qt1-x831.google.com with SMTP id d75a77b69052e-3fddb0bd9e2so30595471cf.0 for ; Sun, 25 Jun 2023 09:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kitware.com; s=google; t=1687710972; x=1690302972; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=vLXDswfLTnPovnbIPQD9sn5Bv73dSQ4k5Mr2GvD/6mA=; b=hcaMGOud3qUcp/kuF7n8FE7ETHMx35XPwupAOYvSjrisv9UTaW/mPqvWDwaD9qBLGn m2ittKhszLC5pGamQ6mZgKE4ETvk2EQ8Frvl6JQA20WjwfxkSz4HTBoYuQUnNPuVenuO fe2kCIvyHhwQjKiHklzpJ+6xqfzXkTNdOOYmU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687710972; x=1690302972; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vLXDswfLTnPovnbIPQD9sn5Bv73dSQ4k5Mr2GvD/6mA=; b=NW4SQjaOgIwICo3L3ieVbT83AM/5UQCsSUteEcixzwI0f3ohPhHHxcheaFcef355eM d3V/rdrJdkgTuSir1JmA712vHV+TJuG/BqkRQNbN08pCB+mqQvjc/1vCXjGIzipoxNTD ixNNFY5BjN/0krONcOnXYb0OQFqGWYh3xEoaMA6z4GsDWlxvPNQxrdAbGVw2k913PpLv QzArQVojFQzneiwd1hQ5M5B3omtLiEA1s3vwHkAsK3sAUVx2ETmwT2VJTIktYlvBtf2m lDbSXvaNx4UDL+FCYkxn0/O17LnlsncCQ18wiKv+o7DyPxtENnLCgCcfK5Hsa6+qmcLG M5TA== X-Gm-Message-State: AC+VfDy5Bhe9IVmO9VOkg/q4D0IrexNNsDZoJoJJ23AyVLpdLfIu0Jwh QhHaQT8wdKBzCd/Tc0lop3jz9w== X-Google-Smtp-Source: ACHHUZ4nScVxNfsSsohaipaqa4btvcouZll+3DHbWKfTvdgm5lI/QCoW//EFauaxW/kjm5gwS0KIfg== X-Received: by 2002:a05:622a:148b:b0:3ff:2e39:42ce with SMTP id t11-20020a05622a148b00b003ff2e3942cemr20378632qtx.31.1687710972323; Sun, 25 Jun 2023 09:36:12 -0700 (PDT) Received: from localhost (cpe-142-105-146-128.nycap.res.rr.com. [142.105.146.128]) by smtp.gmail.com with ESMTPSA id cp4-20020a05622a420400b003f6be5256d5sm2035621qtb.19.2023.06.25.09.36.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Jun 2023 09:36:11 -0700 (PDT) Date: Sun, 25 Jun 2023 12:36:10 -0400 From: Ben Boeckel To: Nathan Sidwell Cc: Jason Merrill , gcc-patches@gcc.gnu.org, fortran@gcc.gnu.org, gcc@gcc.gnu.org, brad.king@kitware.com Subject: Re: [PATCH v5 4/5] c++modules: report imported CMI files as dependencies Message-ID: <20230625163610.GC270821@farprobe> References: <20230125210636.2960049-1-ben.boeckel@kitware.com> <20230125210636.2960049-5-ben.boeckel@kitware.com> <734eef7c-f7c3-519c-e007-cb42f8dc8a82@redhat.com> <20230623024559.GA255658@farprobe> <541367ff-25da-9745-d768-c60f235cd5bc@acm.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <541367ff-25da-9745-d768-c60f235cd5bc@acm.org> User-Agent: Mutt/2.2.9 (2022-11-12) X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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 Fri, Jun 23, 2023 at 08:12:41 -0400, Nathan Sidwell wrote: > On 6/22/23 22:45, Ben Boeckel wrote: > > On Thu, Jun 22, 2023 at 17:21:42 -0400, Jason Merrill wrote: > >> On 1/25/23 16:06, Ben Boeckel wrote: > >>> They affect the build, so report them via `-MF` mechanisms. > >> > >> Why isn't this covered by the existing code in preprocessed_module? > > > > It appears as though it is neutered in patch 3 where > > `write_make_modules_deps` is used in `make_write` (or will use that name > > Why do you want to record the transitive modules? I would expect just noting the > ones with imports directly in the TU would suffice (i.e check the 'outermost' arg) FWIW, only GCC has "fat" modules. MSVC and Clang both require the transitive closure to be passed. The idea there is to minimize the size of individual module files. If GCC only reads the "fat" modules, then only those should be recorded. If it reads other modules, they should be recorded as well. --Ben