Fix check for empty statement list. We do some sanity checks before starting to write a PPH image. The check was inconsistent: for the VEC scope_chain->x_stmt_tree.x_cur_stmt_list we were asserting that it was NULL *and* empty.
We just need it to be empty. It doesn't matter if it was allocated. 2012-03-25 Diego Novillo <dnovi...@google.com> * pph-out.c (pph_out_global_binding_keys): Fix check for empty statement list. --- gcc/cp/ChangeLog.pph | 5 +++++ gcc/cp/pph-out.c | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/cp/ChangeLog.pph b/gcc/cp/ChangeLog.pph index 1cf90b4..f5b8281 100644 --- a/gcc/cp/ChangeLog.pph +++ b/gcc/cp/ChangeLog.pph @@ -1,5 +1,10 @@ 2012-03-25 Diego Novillo <dnovi...@google.com> + * pph-out.c (pph_out_global_binding_keys): Fix check for empty + statement list. + +2012-03-25 Diego Novillo <dnovi...@google.com> + * mangle.c (write_expression): Handle TRAIT_EXPR when PPH is enabled. (write_template_arg_literal): Handle CONST_DECLs that do not have a constant DECL_INITIAL when PPH is enabled. diff --git a/gcc/cp/pph-out.c b/gcc/cp/pph-out.c index 7ba4ee6..1efac6b 100644 --- a/gcc/cp/pph-out.c +++ b/gcc/cp/pph-out.c @@ -2604,8 +2604,7 @@ pph_out_global_binding_keys (pph_stream *stream) || scope_chain->x_processing_template_decl || scope_chain->x_processing_specialization || scope_chain->x_processing_explicit_instantiation - || scope_chain->need_pop_function_context - || scope_chain->x_stmt_tree.x_cur_stmt_list) + || scope_chain->need_pop_function_context) && VEC_empty (tree, scope_chain->x_stmt_tree.x_cur_stmt_list)); /* We need to write a record for BL before emitting the merge keys -- 1.7.7.3 -- This patch is available for review at http://codereview.appspot.com/5905065