[patch][pr12684] Use the new mingw abi
Yaron Keren
yaron.keren at gmail.com
Thu Nov 21 00:55:21 PST 2013
Hi Rafael,
clang can't compile libcxx/src/valarray.cpp after applying the patch (error
message below).
Without the patch it compiles OK. I checked and verified with and without.
Yaron
In file included from ../src/valarray.cpp:12:
/my/ceemple/libcxx/include\valarray:1009:60: error: explicit instantiation
of
'valarray' does not refer to a function template, variable template,
member function, member class, or static data member
_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::valarray(size_t))
^
../src/valarray.cpp:10:54: note: expanded from macro
'_LIBCPP_EXTERN_TEMPLATE'
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
^
In file included from ../src/valarray.cpp:12:
/my/ceemple/libcxx/include\valarray:1010:60: error: explicit instantiation
of
'~valarray' does not refer to a function template, variable template,
member function, member class, or static data member
_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS valarray<size_t>::~valarray())
^
../src/valarray.cpp:10:54: note: expanded from macro
'_LIBCPP_EXTERN_TEMPLATE'
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
^
In file included from ../src/valarray.cpp:12:
/my/ceemple/libcxx/include\valarray:1011:65: error: explicit instantiation
of
'resize' does not refer to a function template, variable template,
member function, member class, or static data member
_LIBCPP_EXTERN_TEMPLATE(_LIBCPP_FUNC_VIS void valarray<size_t>::resize...
^
../src/valarray.cpp:10:54: note: expanded from macro
'_LIBCPP_EXTERN_TEMPLATE'
#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
^
../src/valarray.cpp:16:28: error: explicit instantiation of 'valarray' does
not refer to a function template, variable template, member function,
member class, or static data member
template valarray<size_t>::valarray(size_t);
^
../src/valarray.cpp:17:28: error: explicit instantiation of '~valarray' does
not refer to a function template, variable template, member function,
member class, or static data member
2013/11/20 Rafael EspĂndola <rafael.espindola at gmail.com>
> On 19 November 2013 19:39, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
> > Rafael,
> >
> > Oh yeah, ... It seems C++ ABI diverged between Cygwin and Mingw since
> 4.7...
> > (FYI, also cygwin64 is different from x86_64-mingw32 in some point...)
>
> Good catch. I confirmed this with a native gcc 4.8 on cywin. The
> updated patch change the abi only for mingw and adds a cygwin test.
>
> Cheers,
> Rafael
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131121/01a09115/attachment.html>
More information about the cfe-commits
mailing list