aboutsummaryrefslogtreecommitdiff
path: root/generate_ndk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'generate_ndk.cpp')
-rw-r--r--generate_ndk.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/generate_ndk.cpp b/generate_ndk.cpp
index c87c5c63..ca8d66cc 100644
--- a/generate_ndk.cpp
+++ b/generate_ndk.cpp
@@ -1046,6 +1046,13 @@ void GenerateParcelHeader(CodeWriter& out, const AidlTypenames& types,
}
if (variable->GetDefaultValue()) {
out << " = " << variable->ValueString(ConstantValueDecorator);
+ } else if (auto type = variable->GetType().GetDefinedType(); type) {
+ if (auto enum_type = type->AsEnumDeclaration(); enum_type) {
+ if (!variable->GetType().IsArray()) {
+ // if an enum doesn't have explicit default value, do zero-initialization
+ out << " = " << NdkNameOf(types, variable->GetType(), StorageMode::STACK) << "(0)";
+ }
+ }
}
out << ";\n";
}