Fix std::unique_ptr error with incomplete CommonFeatureGroup
After upgrading libc++, Clang fails to compile DumpManifest.cpp.
prebuilts/clang/host/linux-x86/clang-r498229/include/c++/v1/__memory/unique_ptr.h:63:19: error: invalid application of 'sizeof' to an incomplete type 'aapt::CommonFeatureGroup'
static_assert(sizeof(_Tp) >= 0, "cannot delete an incomplete type");
^~~~~~~~~~~
Fix the problem by deferring the instantiation of ~unique_ptr, by
making the ManifestExtractor constructor out-of-line and moving it and
the initialization of commonFeatureGroup_ to a point after
CommonFeatureGroup has been defined.
Bug: b/175635923
Test: treehugger
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:42d2e51bf78bec72031e5f7a70422851b302d1f4)
Merged-In: I9ab51f29724fded24773344aa36763ffeea02d00
Change-Id: I9ab51f29724fded24773344aa36763ffeea02d00
Loading
Please register or sign in to comment