<div dir="ltr">Where are the source and tests for the already existing part?</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/1/17 Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com" target="_blank">dgregor@apple.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div>On Jan 7, 2013, at 10:42 AM, Kosztka Imre Dávid <<a href="mailto:kosztkaid@gmail.com" target="_blank">kosztkaid@gmail.com</a>> wrote:</div>
<br><blockquote type="cite"><div dir="ltr">How can we help?</div></blockquote><div><br></div><div>Modules is a big feature, and there are a few places where one could help. Some ideas:</div><div><br></div><div> - Diagnostics: when we produce diagnostics that point to a source location within a module (e.g., in a note or macro expansion), the "imported from" backtrace only mentions module names (e.g., "std") rather than submodule names ("std.tgmath"). We should provide better granularity here.</div>
<div><br></div><div> - Fix-Its: we may know about a module that has not yet been imported, in which case we should provide a Fix-It to import the module if that would cause ill-formed code to work. For example,</div><div>
<br></div><div><span style="white-space:pre-wrap"> </span>Foo bar(); // error: unknown type name 'Foo'</div><div><br></div><div> could turn into; // error: unknown type name 'Foo' is available by importing the module 'MyLib.Foo'</div>
<div><br></div><div> with a Fix-It that adds 'import MyLib.Foo' or '#include <MyLib/Foo.h>" in a reasonable place.</div><div><br></div><div> - Track which explicitly-imported modules have not had any of their declarations used, and produce "unused import" warnings at the end of a translation unit. For example:</div>
<div><br></div><div><span style="white-space:pre-wrap"> </span>import std.tgmath;</div><div><span style="white-space:pre-wrap"> </span>import <a href="http://std.io" target="_blank">std.io</a>;</div><div><br></div><div><span style="white-space:pre-wrap"> </span>int main() {</div>
<div><span style="white-space:pre-wrap"> </span> printf("Hello\n");</div><div><span style="white-space:pre-wrap"> </span>}</div><div><br></div><div><span style="white-space:pre-wrap"> </span>// warn about unused import 'std.tgmath'.</div>
<div><br></div><div> The same should work for #includes that have automatically be translated into imports.</div><div><br></div><div> - Fix NamespaceAliasDecl so that it is "redeclarable". In other words, given</div>
<div><br></div><div><span style="white-space:pre-wrap"> </span>namespace filesystem { }</div><div><span style="white-space:pre-wrap"> </span>namespace fs = filesystem;</div><div><span style="white-space:pre-wrap"> </span>namespace fs = filesystem;</div>
<div><br></div><div> make sure that the two 'fs' declarations are properly chained together, like we do for all other redeclarations.</div><div><br></div><div> - Improve the 'modularize' tool I hacked up (sources attached), which attempts to find non-modular behavior in a set of header files. This tool is going to be really important when trying to take an existing (probably horrible) set of system headers and figuring out how to tweak them to be modular enough.</div>
<div><br></div><span style="white-space:pre-wrap"> </span>- Doug</div><div><br></div><div></div></div><br><div style="word-wrap:break-word"><div></div><div><br><blockquote type="cite"><div class="gmail_extra"><br><div class="gmail_quote">
2013/1/7 Douglas Gregor <span dir="ltr"><<a href="mailto:dgregor@apple.com" target="_blank">dgregor@apple.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br>
On Jan 6, 2013, at 11:13 AM, Traktor Toni <<a href="mailto:trustthesky@gmail.com" target="_blank">trustthesky@gmail.com</a>> wrote:<br>
<br>
> Referring to: <a href="http://llvm.org/devmtg/2012-11/Gregor-Modules.pdf" target="_blank">http://llvm.org/devmtg/2012-11/Gregor-Modules.pdf</a><br>
><br>
> When is this ready?<br>
<br>
<br>
</div>Not yet. There's still a ton of work to do for C++, as well as performance work and a ton of debugging. It will be a while; this feature is, unfortunately, quite complicated.<br>
<br>
- Doug<br>
<div><div>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Name : Kosztka Imre Dávid<br>E-mail: <a href="mailto:kosztkaid@gmail.com" target="_blank">kosztkaid@gmail.com</a><br>Phone number: <a href="tel:%2B36309213462" value="+36309213462" target="_blank">+36309213462</a><br>
Mailing address: H-3700, Hungary Kazincbarcika Szeder utca 2.
</div>
</blockquote></div><br></div><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Name : Kosztka Imre Dávid<br>E-mail: <a href="mailto:kosztkaid@gmail.com" target="_blank">kosztkaid@gmail.com</a><br>Phone number: +36309213462<br>
Mailing address: H-3700, Hungary Kazincbarcika Szeder utca 2.
</div>