http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56895



--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-09 
18:15:51 UTC ---

So:

@@ -4178,7 +4178,8 @@ cp_build_binary_op (location_t location,

         }

       else if (code0 == INTEGER_TYPE && code1 == INTEGER_TYPE)

         {

-          tree const_op1 = maybe_constant_value (op1);

+          tree const_op1 = fold_non_dependent_expr_sfinae (op1, tf_none);

+          const_op1 = maybe_constant_value (const_op1);

           if (TREE_CODE (const_op1) != INTEGER_CST)

             const_op1 = op1;

           result_type = type0;



?  Seems to work on this testcase.

Reply via email to