Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Incomplete
-
None
-
Windows, ancient compiler
Description
Let's consider following configuration
cmake .. -G "Visual Studio 14 2015" -DWITH_WSREP=0
|
cmake --build .
|
|
# Output
|
C:\Program Files (x86)\Windows Kits\8.1\Include\shared\guiddef.h(192): note: or 'bool operator ==(const GUID &,
|
const GUID &)' (compiling source file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(329): note: or 'bool std::operator ==(
|
const std::exception_ptr &,const std::exception_ptr &) throw()' [found using argument-dependent lookup] (compiling so
|
urce file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(334): note: or 'bool std::operator ==(
|
std::nullptr_t,const std::exception_ptr &) throw()' [found using argument-dependent lookup] (compiling source file D:
|
\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(339): note: or 'bool std::operator ==(
|
const std::exception_ptr &,std::nullptr_t) throw()' [found using argument-dependent lookup] (compiling source file D:
|
\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(365): note: or 'bool std::operator
|
==(const std::error_code &,const std::error_code &) noexcept' [found using argument-dependent lookup] (compiling sour
|
ce file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(373): note: or 'bool std::operator
|
==(const std::error_code &,const std::error_condition &) noexcept' [found using argument-dependent lookup] (compiling
|
source file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(381): note: or 'bool std::operator
|
==(const std::error_condition &,const std::error_code &) noexcept' [found using argument-dependent lookup] (compiling
|
source file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(389): note: or 'bool std::operator
|
==(const std::error_condition &,const std::error_condition &) noexcept' [found using argument-dependent lookup] (comp
|
iling source file D:\server\sql\rpl_parallel.cc)
|
|
|
D:\server\sql\rpl_parallel.cc(1926): error C2088: '==': illegal for struct [D:\server\bld_patch\sql\sql.vcxproj]
|
D:\server\sql\rpl_parallel.cc(1940): error C2593: 'operator ==' is ambiguous [D:\server\bld_patch\sql\sql.vcxproj]
|
d:\server\sql\rpl_gtid.h(37): note: could be 'bool operator ==(const rpl_gtid &,const rpl_gtid &)' (compiling source
|
file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Windows Kits\8.1\Include\shared\guiddef.h(192): note: or 'bool operator ==(const GUID &,
|
const GUID &)' (compiling source file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(329): note: or 'bool std::operator ==(
|
const std::exception_ptr &,const std::exception_ptr &) throw()' [found using argument-dependent lookup] (compiling so
|
urce file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(334): note: or 'bool std::operator ==(
|
std::nullptr_t,const std::exception_ptr &) throw()' [found using argument-dependent lookup] (compiling source file D:
|
\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\exception(339): note: or 'bool std::operator ==(
|
const std::exception_ptr &,std::nullptr_t) throw()' [found using argument-dependent lookup] (compiling source file D:
|
\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(365): note: or 'bool std::operator
|
==(const std::error_code &,const std::error_code &) noexcept' [found using argument-dependent lookup] (compiling sour
|
ce file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(373): note: or 'bool std::operator
|
==(const std::error_code &,const std::error_condition &) noexcept' [found using argument-dependent lookup] (compiling
|
source file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(381): note: or 'bool std::operator
|
==(const std::error_condition &,const std::error_code &) noexcept' [found using argument-dependent lookup] (compiling
|
source file D:\server\sql\rpl_parallel.cc)
|
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\system_error(389): note: or 'bool std::operator
|
==(const std::error_condition &,const std::error_condition &) noexcept' [found using argument-dependent lookup] (comp
|
iling source file D:\server\sql\rpl_parallel.cc)
|
D:\server\sql\rpl_parallel.cc(1940): note: while trying to match the argument list '(std::atomic<wait_for_commit *>,
|
int)'
|
D:\server\sql\rpl_parallel.cc(1940): error C2088: '==': illegal for struct [D:\server\bld_patch\sql\sql.vcxproj]CMAK
|
When the same configuration is applied with RelWithDebInfo build configuration, it works.
cmake --build . --config RelWithDebInfo # no problem
|
The same configuration from above is tested with vs2019 and it works.