Merge "tp: move ColumnStorage creation to initializer instead of body"
diff --git a/src/trace_processor/tables/macros_internal.h b/src/trace_processor/tables/macros_internal.h
index 8454a55..00b375d 100644
--- a/src/trace_processor/tables/macros_internal.h
+++ b/src/trace_processor/tables/macros_internal.h
@@ -402,9 +402,9 @@
       PERFETTO_TP_PARENT_COLUMN_FLAG_NO_FLAG_COL)(__VA_ARGS__))
 
 // Creates the sparse vector with the given flags.
-#define PERFETTO_TP_TABLE_CONSTRUCTOR_SV(type, name, ...)          \
-  name##_ = ColumnStorage<TypedColumn<type>::stored_type>::Create< \
-      (name##_flags() & Column::Flag::kDense) != 0>();
+#define PERFETTO_TP_TABLE_CONSTRUCTOR_SV(type, name, ...)        \
+  name##_(ColumnStorage<TypedColumn<type>::stored_type>::Create< \
+          (name##_flags() & Column::Flag::kDense) != 0>()),
 
 // Invokes the chosen column constructor by passing the given args.
 #define PERFETTO_TP_TABLE_CONSTRUCTOR_COLUMN(type, name, ...)   \
@@ -755,20 +755,15 @@
     };                                                                        \
                                                                               \
     class_name(StringPool* pool, parent_class_name* parent)                   \
-        : macros_internal::MacroTable(pool, parent), parent_(parent) {        \
+        : macros_internal::MacroTable(pool, parent),                          \
+          PERFETTO_TP_TABLE_COLUMNS(DEF, PERFETTO_TP_TABLE_CONSTRUCTOR_SV)    \
+              parent_(parent) {                                               \
       PERFETTO_CHECK(kIsRootTable == (parent == nullptr));                    \
                                                                               \
       PERFETTO_TP_ALL_COLUMNS(DEF, PERFETTO_TP_TABLE_STATIC_ASSERT_FLAG)      \
                                                                               \
       /*                                                                      \
        * Expands to                                                           \
-       * col1_ = NullableVector<col1_type>(mode)                              \
-       * ...                                                                  \
-       */                                                                     \
-      PERFETTO_TP_TABLE_COLUMNS(DEF, PERFETTO_TP_TABLE_CONSTRUCTOR_SV);       \
-                                                                              \
-      /*                                                                      \
-       * Expands to                                                           \
        * columns_.emplace_back("col1", col1_, Column::kNoFlag, this,          \
        *                       static_cast<uint32_t>(columns_.size()),        \
        *                       static_cast<uint32_t>(row_maps_.size()) - 1);  \
@@ -934,14 +929,14 @@
       PERFETTO_TP_TABLE_COLUMNS(DEF, PERFETTO_TP_TABLE_CONSTRUCTOR_COLUMN);   \
     }                                                                         \
                                                                               \
-    parent_class_name* parent_ = nullptr;                                     \
-                                                                              \
     /*                                                                        \
      * Expands to                                                             \
      * NullableVector<col1_type> col1_;                                       \
      * ...                                                                    \
      */                                                                       \
     PERFETTO_TP_TABLE_COLUMNS(DEF, PERFETTO_TP_TABLE_MEMBER)                  \
+                                                                              \
+    parent_class_name* parent_ = nullptr;                                     \
   }
 
 }  // namespace trace_processor