Open Quuxplusone opened 5 years ago
Bugzilla Link | PR41394 |
Status | NEW |
Importance | P enhancement |
Reported by | Allan Sandfeld Jensen (linux@carewolf.com) |
Reported on | 2019-04-05 07:35:36 -0700 |
Last modified on | 2019-05-08 03:25:49 -0700 |
Version | 8.0 |
Hardware | PC Linux |
CC | erich.keane@intel.com, hans@chromium.org, llvm-bugs@lists.llvm.org, michael.p.rice@intel.com, neeilans@live.com, richard-llvm@metafoo.co.uk, rnk@google.com |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
The errors at link time are stuff like:
lld-link: error: undefined symbol: "public: wchar_t & __cdecl
std::basic_string<wchar_t, struct std::char_traits<wchar_t>, class
std::allocator<wchar_t>>::front(void)"
(?front@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEA_WXZ)
>>> referenced by .pch\release\Qt5Core_pch.obj
You can see how we tried working around the issue in https://codereview.qt-
project.org/#/c/257991/
We also found that cl.exe was a lot more "magical" in finding the header in -FI
than clang-cl.exe (could handle -FIqt_pch.h when clang-cl required -
FI../corelib/global/qt_pch.h). But I really don't expect the compiler to find
headers in an unmentioned grand-nephew directory. No idea how cl.exe does that
(or if it fails silently)
I timed out trying to analyze this.
I think we need a better reproducer to make progress on this.
It sounds like Allan already tried to come up with a small example.
Is it possible to find a large example, but somehow package it up in a self contained way so we can look at it?