diff options
author | 2024-04-15 01:12:53 -0700 | |
---|---|---|
committer | 2024-04-15 23:46:28 +0000 | |
commit | 073051281c2cc2020dfe15bc5b92115679dffcc5 (patch) | |
tree | c09adcf67e02436700c56b1bf0c320543083dd72 /compiler/linker/linker_patch.h | |
parent | 03ffba55522e3e58e9ed7b4ef1e73ded53eef0fd (diff) |
Declare OatWriter::BssMappingInfo sooner
After upgrading libc++ and switching to C++20, there are build errors
complaining that BssMappingInfo is an incomplete type:
error: arithmetic on a pointer to an incomplete type 'art::linker::OatWriter::BssMappingInfo'
error: invalid application of 'sizeof' to an incomplete type 'art::linker::OatWriter::BssMappingInfo'
The OatWriter constructor needs a complete definition of BssMappingInfo
because it calls ~vector for this field:
std::vector<BssMappingInfo> bcp_bss_info_;
The vector constructors and destructor become constexpr in C++20, which
may be the cause.
Move the class definition to the top of the file, consistent with where
other OatWriter member classes are defined
(i.e. ChecksumUpdatingOutputStream through OatDexFile).
Bug: 311052584
Test: atest art_standalone_dex2oat_tests
Change-Id: I808cf58a190598d4440294079f8d9e2997e4c8c2
Diffstat (limited to 'compiler/linker/linker_patch.h')
0 files changed, 0 insertions, 0 deletions