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