Index: third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
index f84f60a73015a2f1e7954cccdc986bd5de32c268..8c0e89c0c271693f96d177d978b39bf448148a72 100644 |
--- a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
+++ b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/union_declaration.tmpl |
@@ -32,14 +32,10 @@ class {{class_name}} { |
// a struct." - Section 9.5.2 ISO/IEC 14882:2011 (The C++ Spec) |
union MOJO_ALIGNAS(8) Union_ { |
{%- for field in union.fields %} |
-{%- if field.kind|is_object_kind %} |
- uint64_t f_{{field.name}}; |
-{%- elif field.kind.spec == 'b' %} |
+{%- if field.kind.spec == 'b' %} |
uint8_t f_{{field.name}} : 1; |
-{%- elif field.kind|is_enum_kind %} |
- int32_t f_{{field.name}}; |
{%- else %} |
- {{field.kind|cpp_pod_type}} f_{{field.name}}; |
+ {{field.kind|cpp_union_field_type}} f_{{field.name}}; |
{%- endif %} |
{%- endfor %} |
uint64_t unknown; |