[cfe-dev] clang for Windows problem in Boost.TypeTraits

Edward Diener eldlistmailingz at tropicsoft.com
Fri Oct 4 23:26:29 PDT 2013


On 10/3/2013 7:06 AM, Paweł Bylica wrote:
> On Mon, Sep 30, 2013 at 5:29 AM, Edward Diener
> <eldlistmailingz at tropicsoft.com
> <mailto:eldlistmailingz at tropicsoft.com>> wrote:
>
>     In Boost.TypeTraits this header file line:
>
>       template <class R >
>       yes_type is_function_ptr_tester(R (__fastcall*)( ...));
>
>     gets an error message from clang in Windows of:
>
>     ..\..\..\boost/type_traits/__detail/is_function_ptr_tester.__hpp:52:36:
>     error: variadic function cannot use fastcall calling convention
>
>
> Wait a minute, this header is included only if
> BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION macro is defined.

That is incorrect. It is included by is_function.hpp whenever 
_MSC_EXTENSIONS is defined, as it is for clang under Windows.

> It is
> probably some old lack of template specialization workaround. It does
> not compile in VS either.

It compiles fine under VC++ when I run 'bjam toolset=msvc-11.0' in the 
type_traits test directory. There are some errors, because of warnings, 
but they have nothing to do with the above situation.





More information about the cfe-dev mailing list