[PATCH] D28441: [libc++] [CMake] Link with /nodefaultlibs on Windows
Andrey Khalyavin via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Jan 7 04:55:47 PST 2017
halyavin added inline comments.
================
Comment at: lib/CMakeLists.txt:113
+ add_library_flags(msvcrt) # C runtime startup files
+ add_library_flags(iso_stdio_wide_specifiers)
+endif()
----------------
EricWF wrote:
> halyavin wrote:
> > EricWF wrote:
> > > smeenai wrote:
> > > > Maybe add a comment explaining the purpose of this one as well?
> > > Not sure what the comment should read. I originally implemented this patch without this library, but during testing it generated a undefined reference to `___PLEASE_LINK_WITH_iso_stdio_wide_specifiers.lib`. So should the comment read "MSVC told me to link this"?
> > From very few hits Google gave me, it looks like this library implements proper behavior for %s and %c in printfw/scanfw-like functions.
> That would make sense since the undefined symbols were in `locale.cpp`. I guess I'll update the comment to say "# required for wide character formatting (e.g. `printfw`/`scanfw`)"
It is required for **correct** wide character formatting functions. Hence the ISO in the name. They were previously implemented incorrectly and this library fixes this (probably just flips a switch between legacy and correct behavior).
https://reviews.llvm.org/D28441
More information about the cfe-commits
mailing list