================
Comment at: lib/CodeGen/CGException.cpp:1363-1364
@@ +1362,4 @@
+    ConstStmtVisitor<CaptureFinder>::Visit(S);
+    for (Stmt::const_child_range CI = S->children(); CI; ++CI)
+      Visit(*CI);
+  }
----------------
majnemer wrote:
> Range-based for?
Hm, yeah, copy-pasta.

================
Comment at: lib/CodeGen/CGException.cpp:1409-1412
@@ +1408,6 @@
+    }
+    if (VD->getType()->isVariablyModifiedType()) {
+      CGM.ErrorUnsupported(VD, "VLA captured by SEH");
+      continue;
+    }
+
----------------
majnemer wrote:
> Why is this forbidden? Can't we just capture the address of the VLA?
Filter outlining uses frameescape / framerecover to get access to the locals of 
the parent funciton. llvm.frameescape only supports static allocas. We would 
have to create a static alloca which contains the address of the VLA and then 
escape that, which is a pretty invasive change. It seemed better to punt on 
that for now and keep the patch smaller.

http://reviews.llvm.org/D8825

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to