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