- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, everyone,
For builds using ICC, a part of export symbols can be lost:
while there is no such troubles for builds using MSVC:
Reproduced for:
- builds of "Defaulted default constructor outside of class definition in the code" using ICC with PCH,
not reproduced for:
- builds of "Defaulted default constructor outside of class definition in the code" using ICC without PCH,
- builds of "Defaulted default constructor in the code" using ICC with PCH,
- builds of "Defaulted default constructor outside of class definition in the code" using MSVC with PCH.
It was revealed by Qt builds using Windows ICC (see QTBUG-62956, QTBUG-62979 and QTCREATORBUG-19303), and Qt Developers believe it's a compiler bug.
Wherein a content of precompiled headers, used for that builds, has no effect on this issue. I.e., the same error reproduced even if '.h' file, used to produce '.pch' file, contain a space symbol only.
A test case to reproduce this issue added in attachment (613127).
Environment:
- Windows 10 x64,
- IPSXE 2017 Update 5,
- MSVC 2017 15.3.3,
- Windows SDK 10.0.15063.468,
- Qt-5.10-dev (4ad6292028fde7cba698b9c1f7d7d080772d6cd2).
Best,
Alexander
- Tags:
- CC++
- Development Tools
- Intel® C++ Compiler
- Intel® Parallel Studio XE
- Intel® System Studio
- Optimization
- Parallel Computing
- Vectorization
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry for the delay. I have submitted this into our internal bugs database as cmplrs-48741.
Thanks for creating a nice small reproducer!
Judy
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As another possible ICC issue, related to PCH use, can be considered precompilation of testcase from Description using ICC and MSVC:
icl -c -Yc -Fptest_icc_pch.pch -Fotest_icc_pch.obj -Tp test.cpp Intel(R) C++ Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.1.156 Build 20171018 Copyright (C) 1985-2017 Intel Corporation. All rights reserved. test.cpp test.cpp(2): warning #2728: could not create precompiled header file struct __declspec(dllexport) SelectionContext ^ <snip> cl -c -Yc -Fptest_msvc_pch.pch -Fotest_msvc_pch.obj -Tp test.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25830.2 for x64 Copyright (C) Microsoft Corporation. All rights reserved. test.cpp <snip> dir /B test* test.cpp test_icc_pch.obj test_msvc_pch.obj test_msvc_pch.pch
Found no evidence, that it occur during build of notable OSS projects. But still odd, that ICC failed to produce '.pchi' file from test case, while MSVC built it successfully.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Updated description and signed out attached test case. Thereafter can it be registered on Inter bugtracker? Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry for the delay. I have submitted this into our internal bugs database as cmplrs-48741.
Thanks for creating a nice small reproducer!
Judy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, Judy.
What about error, mentioned in Post #2? Is it expected behavior, or it was registered in that ticket too?
Best,
Alexander
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there already progress on this issue? I'm affected by the same problem with the current latest ICC 18.0.2.185.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
sav wrote:Thanks, Judy.
What about error, mentioned in Post #2? Is it expected behavior, or it was registered in that ticket too?
Best,
Alexander
Concerning post #2, the command line option Fpfoo.pch requests that the precompiled header file be created in a file suffixed with .pch, but Intel precompiled header files have a different format than the Microsoft precompiled header files. Microsoft names their files .pch and Intel uses .pchi to avoid confusion and error.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page