Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

WIN64: incomplete support of attributes for enumerators in Windows ICC

$
0
0

Hello, everyone,

For Qt builds using Windows ICC got error:

        cd corelib\ && ( if not exist Makefile C:\libQT-5.12-dev\build\qtbase\bin\qmake.exe -o Makefile C:\libQT-5.12-dev\build\qtbase\src\corelib\corelib.pro ) && C:\Windows\jom.exe -f Makefile
        C:\Windows\jom.exe -f Makefile.Release
        icl -c -nologo -Zc:wchar_t -Qprec -Zm200 -Zc:forScope  -MT -O3 -Qstd=c++14 -Qoption,cpp,--unicode_source_kind,UTF-8 -EHsc -W3 -Qdiag-disable:673,809,1738,1744,3373 -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DQT_NO_USING_NAMESPACE -DQT_NO_FOREACH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NO_DEBUG -DQT_FORCE_ASSERTS -DPCRE2_CODE_UNIT_WIDTH=16 -DPCRE2_STATIC -DNDEBUG -I. -Iglobal -I..\3rdparty\harfbuzz\src -I..\3rdparty\md5 -I..\3rdparty\md4 -I..\3rdparty\sha3 -I..\3rdparty\double-conversion\include -I..\3rdparty\double-conversion\include\double-conversion -I..\3rdparty\tinycbor\src -I..\..\include -I..\..\include\QtCore -I..\..\include\QtCore\5.12.0 -I..\..\include\QtCore\5.12.0\QtCore -Itmp -Itmp\moc\release -I.tracegen\release -IC:\libZLIB-1.2.11\ICC64RT\include -IC:\libICU-63.1-dev\ICC64RT\include -I..\3rdparty\pcre2\src -I..\..\mkspecs\win32-icc -Fo.obj\release\ @C:\Users\test\AppData\Local\Temp\qstring.obj.15316.250.jom
qstring.cpp
tools\qregularexpression.h(76): error: expected a "}"
          OptimizeOnFirstUsageOption Q_DECL_ENUMERATOR_DEPRECATED_X("This option does not have any effect since Qt 5.12") = 0x0080,
                                     ^

qstringlist.cpp
C:\libQT-5.12-dev\build\qtbase\include\QtCore\../../src/corelib/tools/qregularexpression.h(76): error: expected a "}"
          OptimizeOnFirstUsageOption Q_DECL_ENUMERATOR_DEPRECATED_X("This option does not have any effect since Qt 5.12") = 0x0080,
                                     ^

qregularexpression.cpp
tools\qregularexpression.h(76): error: expected a "}"
          OptimizeOnFirstUsageOption Q_DECL_ENUMERATOR_DEPRECATED_X("This option does not have any effect since Qt 5.12") = 0x0080,
                                     ^

tools\qregularexpression.cpp(2724): error: class "QRegularExpression" has no member "DontAutomaticallyOptimizeOption"
          if (patternOptions & QRegularExpression::DontAutomaticallyOptimizeOption)
                                                   ^

qstring_compat.cpp
qvector_msvc.cpp
jom: C:\libQT-5.12-dev\build\qtbase\src\corelib\Makefile.Release [.obj\release\qstring.obj] Error 2
jom: C:\libQT-5.12-dev\build\qtbase\src\corelib\Makefile [release] Error 2
jom: C:\libQT-5.12-dev\build\qtbase\src\Makefile [sub-corelib-make_first] Error 2
jom: C:\libQT-5.12-dev\build\qtbase\Makefile [sub-src-make_first] Error 2
jom: C:\libQT-5.12-dev\build\Makefile [module-qtbase-make_first] Error 2

which relate to recently merged Change #232893, in particular to the code:

diff --git a/src/corelib/tools/qregularexpression.h b/src/corelib/tools/qregularexpression.h

<snip>
-        OptimizeOnFirstUsageOption     = 0x0080,
-        DontAutomaticallyOptimizeOption = 0x0100
+        OptimizeOnFirstUsageOption Q_DECL_ENUMERATOR_DEPRECATED_X("This option does not have any effect since Qt 5.12") = 0x0080,
+        DontAutomaticallyOptimizeOption Q_DECL_ENUMERATOR_DEPRECATED_X("This option does not have any effect since Qt 5.12") = 0x0100,

and the preceding Change #232892 (testcase added in attachment).

 

Reproduced for:

  • builds using Windows ICC,

not reproduced for:

  • builds using mingw-w64 and MSVC.

Environment:

Qt Developers believe it's a compiler bug.

A related paper on open-std.org.

 

Best,

Alexander

 

AttachmentSize
Downloadapplication/zipqstring_testcase.zip782.25 KB

Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>