Switch to C++20
Prepare for using std::array<> and std::span<> in headers included from
this library. Remove the AFont constructors to prevent that the build
fails as follows:
frameworks/base/native/android/system_fonts.cpp:265:35: error: no matching member function for call to 'insert'
fonts.insert(
~~~~~~^~~~~~
Removing these constructors is necessary because of the following rule:
"An aggregate is one of the following types [...] class type (struct or
union) that has [...] no user-declared or inherited constructors (since
C++20)". Source:
https://en.cppreference.com/w/cpp/language/aggregate_initialization.
Bug: 260725458
Change-Id: I384d05f5d3e471f8f58294119d04eb8ab16697ba
Signed-off-by: Bart Van Assche <bvanassche@google.com>
diff --git a/native/android/Android.bp b/native/android/Android.bp
index 8594ba5..f1b1d79 100644
--- a/native/android/Android.bp
+++ b/native/android/Android.bp
@@ -34,6 +34,7 @@
cc_defaults {
name: "libandroid_defaults",
+ cpp_std: "gnu++20",
cflags: [
"-Wall",
"-Werror",