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
1 file changed