------- Additional Comments From fengwang at gcc dot gnu dot org 2005-07-14 02:49 ------- I think we have to consider character arrays. See:
character*2 a (1) character*4 b character*6 c parameter (a="12") parameter (b = a(1)) write (c,'("#",A,"#")') b if (c .ne. '#12 #') call abort end Or: character*2 a (1) character*4 b (1) character*6 c parameter (a="12") parameter (b = a) write (c,'("#",A,"#")') b if (c .ne. '#12 #') call abort end gfortran report an Internal Error. IMHO, your patch only handles the scalar character and is not entire, though a different bug is revealed by the above examples. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21730