On Thu, Nov 3, 2016 at 3:11 PM, Bin Cheng <bin.ch...@arm.com> wrote: > Hi, > According to analysis given by > https://gcc.gnu.org/ml/gcc/2016-10/msg00228.html, calls to > pedantic_non_lvalue_loc and code handling lvalue in > fold_cond_expr_with_comparison are useless now. Given this is complicated > legacy code, it may be better to change code step by step, rather than doing > this cleanup together with moving simplification from > fold_cond_expr_with_comparison to match.pd. > BTW, after last cleanup of pedantic_lvalues, function pedantic_non_lvalue_loc > now has nothing to do with lvalue. It could be further cleaned up, or at > least renamed into something else. This patch doesn't do that because that > depends on the answer to the question of the aforementioned message. > > Bootstrap and test on x86_64 and AArch64. Any comments?
Ok. Note removal of [pedantic_]non_lvalue can at most result in accepting invalid code where we might not have any testsuite coverage. For the 2nd case with /* Avoid adding NOP_EXPRs in case this is an lvalue. */ and C++ lvalue ?: I'm not sure we have testsuite coverage given Jason failed to add a testcase when adding the code in r34416. Thanks, Richard. > Thanks, > bin > > 2016-10-27 Bin Cheng <bin.ch...@arm.com> > > * fold-const.c (fold_cond_expr_with_comparison): Remove call > to pedantic_non_lvalue_loc. Remove useless code for lvalue > where cond_expr can't be a lvalue.