[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