On 11/10/2011 03:10 PM, Jason Merrill wrote:
On 11/10/2011 02:48 PM, Jonathan Wakely wrote:
+warn_missing_meminits (tree type, tree cons)
+{
+ tree mem_inits = sort_mem_initializers (type, NULL_TREE);
+ while (mem_inits)
+ {
+ tree member = TREE_PURPOSE (mem_inits);
+ /* TODO do not warn if brace-or-equal-initializer */
+ warn_meminit_leaves_uninitialized (member, TREE_TYPE (member), cons);
+ mem_inits = TREE_CHAIN (mem_inits);
+ }
+}

Check DECL_INITIAL (member) to tell if it has an NSDMI.

Actually, why not just use default_init_uninitialized_part (type)?

+  if (warn_meminit && (kind == sfk_constructor || kind == sfk_copy_constructor
+        || kind == sfk_move_constructor))
+    warn_missing_meminits (current_class_type, fn);

We only want to do this for sfk_constructor; the others initialize all fields.

Jason

Reply via email to