RFR: 8311064: Windows builds fail without precompiled headers after JDK-8310728
David Holmes
dholmes at openjdk.org
Thu Jun 29 08:01:07 UTC 2023
On Wed, 28 Jun 2023 21:13:50 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:
> Please review this change to fix Windows build without precompiled headers.
>
> After JDK-8310728:
>> the compiler enforces the C++11 requirement that all functions declared inline must have a definition available in the same translation unit if they're used
>
> When precompiled headers are used, more headers are automatically included, which allowed the build to pass without this change.
>
> This PR adds 2 includes and un-inlines `PlatformMutex` destructor, which was needed by 3 files and not easily exposed.
>
> Windows build passes with this change, both with and without precompiled headers. Full tier1-5 build in progress.
This error:
zPhysicalMemory.obj : error LNK2001: unresolved external symbol "public: __cdecl ZListNode<class ZMemory>::~ZListNode<class ZMemory>(void)" (??1?$[ZListNode at VZMemory](mailto:ZListNode at VZMemory)@@@@[QEAA at XZ](mailto:QEAA at XZ))
certainly suggests to me that zPhysicalMemory.cpp needs the ZListNode header file.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14701#issuecomment-1612587682
More information about the hotspot-dev
mailing list