[cfe-dev] [PATCH] Libc++ Windows fixes
Howard Hinnant
hhinnant at apple.com
Thu Sep 22 12:12:22 PDT 2011
Patch committed revision 140328.
Howard
On Sep 22, 2011, at 3:08 PM, Ruben Van Boxem wrote:
> 2011/9/22 Aaron Ballman <aaron at aaronballman.com>
> On Thu, Sep 22, 2011 at 10:33 AM, Ruben Van Boxem
> <vanboxem.ruben at gmail.com> wrote:
> > 2011/6/30 Ruben Van Boxem <vanboxem.ruben at gmail.com>
> > - include/__config/type_traits: add a define _LIBCXX_HAS_FEATURE_IS_BASE_OF
> > for MSVC and GCC, which both have this, but not __has_feature, which is
> > Clang-only. Modify <type_traits> accordingly.
>
> I noticed that you're testing _MSC_VER 1400, which is VS 2005.
> However, I couldn't find any documentation of is_base_of for anything
> before Visual Studio 2008 (_MSC_VER 1500). Unfortunately, I don't
> have VS 2005 to test for sure, but this may require a second look. Or
> I could be wrong. ;-)
>
> MSVS2005 page detailing __is_base_of. the 2003 page doesn't have this page, so I assume it does not support it.
> http://msdn.microsoft.com/en-us/library/ms177194%28v=vs.80%29.aspx
>
>
> > All this should work for both MinGW(-w64)/GCC and Microsoft/MSVC
> > headers/libraries. Note the *_l functions are only available on recent
> > Windows versions, which should be good enough for now. Especially the locale
> > stuff (up till now!) should work for more than only plain "C" locale.
>
> It's more dependent on the MSVCRT version on the system than the OS.
> I've seen the _l versions of the APIs with VS 2005, and the claimed
> support (assuming the proper redist is installed) is as far back as
> Windows 95.
>
> Ok, good to know. After checking MSDN again, I did find all these functions in VS2005 doc pages, so that could mean XP has decent support (if kept up to date). I never understood how Windows, msvcrt.dll and the redistributable packages worked...
>
>
> Overall, I think the patch looks good though.
>
> Great news, thanks!
>
> Ruben
>
> ~Aaron
>
More information about the cfe-dev
mailing list