The attached patch fixes an ICE that occurs in arith.c(gfc_arith_concat) because op1 and op2 have incompatible typespecs. The fix is actually implemented in array.c(gfc_match_array_constructor) where the types of the elements in a constructor are compared to the typespec that was specified in the constructor. See testcase for examples. Built and regression tested on x86_64-*-freebsd. OK to commit?
2015-11-13 Steven G. Kargl <ka...@gcc.gnu.org> PR fortran/67803 * array.c (gfc_match_array_constructor): If array constructor included a CHARACTER typespec, check array elements for compatible type. 2015-11-13 Steven G. Kargl <ka...@gcc.gnu.org> PR fortran/67803 * gfortran.dg/pr67803.f90: New test. -- Steve