http://llvm.org/bugs/show_bug.cgi?id=18714
Reid Kleckner <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |WONTFIX --- Comment #2 from Reid Kleckner <[email protected]> --- (In reply to comment #1) > Can you give some pointers on the nature of the token transformation? > > Do you have a feel for the phases of token caching, instantiation and > substitution that might be going on in MSVC? First, I just want to say that I've been talked out of this approach since I filed this bug, so I'm closing it. :) Answering your question, yes, they appear to do roughly what -fdelayed-template-parsing does: they parse class template bodies, but they slurp the tokens from C++ inline method definitions and parse them once they are instantiated and referenced. I believe you *need* to use typename with MSVC when appropriate in a class template body outside of C++ inline methods. The key difference is that method bodies are *never* parsed prior to instantiation. The template parameters are substituted with arguments before parsing, so MSVC always knows if a nested-name-specifier is a type. Basically, I've gotten the hang of recovering from missing 'typename' now, so I don't think it will be that hard to handle this without token substitution. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
