[cfe-dev] VS2015 Update 3 type_traits Header Issues

Daniel Dilts via cfe-dev cfe-dev at lists.llvm.org
Wed Jun 29 14:48:23 PDT 2016


I upgraded my install of VS2015 to VS2015 Update 3 and it appears to have
broken the ability of an in-house tool that is based on Clang to parse
type_traits.  It appears that is_assignable is now implemented in terms of
an intrinsic named __is_assignable.  Is there a work around or a fix for
this?

>From Microsoft's implementation of type_traits:

 // TEMPLATE CLASS is_assignable
template<class _To,
 class _From>
 struct is_assignable
  : integral_constant<bool, __is_assignable(_To, _From)>
 { // determine whether _From can be assigned to _To
 };

When I parse a file that include type_traits indirectly I get the following
errors:

C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\include\type_traits(524,45): error : '_To' does not refer to a value
                  : integral_constant<bool, __is_assignable(_To, _From)>
                                                            ^
  C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\include\type_traits(521,16) :  note: declared here
  template<class _To,
                 ^
C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\include\type_traits(524,50): error : '_From' does not refer to a
value
                  : integral_constant<bool, __is_assignable(_To, _From)>
                                                                 ^
  C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\include\type_traits(522,8) :  note: declared here
          class _From>
                ^
C:\Program Files (x86)\Microsoft Visual Studio
14.0\VC\include\type_traits(525,2): error : expected class name
          {       // determine whether _From can be assigned to _To
          ^
  3 errors generated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160629/41f546bc/attachment.html>


More information about the cfe-dev mailing list