[cfe-dev] [PATCH] Libc++ Windows fixes
Howard Hinnant
hhinnant at apple.com
Wed Sep 28 14:45:27 PDT 2011
On Sep 28, 2011, at 5:35 PM, Ruben Van Boxem wrote:
>
>> In <__config> don't you want to:
>>
>> #if __APPLE__ || _WIN32
>> #define _LIBCPP_STABLE_APPLE_ABI
>> #endif
>>
>> instead of:
>>
>> #if __APPLE__ || __FreeBSD__ || _WIN32
>> #define _LIBCPP_LOCALE__L_EXTENSIONS 1
>> #endif
>>
>> ?
>>
> I guess you're right. I defined both in the new patch. libc++ compiles, but I'm kind of baffled by this because there are locale.cpp parts using _DefaultRuneLocale if _LIBCPP_STABLE_APPLE_ABI is defined. I didn't touch these at all :s so I'm kind of confused why this works at all for me... I'm not seeing what the compiler is seeing :(
>
> These parts of locale.cpp are standard C locale things, so I guess the alternative I need to write is these bits using a hidden (static) C locale object I can always access for the values needed (this would involve modifying __cloc to not create a locale every time it is called, but I was waiting for the <locale> refactoring...). Why does FreeBSD not define _LLIBCPP_STABLE_APPLE_ABI?
>
> I'm officially confumbled,
I'm officially confumbled too, you're not alone. :-)
You're checked in. Hopefully with a fresh update things will start to unwind and simplify.
I think FreeBSD should define _LLIBCPP_STABLE_APPLE_ABI too. David? And maybe with David's latest patch to FreeBSD, should also #define _LIBCPP_GET_C_LOCALE 0.
Howard
More information about the cfe-dev
mailing list