<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - MS compatibility: Use token-based instantiation for -fdelayed-template-parsing"
href="http://llvm.org/bugs/show_bug.cgi?id=18714">18714</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>MS compatibility: Use token-based instantiation for -fdelayed-template-parsing
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Frontend
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>rnk@google.com
</td>
</tr>
<tr>
<th>CC</th>
<td>david.majnemer@gmail.com, dgregor@apple.com, llvmbugs@cs.uiuc.edu, richard-llvm@metafoo.co.uk
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Our current -fdelayed-template-parsing and -fms-compatibility approach is
pretty hacky. We have lots of weird dependent nodes that don't normally appear
in an eagerly instantiated clang AST, and it adds a lot of complexity without
getting us all the way there in terms of compatibility.
For example, we have bugs like:
<a href="http://llvm.org/PR18443">http://llvm.org/PR18443</a>
<a href="http://llvm.org/PR16014">http://llvm.org/PR16014</a>
<a href="http://llvm.org/PR12705">http://llvm.org/PR12705</a>
By reparsing the template with token instantiation and replay, we'd neatly
solve all of these problems, hopefully with less code and fewer bugs.
I'm not planning to work on this now, but if we have enough problems, this is
probably the right future direction for -fdelayed-template-parsing.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>