Hi, this patch fixes problem with missing dump files with -flto and vectorizer and also silence error in gcc.dg/20081223-1.c testcase. We ought to error these even w/o -ffat-lto-objects, I will look into it ASAP. We need to move these errors from varasm/wrapup into symtab finalization that is obviously correct thing to do once we are fully unit-at-a-time but it may contain surprises (from my past experiences).
Regtested ppc64-linux * gcc.dg/20081223-1.c: Add -ffat-lto-objects. * gcc.dg/vect/vect.exp: Add -ffat-lto-objects. Index: gcc.dg/20081223-1.c =================================================================== --- gcc.dg/20081223-1.c (revision 205132) +++ gcc.dg/20081223-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-flto" { target lto } } */ +/* { dg-options "-flto -ffat-lto-objects" { target lto } } */ typedef struct foo_ foo_t; foo_t bar; /* { dg-error "storage size of 'bar' isn't known" } */ Index: gcc.dg/vect/vect.exp =================================================================== --- gcc.dg/vect/vect.exp (revision 205132) +++ gcc.dg/vect/vect.exp (working copy) @@ -76,7 +76,7 @@ lappend VECT_SLP_CFLAGS "-fdump-tree-slp # Main loop. set VECT_ADDITIONAL_FLAGS [list ""] if { [check_effective_target_lto] } { - lappend VECT_ADDITIONAL_FLAGS "-flto" + lappend VECT_ADDITIONAL_FLAGS "-flto -ffat-lto-objects" } foreach flags $VECT_ADDITIONAL_FLAGS { dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/pr*.\[cS\]]] \