[Boost-bugs] [Boost C++ Libraries] #4593: Type_of does not use BOOST_TYPEOF_EMULATION for VC10 and \Za

Subject: [Boost-bugs] [Boost C++ Libraries] #4593: Type_of does not use BOOST_TYPEOF_EMULATION for VC10 and \Za
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-08-25 15:35:15


#4593: Type_of does not use BOOST_TYPEOF_EMULATION for VC10 and \Za
-------------------------------------+--------------------------------------
 Reporter: pbristow | Owner: burbelgruff
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: typeof
  Version: Boost Development Trunk | Severity: Problem
 Keywords: type_of |
-------------------------------------+--------------------------------------
 Type_of does not use BOOST_TYPEOF_EMULATION for VC10 and \Za.

 For example boost/math/libs/test/pow_test.cpp

 fails to compile with \Za (No MS extensions)

 I:\boost-trunk\boost/typeof/msvc/typeof_impl.hpp(125): error C2143: syntax
 error : missing ';' before '<'
           I:\boost-trunk\boost/typeof/msvc/typeof_impl.hpp(133) : see
 reference to class template instantiation
 'boost::type_of::msvc_extract_type<ID,T>' being compiled
 I:\boost-trunk\boost/typeof/msvc/typeof_impl.hpp(125): error C2913:
 explicit specialization;
 'boost::type_of::msvc_extract_type<ID,boost::type_of::msvc_extract_type_default_param>::id2type_impl'
 is not a specialization of a class template
 I:\boost-trunk\boost/typeof/msvc/typeof_impl.hpp(125): error C2059: syntax
 error : '<'
 I:\boost-trunk\boost/typeof/msvc/typeof_impl.hpp(126): error C2334:
 unexpected token(s) preceding '{'; skipping apparent function body
   using native typeof
 I:\boost-trunk\boost/typeof/msvc/typeof_impl.hpp(125): error C2143: syntax
 error : missing ';' before '<'
 ...

 #define BOOST_TYPEOF_NATIVE

 produces same error

 #define BOOST_TYPEOF_EMULATION

 Works OK

 pow_test.cpp
   using typeof emulation
   Generating code
 ...

 Would I be right in hoping that native type_of would be used for VC10?

 (I note tests for VC >= 1400 but none for later versions).

 Or that emulation would be selected automatically for VC10?

 Or does using \Za mean type_of cannot be used?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4593>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC