Dear Fortranners, this one was really bugging me for quite some time. We failed to properly handle (= simplify) expressions using array constructors with typespec, and with parentheses and unary '+' and '-' sprinkled here and there. When there was no typespec, there was no related problem. The underlying issue apparently was that we should simplify elements of the array constructor before attempting the type conversion. Thanks to Gerhard, who insisted by submitted many related PRs. Regtested on x86_64-pc-linux-gnu. OK for mainline? Thanks, Harald