operators.hpp(154,1): fatal error C1001: Internal compiler error
- Dominant language
- C++
- Stars
- 26
- Forks
- 49
- PR merge metrics
- No merged PRs in 30d
Description
Hi
I am migrating to VS2019, boost Release 1.70.0
C++ Language Standard ISO C++ 14
C Language Standard: Default (Legacy MSVC)
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.9.4
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'
C:\Windows\System32>cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 19.28.29914 for x86
**### The Error**
1>C:\Dev\Prj\3rdParty\boost\boost\operators.hpp(154,1): fatal error C1001: Internal compiler error.
1>(compiler file 'msc1.cpp', line 1588)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1>If possible please provide a repro here: https://developercommunity.visualstudio.com
1>Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1>C:\Dev\Prj\3rdParty\boost\boost\operators.hpp(134): message : see reference to class template instantiation 'boost::operators_impl::equality_comparable2' being compiled
1> with
1> [
1> T=boost::serialization::version_type,
1> U=unsigned int,
1> B=boost::operators_impl::operators_detail::empty_base
1> ]
1>C:\Dev\Prj\3rdParty\boost\boost\operators.hpp(414): message : see reference to class template instantiation 'boost::operators_impl::less_than_comparable2>' being compiled
1> with
1> [
1> T=boost::serialization::version_type,
1> U=unsigned int,
1> B=boost::operators_impl::operators_detail::empty_base
1> ]
1>C:\Dev\Prj\3rdParty\boost\boost\operators.hpp(161): message : see reference to class template instantiation 'boost::operators_impl::totally_ordered2>' being compiled
1> with
1> [
1> T=boost::serialization::version_type
1> ]
1>C:\Dev\Prj\3rdParty\boost\boost\operators.hpp(145): message : see reference to class template instantiation 'boost::operators_impl::equality_comparable1' being compiled
1> with
1> [
1> T=boost::serialization::version_type,
1> B=boost::operators_impl::totally_ordered2>
1> ]
1>C:\Dev\Prj\3rdParty\boost\boost\operators.hpp(420): message : see reference to class template instantiation 'boost::operators_impl::less_than_comparable1>' being compiled
1> with
1> [
1> T=boost::serialization::version_type,
1> B=boost::operators_impl::totally_ordered2>
1> ]
1>C:\Dev\Prj\3rdParty\boost\boost\serialization\serialization.hpp(61): message : see reference to class template instantiation 'boost::operators_impl::totally_ordered1>>' being compiled
1> with
1> [
1> T=boost::serialization::version_type
1> ]
1>INTERNAL COMPILER ERROR in 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29910\bin\HostX86\x86\CL.exe'
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
The error is in this part ;
```
template >
struct equality_comparable2 : B
{
friend bool operator==(const U& y, const T& x) { return x == y; }
friend bool operator!=(const U& y, const T& x) { return !static_cast(x == y); }
friend bool operator!=(const T& y, const U& x) { return !static_cast(y == x); }
};
```
Any help please ?????
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the VS2019 C1001 error with Boost 1.70.0 and the reported C++14 settings. Inspect boost/operators.hpp around lines 134, 154, 161, 414, and 420, together with boost/serialization/serialization.hpp line 61, using the version_type instantiation shown. Done means the failure is reproduced and a confirmed diagnosis, fix, or workaround is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100