On 09/25/2013 08:41 AM, Marek Polacek wrote:
+  /* Do the instrumentation of VLAs if desired.  */
+  if ((flag_sanitize & SANITIZE_VLA)
+      && size && !TREE_CONSTANT (size)
+      /* From C++1y onwards, we throw an exception on a negative length size
+         of an array.  */
+      && cxx_dialect < cxx1y)

This code is in a completely different place from the C++1y code in cp_finish_decl; they should be in the same place. I'm also concerned that doing it here will mean adding sanitization code to template definitions, but I think we want to wait to add it until instantiation time.

+      /* Prevent bogus set-but-not-used warnings: we're definitely using
+         the variable.  */
+      if (VAR_P (size))
+        DECL_READ_P (size) = 1;

Use mark_rvalue_use for this.

Jason

Reply via email to