Dear all, as reported, the Fortran standard requires all actual argument expressions to be evaluated (e.g. F2018:15.5.3). There were two cases for intrinsic MERGE where we failed to do so: - non-constant mask; Steve provided the patch - constant scalar mask; we need to be careful to simplify only if the argument on the "other" path is known to be constant so that it does not have side-effects and can be immediately removed. The latter change needed a correction of a sub-test of testcase merge_init_expr_2.f90, which should not have been simplified the way the original author assumed. I decided to modify the test in such way that simplification is valid and provides the expect pattern. Regtested on x86_64-pc-linux-gnu. OK for mainline? Thanks, Harald