On 03/24/2011 09:15 AM, Nathan Froyd wrote:
The C++-specific bits of these patches:

   [PATCH 02/18] enforce TREE_CHAIN and TREE_TYPE accesses
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00557.html

OK.

   [PATCH 07/18] generalize build_case_label to the rest of the compiler
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00557.html

+  tree t = make_node (CASE_LABEL_EXPR);
+
+  TREE_TYPE (t) = void_type_node;
+  SET_EXPR_LOCATION (t, input_location);

As jsm and richi said, using input_location like this is a regression. Can we use DECL_SOURCE_LOCATION (label_decl) instead?

   [PATCH 08/18] convert cp *FOR_STMTs to use private scope fields
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00553.html
   [PATCH 09/18] convert cp IF_STMTs to use private scope fields
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00562.html
   [PATCH 10/18] convert cp SWITCH_STMTs to use private scope fields
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00552.html

OK.

   [PATCH 11/18] mark EXPR_PACK_EXPANSION as typed only
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00563.html

It looks like you need to add EXPR_PACK_EXPANSION cases to value_dependent_expression_p and cp_tree_equal. Maybe split out the code from write_expression that overrides TREE_OPERAND_LENGTH in some cases and use that new function instead of TREE_OPERAND_LENGTH in these places.

   [PATCH 17/18] introduce block_chainon and use BLOCK_CHAIN more
   http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00566.html

OK.

Alternatively, could we have a GWP or similar rule on Tom's suggestion:

http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00620.html

that patches propagating middle-end changes to front-ends are
obvious/preapproved, perhaps after a 24-48 hour waiting period for
comments?  That would cover 02 and 07 above (possibly 17 as well); 02 is
blocking some of the already-approved middle-end changes later in the
series.

That makes sense to me, but I'd give it a week.

Jason

Reply via email to