------- Comment #3 from burnus at gcc dot gnu dot org 2010-08-17 17:06 ------- (In reply to comment #2) > Note that the -O option changes the original tree dump. > I thought it only impacted later dumps.
OK, with -O I also only get (MEM[(c_char * {ref-all})&b] = MEM[(c_char * {ref-all})"abcd"];, (void *) &b;); __builtin_memmove ((void *) &a, (void *) &b, 3); __builtin_memmove ((void *) &c, (void *) &a, 3); Though, it does not explain the failures which I saw: FAIL: gfortran.dg/trim_optimize_1.f90 -O0 scan-tree-dump-times original "memmove" 2 FAIL: gfortran.dg/trim_optimize_1.f90 -O0 scan-tree-dump-times original "string_trim" 0 (Ditto for "-O1" etc., but the "-O" in dg-options overrides the -O... options from dg.exp thus one runs the program 8 times with the same options.) However, currently, make check-gfortran RUNTESTFLAGS='dg.exp=trim_optimize_1.f90 shows no failures. Thus, I close it as INVALID. Hopefully, it will continue to work. Mikael, thanks for the analysis! -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45309