[patch][pr12684] Use the new mingw abi

Yaron Keren yaron.keren at gmail.com
Fri Nov 22 09:54:15 PST 2013


I will send you e-mail output from clang -P -E ... it is too big for the
list.

The output was identical with or without the patch so I'm attaching one
copy only.

The error does not happen with clang -P -E but does happen with clang -c.


2013/11/22 Rafael EspĂ­ndola <rafael.espindola at gmail.com>

> Can you send me a preprocessed file?
>
> On 21 November 2013 03:55, Yaron Keren <yaron.keren at gmail.com> wrote:
> > 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/20131122/ed41ec98/attachment.html>


More information about the cfe-commits mailing list