[PATCH] Fix PR48431

Richard Guenther rguenther@suse.de
Tue Apr 5 12:11:00 GMT 2011


Committed.

Richard.

2011-04-05  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/48431
	* lto-plugin.c (claim_file_handler): Do not declare vars in code.

Index: lto-plugin/lto-plugin.c
===================================================================
*** lto-plugin/lto-plugin.c	(revision 171978)
--- lto-plugin/lto-plugin.c	(working copy)
*************** claim_file_handler (const struct ld_plug
*** 851,861 ****
        /* We pass the offset of the actual file, not the archive header.
           Can't use PRIx64, because that's C99, so we have to print the
  	 64-bit hex int as two 32-bit ones. */
!       int lo, hi;
        lo = file->offset & 0xffffffff;
        hi = ((int64_t)file->offset >> 32) & 0xffffffff;
!       int t = hi ? asprintf (&objname, "%s@0x%x%08x", file->name, lo, hi)
! 		: asprintf (&objname, "%s@0x%x", file->name, lo);
        check (t >= 0, LDPL_FATAL, "asprintf failed");
        lto_file.name = objname;
      }
--- 851,861 ----
        /* We pass the offset of the actual file, not the archive header.
           Can't use PRIx64, because that's C99, so we have to print the
  	 64-bit hex int as two 32-bit ones. */
!       int lo, hi, t;
        lo = file->offset & 0xffffffff;
        hi = ((int64_t)file->offset >> 32) & 0xffffffff;
!       t = hi ? asprintf (&objname, "%s@0x%x%08x", file->name, lo, hi)
! 	     : asprintf (&objname, "%s@0x%x", file->name, lo);
        check (t >= 0, LDPL_FATAL, "asprintf failed");
        lto_file.name = objname;
      }



More information about the Gcc-patches mailing list