microsoft / Range-V3-VS2015

A fork of the popular range-v3 C++ library with support for the Visual Studio 2015 Update 3 VC++ compiler.
Other
114 stars 22 forks source link

internal compiler error on 15.5 #29

Open dvirtz opened 6 years ago

dvirtz commented 6 years ago

I try to build the library on VS 15.5.2 and get a compiler internal error:

 FAILED: test/utility/CMakeFiles/utility.meta.dir/meta.cpp.obj 
  c:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1412~1.258\bin\HostX86\x86\cl.exe  /nologo /TP -D_UNICODE -IF:\Work\Range-V3-VS2015\include /DWIN32 /D_WINDOWS /W3 /GR /EHsc /wd4503 /MDd /Zi /Ob0 /Od /RTC1 /showIncludes /Fotest\utility\CMakeFiles\utility.meta.dir\meta.cpp.obj /Fdtest\utility\CMakeFiles\utility.meta.dir\ /FS -c F:\Work\Range-V3-VS2015\test\utility\meta.cpp
F:\Work\Range-V3-VS2015\test\utility\meta.cpp(30): fatal error C1001: An internal error has occurred in the compiler.
  (compiler file 'msc1.cpp', line 1507)
   To work around this problem, try simplifying or changing the program near the locations listed above.
  Please choose the Technical Support command on the Visual C++ 
   Help menu, or open the Technical Support help file for more information
  F:\Work\Range-V3-VS2015\test\utility\meta.cpp(48): note: see reference to function template instantiation 'Ret tc_detail::tuple_cat_<Res,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,3>,std::integral_constant<::size_t,3>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,1>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,1>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,1>,std::tuple<std::tuple<int,short,long> &,std::tuple<> &,std::tuple<float,double,long double> &,std::tuple<void *,char *> &>>(meta::v1::list<std::integral_constant<::size_t,0>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,3>,std::integral_constant<::size_t,3>>,meta::v1::list<std::integral_constant<::size_t,0>,std::integral_constant<::size_t,1>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,1>,std::integral_constant<::size_t,2>,std::integral_constant<::size_t,0>,std::integral_constant<::size_t,1>>,Tuples)' being compiled
          with
          [
              Ret=std::tuple<int,short,long,float,double,long double,void *,char *>,
              Res=std::tuple<int,short,long,float,double,long double,void *,char *>,
              Tuples=std::tuple<std::tuple<int,short,long> &,std::tuple<> &,std::tuple<float,double,long double> &,std::tuple<void *,char *> &>
          ]
  F:\Work\Range-V3-VS2015\test\utility\meta.cpp(58): note: see reference to function template instantiation 'Res tuple_cat<std::tuple<int,short,long>&,std::tuple<>&,std::tuple<float,double,long double>&,std::tuple<void *,char *>&,std::tuple<int,short,long,float,double,long double,void *,char *>>(std::tuple<int,short,long> &,std::tuple<> &,std::tuple<float,double,long double> &,std::tuple<void *,char *> &)' being compiled
          with
          [
              Res=std::tuple<int,short,long,float,double,long double,void *,char *>
          ]
  Internal Compiler Error in c:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1412~1.258\bin\HostX86\x86\cl.exe.  You will be prompted to send an error report to Microsoft later.
  INTERNAL COMPILER ERROR in 'c:\PROGRA~2\MIB055~1\2017\COMMUN~1\VC\Tools\MSVC\1412~1.258\bin\HostX86\x86\cl.exe'

Should the library work with VS2017?