I agree with Nikola and Aaron. If this issue affects a lot of code and the implementation does not turn the code into a mess, then I think we should consider supporting it as a compatibility option.<br><br><div class="gmail_quote">

On Tue, Aug 28, 2012 at 2:35 PM, David Robins <span dir="ltr"><<a href="mailto:llvm@davidrobins.net" target="_blank">llvm@davidrobins.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Visual Studio 2005 generated a lot of code that uses unqualified<br>
pointers to member functions (think MFC dispatch tables; fear and<br>
loathing, sure, but the code is out there), and even 2012 supports them,<br>
although it now generates fully-qualified names ("&Class::Function", vs.<br>
accepting "Function" without "&" or "Class::"). I understand C++<br>
requires a qualified name; on the other hand, I want to compile this<br>
corpus of legacy code with Clang (for analysis, not building).<br>
<br>
Another issue in such legacy code is expecting inheritance of typedefs<br>
in templates, whereas the standard requires redeclaring them explicitly<br>
(e.g., types like value_type and pointer).<br>
<br>
I remember seeing in another email that Clang does not want to be "bug<br>
for bug compatible" with MSVC (and in yet another support for the bug<br>
where VS 2005 eats a comma in varargs macros); what's the best way to<br>
support compiling legacy code? Is it to be entirely unsupported? Can a<br>
plugin do it? Or will changes restricted to particular Microsoft compiler<br>
emulation (-fmsc-ver) be accepted?<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">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>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Joćo Matos<br>