------- Comment #7 from jason at gcc dot gnu dot org 2008-02-13 18:14 ------- The problem is that value_dependent_expression_p expects to only be called with constant-expression arguments, but a VLA leads to calling it with a non-constant expression argument, and we abort when we notice a cast to a non-arithmetic type, which must not appear in a constant-expression.
Either value_dependent_expression_p needs to handle arbitrary VLA bounds, or we need to avoid calling it if the array bound is not a constant-expression. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28879