Index: mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl |
index d9a398a193c2d4d4f8518444663c97e9ddd02ec0..b4b4df825bcd6385b1f16d74edf82dc3b4397fbd 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl |
@@ -50,15 +50,17 @@ class {{union.name}}_Data; |
#pragma pack(push, 1) |
+{#--- Unions must be declared first because they can be members of structs #} |
+{#--- Union class declarations #} |
+{% for union in unions %} |
+{% include "union_declaration.tmpl" %} |
+{%- endfor %} |
+ |
{#--- Class declarations #} |
{% for struct in structs %} |
{% include "struct_declaration.tmpl" %} |
{%- endfor %} |
-{% for union in unions %} |
-{% include "union_declaration.tmpl" %} |
-{%- endfor %} |
- |
#pragma pack(pop) |
} // namespace internal |