[Boost-bugs] [Boost C++ Libraries] #13499: Intel Compiler 2018 Windows error: overloaded function "boost::scope_exit::detail::deref" is not a type name

Subject: [Boost-bugs] [Boost C++ Libraries] #13499: Intel Compiler 2018 Windows error: overloaded function "boost::scope_exit::detail::deref" is not a type name
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-03-28 19:51:14


#13499: Intel Compiler 2018 Windows error: overloaded function
"boost::scope_exit::detail::deref" is not a type name
-------------------------------------------------+-------------------------
 Reporter: Mario Emmenlauer <mario@…> | Owner: (none)
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: None
  Version: Boost 1.65.0 | Severity: Problem
 Keywords: icl, Intel, Compiler, Windows, |
  build, BOOST_SCOPE_EXIT |
-------------------------------------------------+-------------------------
 Im using the Intel Compiler 2018 from Parallel Studio XE 2018 Update 2
 Composer Edition together with Visual Studio Community Edition 2015 Update
 3 to build ''thrift'', a library that uses boost 1.65.1. I start the build
 from the Intel Compiler console. The build fails with errors:
 {{{
 FAILED:
 lib/cpp/CMakeFiles/thrift_static.dir/src/thrift/windows/OverlappedSubmissionThread.cpp.obj
 D:\bda-ci\IntelSWTools\compilers_and_libraries\windows\bin\intel64\icl.exe
 /TP -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DBOOST_TEST_DYN_LINK
 -DFORCE_BOOST_SMART_PTR -DNOMINMAX -DUSE_STD_THREAD=1
 -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\cpp
 -ID:\Debug\Shared\thrift-0.11.0\lib\cpp -I.
 -ID:\Debug\Shared\thrift-0.11.0\lib\cpp\src -I"C:\Program Files
 (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt" -ID:\Debug\Shared\include
 /MDd /Zi /arch:SSE4.2 -I/d/Debug/Shared/include /DDEBUG
 /DWINVER=_WIN32_WINNT_WIN7 /D_WIN32_WINNT=_WIN32_WINNT_WIN7 /Qwd1744
 /DWIN32 /D_WINDOWS /W3 /GR /EHsc /MDd /Zi /Ob0 /Od /RTC1 /MP /W3
 /FIinttypes.h -DUNICODE -D_UNICODE -Qstd=c++11 /showIncludes
 /Folib\cpp\CMakeFiles\thrift_static.dir\src\thrift\windows\OverlappedSubmissionThread.cpp.obj
 /Fdlib\cpp\CMakeFiles\thrift_static.dir\thrift_static.pdb -c
 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp
 Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64,
 Version 18.0.2.185 Build 20180210
 Copyright (C) 1985-2018 Intel Corporation. All rights reserved.

 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62):
 error: overloaded function "boost::scope_exit::detail::deref" is not a
 type name
     BOOST_SCOPE_EXIT((&doneSubmittingEvent)) {
 SetEvent(doneSubmittingEvent.h); }
     ^

 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62):
 error: expected a ")"
     BOOST_SCOPE_EXIT((&doneSubmittingEvent)) {
 SetEvent(doneSubmittingEvent.h); }
     ^

 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62):
 error: expected a type specifier
     BOOST_SCOPE_EXIT((&doneSubmittingEvent)) {
 SetEvent(doneSubmittingEvent.h); }
     ^

 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62):
 error #303: explicit type is missing ("int" assumed)
     BOOST_SCOPE_EXIT((&doneSubmittingEvent)) {
 SetEvent(doneSubmittingEvent.h); }
     ^

 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62):
 error: expected a ";"
     BOOST_SCOPE_EXIT((&doneSubmittingEvent)) {
 SetEvent(doneSubmittingEvent.h); }
     ^

 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp(62):
 error: identifier "boost_se_capture_t_0_62" is undefined
     BOOST_SCOPE_EXIT((&doneSubmittingEvent)) {
 SetEvent(doneSubmittingEvent.h); }
     ^

 compilation aborted for
 D:\Debug\Shared\thrift-0.11.0\lib\cpp\src\thrift\windows\OverlappedSubmissionThread.cpp
 (code 2)
 }}}

 I am under the impression that this error is related to boost, is that
 correct? Is there a workaround or solution?

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13499>
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 : 2018-03-28 19:58:16 UTC