From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) by sourceware.org (Postfix) with ESMTPS id 4AE093858D35 for ; Sun, 25 Jun 2023 16:36:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4AE093858D35 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-x82e.google.com with SMTP id d75a77b69052e-4008eba257bso25373251cf.3 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=eeLq28BP7RcqtM0d81XYxST5JWY25Kk+vT+PRGILRWbwitfDpZvUqJPSmf6nPR9A3r USQ6Ap6XQK51gDZBOvuk+agbIBZwaYcAnFkwp72DkaT2hfDK8jbF9hwlxQWrRZY2Pr3M udy4UmxvkCxMdP3YLOfq+61PYtSogXeUQ9QVceCYVbq94V2tGqzPWWbdj+8xgUISPxdS 0WgkPMhyvrsRkXaQKsBYO7HYjr8TGWZ/TUrjMAudDpzrFMAe7Nmfs/nPEpqZ+XLxAJup CpSfCXO2Zq9Bf/XBJskW1+sBzXqX50bO4RmGB6yXfUPPoMlYbywJ1mY93lCGxyWDqbuv g7BA== X-Gm-Message-State: AC+VfDy+s3pb80sY/WgbP2jK7HP0LrR0nUeUbHMC7NjG9MNfbg18Amo4 ooxZe3T9PqUOlziOSvWVGPTxwA== 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=-3.1 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