<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=HU link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>And the current documentation about „Modules” <span lang=EN-US>doesn't say a thing about Modules-TS. Or I'm going blind…<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>My implementation so far is coming along nicely, I believe I’ll have it done in the upcoming week or so. Currently had to travel midway of writing a command which is not fun.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>; W.<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>From: </b><a href="mailto:cfe-dev@lists.llvm.org">Matt Asplund via cfe-dev</a><br><b>Sent: </b>2018. október 8., hétfő 7:25<br><b>To: </b><a href="mailto:dblaikie@gmail.com">David Blaikie</a><br><b>Cc: </b><a href="mailto:boris@codesynthesis.com">Boris Kolpackov</a>; <a href="mailto:richard@metafoo.co.uk">Richard Smith</a>; <a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br><b>Subject: </b>Re: [cfe-dev] Modules TS Work</p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Sorry to keep responding to myself, FYI the documentation for precompiled header file format is another great example of how it is hard to keep track of when modules refers to clang modules or the modules ts...</p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-Matt</p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sun, Oct 7, 2018 at 10:23 PM Matt Asplund <<a href="mailto:mwasplund@gmail.com">mwasplund@gmail.com</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>I also feel that the precompiled header file format as it is today is not the best fit for the module-ts interface definition. Would it not be more straightforward to have the compilation of an interface module generate a simplified form of this file that only contains the types and declarations that were exported along with an object file? It feels cumbersome at best to generate this entire file and then turn around and spit out the object file in a second call. </p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>On a side note, would anyone be opposed to lifting the requirement that a interface module translation unit using the cppm extension? The spec simply says a translation unit will be treated as a module unit if it contains a module declaration and clang seems to already allow this for implementation modules. </p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sun, Oct 7, 2018 at 6:19 PM Matt Asplund <<a href="mailto:mwasplund@gmail.com" target="_blank">mwasplund@gmail.com</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>I have not had a chance to pull down and build the branch of gcc that has the modules-ts implementation yet. From reading the spec I did not think that macro definitions within a single translation unit would be affected by it being a module unit at all, much less a previously defined macro in the module interface unit. I was testing some with MSVC (until I hit a not implemented error) and they seem to allow this scenario.</p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-Matt</p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Sun, Oct 7, 2018 at 5:55 PM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>On Sat, Oct 6, 2018 at 5:46 PM Matt Asplund via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>I have been finding a few bugs in the modules-ts implementation and wanted to know if this is still being actively work on</p></div></blockquote><div><p class=MsoNormal><br>Certainly being actively worked on - mostly/entirely by Richard Smith (cc'd) & I think he's prioritizing some of the nastier edge cases as they come up in the standardization process, so "practical" bugs (once where the desired behavior is clear enough & it isn't likely to significantly impact the design/implementation in a significant way) might be a bit lower priority.<br> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>or if I should be sending out my own patches.</p></div></blockquote><div><p class=MsoNormal><br>Generally welcome, I should think! :)<br> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>I am also finding it hard to track what work is being done with clang modules and what work pertains to ModulesTS (Most notably there is only one bucket for bug reporting under modules). </p></div></blockquote><div><p class=MsoNormal><br>Fair - though they're pretty related - not sure it's worth having a separate bucket. But not a big deal either way.<br> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>The issue I am stuck on right now is this:</p></div><div><p class=MsoNormal><a href="https://bugs.llvm.org/show_bug.cgi?id=39206" target="_blank"><b><span style='font-size:12.0pt;font-family:"Verdana",sans-serif;color:#663366'>Bug 39206</span></b></a><b><span style='font-size:12.0pt;font-family:"Verdana",sans-serif;color:black;background:#D0D0D0'> </span></b><b><span style='font-size:12.0pt;font-family:"Verdana",sans-serif;color:black'>- [Modules TS] Macro defined in module interface cannot be set in implementation</span></b> </p></div></div><div><div><p class=MsoNormal><o:p> </o:p></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Thanks for filing! :) (what does GCC do, I wonder? Not sure if the support over there is near enough to support things)</p></div><div><p class=MsoNormal> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>-Matt</p></div></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>On Fri, Oct 5, 2018 at 4:32 PM André Jansen Medeiros Villar via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal>CC Boris Kolpackov who has the only implamentation of Modules on a build system that i know of.</p><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Em qui, 4 de out de 2018 às 15:04, David Blaikie via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> escreveu:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>On Sun, Sep 30, 2018 at 2:32 AM Whisperity via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:</p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal>I am just trying to improve CMake a bit to better explain directives<br>for codes that use and depend on modules, instead of using nasty<br>shadow targets and hacks. We also need to improve CMake so it knows<br>dependencies: I ran into the issue that once I build the module PCM<br>there is no check (neither from CMake's, nor Clang's side) whether the<br>source file for that module was changed. Sometimes it keeps the PCM<br>implementation ignoring the original one, sometimes just runs Clang<br>into a nasty stack trace.</p></blockquote><div><p class=MsoNormal><br>I'm super interested in CMake support for modules (both Clang's back-compat modules (with modulemaps) and C++ standard modules) - I'll be talking at the developer meeting about some of the issues around Modules TS build system impact (following on from the talk I gave last year on modular code generation) & honestly would love to have a CMake prototype/demo (for clang back-compat modules and/or modules TS modules), with the intent to get something usable for self-hosting one form of explicit modules or another (modular code generation, etc) with the LLVM build, but not sure I really have the CMake skills to pull that off in time.<br><br>- Dave<br> </p></div><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><p class=MsoNormal><br>; Whisperity.<br>Matt Asplund (mwasplund) via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> ezt írta<br>(időpont: 2018. szept. 29., Szo, 17:15):<br>><br>><br>> Hello,<br>><br>> I am curious if there is any active work being done on the Modules TS implementation. I would like to help fill in the gaps that I am finding while playing around with it and wanted to make sure I wasn’t duplicating work.<br>><br>> -Matt<br>> _______________________________________________<br>> cfe-dev mailing list<br>> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a></p></blockquote></div></div><p class=MsoNormal>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a></p></blockquote></div><p class=MsoNormal>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a></p></blockquote></div></blockquote></div></div></blockquote></div></blockquote></div></blockquote></div><p class=MsoNormal style='margin-left:19.2pt'>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>