On Fri, Nov 4, 2016 at 4:40 AM, Richard Biener <richard.guent...@gmail.com> wrote: > 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.
Now that we're delaying folding in C++, it shouldn't matter whether fold is lvalue-safe. Jason