https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65457
--- Comment #2 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- When I look at tree.h:3346, I do not understand why the operand check failed. From the message it appears that __i==2 and TREE_OPERAND_LENGTH (__u)==4: inline tree * tree_operand_check (tree __t, int __i, const char *__f, int __l, const char *__g) { const_tree __u = EXPR_CHECK (__t); if (__i < 0 || __i >= TREE_OPERAND_LENGTH (__u)) tree_operand_check_failed (__i, __u, __f, __l, __g); return &CONST_CAST_TREE (__u)->exp.operands[__i]; } Could it be, that this is not a fortran bug but a C++ compiler bug?