From 3e4403a4c4affc7ba55f69136e74c25a0a74d84e Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 30 Oct 2013 13:30:10 -0400 Subject: [PATCH] * decl.c (cp_finish_decl): Never throw for VLA bound == 0. From-SVN: r204218 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/decl.c | 6 +----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0d329b5a928..da1d7f945cf 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2013-10-30 Jason Merrill + + * decl.c (cp_finish_decl): Never throw for VLA bound == 0. + 2013-10-29 David Malcolm Patch autogenerated by refactor_symtab.py from diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 1e92f2af85e..476d5594156 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -6404,11 +6404,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p, /* If the VLA bound is larger than half the address space, or less than zero, throw std::bad_array_length. */ tree max = convert (ssizetype, TYPE_MAX_VALUE (TYPE_DOMAIN (type))); - /* C++1y says we should throw for length <= 0, but we have - historically supported zero-length arrays. Let's treat that as an - extension to be disabled by -std=c++NN. */ - int lower = flag_iso ? 0 : -1; - tree comp = build2 (LT_EXPR, boolean_type_node, max, ssize_int (lower)); + tree comp = build2 (LT_EXPR, boolean_type_node, max, ssize_int (-1)); comp = build3 (COND_EXPR, void_type_node, comp, throw_bad_array_length (), void_zero_node); finish_expr_stmt (comp); -- 2.30.2