On Sat, Jan 7, 2017 at 1:29 AM, Shoaib Meenai <smee...@fb.com> wrote:
> Do you think it's worth also checking for the presence of cxxabi.h and > assuming the Itanium ABI if it's found, since the MS ABI shouldn't be using > any ABI library? > No I don't think we should check for `cxxabi.h`.It's entirely possible to want to compile for the Microsoft ABI when `cxxabi.h` is in your path. That being said I don't think the current configuration is correct either. I'm just using it until we change Clang to provide the needed macros. > > (_LIBCPP_BUILDING_HAS_NO_ABI_LIBRARY would have been ideal were it > available > persistently rather than only during the build of libc++ itself. It could > still work if this macro isn't used in any headers though.) > > Also, is there ever a case where _MSC_VER would be defined and _WIN32 > wouldn't? The current check seems slightly redundant. > > On 1/6/17, 6:43 PM, "cfe-commits on behalf of Eric Fiselier via > cfe-commits" <cfe-commits-boun...@lists.llvm.org on behalf of > cfe-commits@lists.llvm.org> wrote: > > Author: ericwf > Date: Fri Jan 6 20:43:58 2017 > New Revision: 291329 > > URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm. > org_viewvc_llvm-2Dproject-3Frev-3D291329-26view-3Drev&d=DgIGaQ&c= > 5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=vt8N_ZR6syyL2-CBgE_ > SBSS0YTQdKIMfcLf4r8leu2c&s=fVFRdDSSgXSZHuGlbfQI1SHyPLDGvuVdhQdxOsU30hI&e= > Log: > Add _LIBCPP_ABI_[ITANIUM|MICROSOFT] macros. > > This patch adds a libc++ configuration macro for the ABI we > are targeting, either Itanium or Microsoft. For now we configure > for the Microsoft ABI when on Windows with a compiler that defines > _MSC_VER. However this is only temporary until Clang implements > builtin macros we can use. > > Modified: > libcxx/trunk/include/__config > > Modified: libcxx/trunk/include/__config > URL: https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm. > org_viewvc_llvm-2Dproject_libcxx_trunk_include_-5F- > 5Fconfig-3Frev-3D291329-26r1-3D291328-26r2-3D291329-26view- > 3Ddiff&d=DgIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=vt8N_ > ZR6syyL2-CBgE_SBSS0YTQdKIMfcLf4r8leu2c&s=46ge62wLL0LHhhQmWVsvb0uPoh8oV4 > 4DG0fsq0nEPs8&e= > ============================================================ > ================== > --- libcxx/trunk/include/__config (original) > +++ libcxx/trunk/include/__config Fri Jan 6 20:43:58 2017 > @@ -111,6 +111,15 @@ > #define _LIBCPP_COMPILER_IBM > #endif > > +// FIXME: ABI detection should be done via compiler builtin macros. > This > +// is just a placeholder until Clang implements such macros. For now > assume > +// that Windows compilers pretending to be MSVC++ target the > microsoft ABI. > +#if defined(_WIN32) && defined(_MSC_VER) > +# define _LIBCPP_ABI_MICROSOFT > +#else > +# define _LIBCPP_ABI_ITANIUM > +#endif > + > // Need to detect which libc we're using if we're on Linux. > #if defined(__linux__) > #include <features.h> > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists. > llvm.org_cgi-2Dbin_mailman_listinfo_cfe-2Dcommits&d=DgIGaQ&c= > 5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=vt8N_ZR6syyL2-CBgE_ > SBSS0YTQdKIMfcLf4r8leu2c&s=rzONjyM9TBpTpA9aQpIA9LFsaiofSZIYff34ZiNb5cA&e= > > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits