From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com [IPv6:2607:f8b0:4864:20::82a]) by sourceware.org (Postfix) with ESMTPS id ED1993858C60 for ; Fri, 3 Feb 2023 04:00:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED1993858C60 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-x82a.google.com with SMTP id g18so2038315qtb.6 for ; Thu, 02 Feb 2023 20:00:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kitware.com; s=google; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=MTOiHOml2yS0Q/W9b2S+sOELMRt0dBDXWeIa47JAp1Q=; b=BRjmCUHRhw2gbdbGNVaWe9stro+4aYGSmEfcAgrWeROIq/PzOtGgX80YQXIyXzc6LJ UVko6WHRVqbOeXAVkp04M8M9f4Kduu3OuJgzYGSBWKSHrexktntmShNmh7Z+Ewg/iaD+ vwSSkHl9ht3u0PAzcE+9Wt0hyE7XKPLIT6RwI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=user-agent:in-reply-to:content-transfer-encoding :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=MTOiHOml2yS0Q/W9b2S+sOELMRt0dBDXWeIa47JAp1Q=; b=C7030QCu+3JkE9KNtUm+qoY4SAfPA+T705N3+cAlQSnTMjjjF4pzT0IVs595ynK0Z4 TQZAfcfPv5n8F+0Csh+tdsKqKHAGe6Nii+CtJesT37lNGf/PRTR2RA9BuHe2FCBF0MMy CMqY6BTuAldvdY5dl/UOR6a1JrqPwPzsmGkSaVzx1Ksnti31qiRLD2pFwWKYxWmdzr+u r7JaHB7e6Nw2fOudtJEZyYKiZOLo+DuFHpfnLnK9Btpflbzwvl2/SPqMif3zeEFTdRpE MKfEky0dw37RV954z2tdQunYNwYyv2+XCY6bKfF61tmLj7bG440c5gpbczlRV5AH5DwV Z9lQ== X-Gm-Message-State: AO0yUKVwbYNezzhIHuKRrLsGtIY4M7V1llG1MCRRa0gyGX37/nwZ34yW kDaJKpDWr2IDIhfxsn2TiWYuhg== X-Google-Smtp-Source: AK7set+d+dFIFEF5JsvDW11teyFUcXbqRSCz87qfEDUzTzJ+NqjDRxxyCnw6R8UgYjqWcYpXjQ8G4w== X-Received: by 2002:ac8:5c94:0:b0:3b8:6d3a:5ec7 with SMTP id r20-20020ac85c94000000b003b86d3a5ec7mr17537469qta.22.1675396815241; Thu, 02 Feb 2023 20:00:15 -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 g11-20020ac842cb000000b003b86b088755sm907705qtm.15.2023.02.02.20.00.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Feb 2023 20:00:14 -0800 (PST) Date: Thu, 2 Feb 2023 23:00:12 -0500 From: Ben Boeckel To: Harald Anlauf Cc: gcc-patches@gcc.gnu.org, 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> <4f75f80f-234f-4167-13b9-bc065fcf6f0d@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4f75f80f-234f-4167-13b9-bc065fcf6f0d@gmx.de> User-Agent: Mutt/2.2.9 (2022-11-12) X-Spam-Status: No, score=-5.8 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 Thu, Feb 02, 2023 at 21:24:12 +0100, Harald Anlauf wrote: > Am 25.01.23 um 22:06 schrieb Ben Boeckel via Gcc-patches: > > Hi, > > > > 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 > > while that paper mentions Fortran, the patch in its present version > does not seem to implement anything related to Fortran and does not > touch the gfortran frontend. Or am I missing anything? Otherwise, > could you give an example how it would be used with Fortran? Correct. Still trying to put the walls back together after modules KoolAid Man'd their way into the build graph structure :) . Being able to drop our Fortran parser (well, we'd have to drop support for Fortran compilers that exist today…so maybe in 2075 or something) and rely on compilers to tell us the information would be amazing though :) . FWIW, the initial revision of the patchset did touch the gfortran frontend, but the new parameter is now defaulted and therefore the callsite doesn't need an update anymore. I still thought it worthwhile to keep the Fortran side aware of what is going on in the space. The link to Fortran comes up because the build graph problem is isomorphic (Fortran supports exporting multiple modules from a single TU, but it's not relevant at the graph level; it's the zero -> any case that is hard), CMake "solved" it already, and C++ is going to have a *lot* more "I want to consume $other_project's modules using my favorite compiler/flags" than seems to happen in Fortran. If you're interested, this is the paper showing how we do it: https://mathstuf.fedorapeople.org/fortran-modules/fortran-modules.html > Thus I'd say that it is OK from the gfortran side. Eventually we'll like to get gfortran supporting this type of scanning, but…as above. Thanks, --Ben