From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) by sourceware.org (Postfix) with ESMTPS id A373E3858C60 for ; Thu, 2 Feb 2023 14:04:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A373E3858C60 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-x836.google.com with SMTP id c2so1873819qtw.5 for ; Thu, 02 Feb 2023 06:04:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kitware.com; s=google; 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=4mlSJKEnHMOfxG71l4Uxj5kyQNJ8iGTQShkdWif5T/M=; b=YlAUgYImSoXxg8OWOThW6TdS1p+UGZyVJwRHccRSkuyp9PNQ8fD+O71F/Ewj2P8VxO D+IUXswlQWL+LCkMtwIrhUe07N0G7yXp1qZWaawELNCVHTNlA58qbeJWqzIpHlO8SdWo d8JtlPGIFhujuhbUOUwoEQLYzBLtpHIQcuFuQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=4mlSJKEnHMOfxG71l4Uxj5kyQNJ8iGTQShkdWif5T/M=; b=VJ9utqlnh6vp2jeNJgkwFfxHZfs53JSwBAB3UIT7xYYeGIwk5Pl7QpIuDQnC9naGVB R/A6xMfUSJ01VPrsD3cfCkPEQwv6BfaWmuPSZ4CZng5aQ2koqdRua2XSMX61h9mwUcdy 23fnBtdpcKWb1jYZl7QhDnN135hPt7pHpbYS7mgpFfeD0LQSqQg7VN9k57XLS5xPA4b9 PInXnms3rc2RImEnCrKAnV8QGcO9GUvSnN9ho3seToriyDQasywoTG/N3EBp/LnAkzoR CZ39hCsUZMiDodnK6DCtWanP0TJ5rCGEgb0BUbr6YX/7IaO1cp68A2vlHRvaHR0P17nh qY4w== X-Gm-Message-State: AO0yUKWew+XoCo4r/fK3VkshP23IvqKorpCvJjGl/VmlXtid5zOkgz3p mujigzJzVm9tggFv74XyegToUg== X-Google-Smtp-Source: AK7set/DanR4c56DE64UQzJ/jqh59T6f3plw4zKKklOfyvOxtzWEsfxDLkoJF859MWxTEckDeJajIg== X-Received: by 2002:ac8:7fc3:0:b0:3b8:6a5f:9918 with SMTP id b3-20020ac87fc3000000b003b86a5f9918mr11406351qtk.63.1675346675045; Thu, 02 Feb 2023 06:04:35 -0800 (PST) Received: from localhost (cpe-142-105-146-128.nycap.res.rr.com. [142.105.146.128]) by smtp.gmail.com with ESMTPSA id s15-20020ac85ccf000000b003b691385327sm12391159qta.6.2023.02.02.06.04.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Feb 2023 06:04:34 -0800 (PST) Date: Thu, 2 Feb 2023 09:04:31 -0500 From: Ben Boeckel To: gcc-patches@gcc.gnu.org Cc: jason@redhat.com, nathan@acm.org, fortran@gcc.gnu.org, gcc@gcc.gnu.org, brad.king@kitware.com Subject: Re: [PATCH v5 0/5] P1689R5 support Message-ID: References: <20230125210636.2960049-1-ben.boeckel@kitware.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230125210636.2960049-1-ben.boeckel@kitware.com> User-Agent: Mutt/2.2.9 (2022-11-12) X-Spam-Status: No, score=-6.0 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 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 Wed, Jan 25, 2023 at 16:06:31 -0500, Ben Boeckel wrote: > This patch series adds initial support for ISO C++'s [P1689R5][], a > format for describing C++ module requirements and provisions based on > the source code. This is required because compiling C++ with modules is > not embarrassingly parallel and need to be ordered to ensure that > `import some_module;` can be satisfied in time by making sure that any > TU with `export import some_module;` is compiled first. > > [P1689R5]: https://isocpp.org/files/papers/P1689R5.html > > I've also added patches to include imported module CMI files and the > module mapper file as dependencies of the compilation. I briefly looked > into adding dependencies on response files as well, but that appeared to > need some code contortions to have a `class mkdeps` available before > parsing the command line or to keep the information around until one was > made. > > I'd like feedback on the approach taken here with respect to the > user-visible flags. I'll also note that header units are not supported > at this time because the current `-E` behavior with respect to `import > ;` is to search for an appropriate `.gcm` file which is not > something such a "scan" can support. A new mode will likely need to be > created (e.g., replacing `-E` with `-fc++-module-scanning` or something) > where headers are looked up "normally" and processed only as much as > scanning requires. > > FWIW, Clang as taken an alternate approach with its `clang-scan-deps` > tool rather than using the compiler directly. Ping? It'd be nice to have this supported in at least GCC 14 (since it missed 13). Thanks, --Ben