diff options
Diffstat (limited to 'generate_ndk.cpp')
-rw-r--r-- | generate_ndk.cpp | 7 |
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"; } |