------- Comment #9 from burnus at gcc dot gnu dot org 2008-10-18 10:20 ------- (In reply to comment #8) > ifort returns "2 2" and g95 "2 1". As far as I understand the scalarization > of elemental procedures, I think g95 is right.
sunf95, openf95, NAG f95 and pathscale's pathf95 also return 2 1; Portland group's pgf95 has "2 2". I think we need an array temporary if an a variable appears twice in an argument list, if one of these arguments has an array section (except for whole-array sections "(:)"). Special care might be necessary: Pointers as actual argument and elemental functions of the type array = func(array(section)), I'm not sure and need to re-read the standard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35681