Re: [Boost-bugs] [Boost C++ Libraries] #1828: is_class maybe triggering a VC8 compiler bug

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1828: is_class maybe triggering a VC8 compiler bug
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-04-15 08:22:18


#1828: is_class maybe triggering a VC8 compiler bug
---------------------------+------------------------------------------------
  Reporter: Stefan | Owner: johnmaddock
      Type: Bugs | Status: new
 Milestone: Boost 1.36.0 | Component: type_traits
   Version: Boost 1.34.1 | Severity: Problem
Resolution: | Keywords:
---------------------------+------------------------------------------------
Comment (by anonymous):

 Update: the following simple code produces the same bug on VC8.

 It seems that using this form of SFINAE on an incomplete type makes the
 compiler remember an inappropriate size for member function pointers.
 Methinks that implementing is_class in terms of the intrinsic __is_class
 would solve this problem.

  #include <boost/type_traits/is_class.hpp>
  struct base;
  boost::is_class<base> stub;
  struct base
  {
         void foo();
  };
  int main()
  {
         char x[sizeof(&base::foo) == 16 ? -1 : 1];
  }

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1828#comment:1>
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:49:57 UTC