On Fri, 12 Dec 2008 17:32:04 -0500, steve naroff <[email protected]> wrote: > On Dec 12, 2008, at 4:52 PM, Howard Hinnant wrote: > >> I'm afraid I don't have access to Windows. Is there a compiler >> switch you could try that is along the lines of "stress conformance >> instead of backwards compatibility"? >> > > I'm not aware of any.
Try /Za. However, if anything in LLVM includes <windows.h>, that won't work, because in a case of grotesque idiocy by the various MS teams involved in this, windows.h won't compile under /Za. MS never bothered to implement #pragma system_header either. Or, at least this was the case in VS.Net 2003. Maybe in 2005 it's different. > Since you are familiar with this specific C++ > idiom, you might try Googling for some info. I'd do it myself, however > I'm not as plugged into the history of this particular C++ idiom (so > you'd likely have more success finding the right stuff:-) I've downloaded VS Express 2008, but CMake's site is down, so I can't compile the project at this time. (Also, it's late and I need to go to bed.) My guess is that this fails because VS allows a temporary to bind to a non-const reference. This means that the hidden non-const copy constructor is suddenly preferred over the conversion to the mover followed by initialization through the mover constructor. Since the non-const copy constructor is private, this fails. (And the equivalent for the assignment operators.) I have some ideas for a workaround, but I need a working compilation environment first. Are there instructions for compiling the thing with VC++ written up somewhere? I can follow the instructions for LLVM itself, but I don't know what to do with Clang. If there are no instructions, can you write something up, please? Sebastian _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
