http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50352

             Bug #: 50352
           Summary: [4.7 regression] arm-linux-gnueabi bootstrap failure
                    due to -Wformat error in arm.md
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: mi...@it.uu.se


Attempting to bootstrap gcc-4.7-20110910 natively on armv5tel-linux-gnueabi
fails with:

/bin/sh /mnt/scratch/gcc-4.7-20110910/gcc/../move-if-change tmp-output.c
insn-output.c
echo timestamp > s-output
/mnt/scratch/objdir47/./prev-gcc/xgcc -B/mnt/scratch/objdir47/./prev-gcc/
-B/mnt/scratch/install47/armv5tel-brewer-linux-gnueabi/bin/
-B/mnt/scratch/install47/armv5tel-brewer-linux-gnueabi/bin/
-B/mnt/scratch/install47/armv5tel-brewer-linux-gnueabi/lib/ -isystem
/mnt/scratch/install47/armv5tel-brewer-linux-gnueabi/include -isystem
/mnt/scratch/install47/armv5tel-brewer-linux-gnueabi/sys-include    -c   -g -O2
-gtoggle -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -Werror -Wold-style-definition
-Wc++-compat   -DHAVE_CONFIG_H -I. -I. -I/mnt/scratch/gcc-4.7-20110910/gcc
-I/mnt/scratch/gcc-4.7-20110910/gcc/.
-I/mnt/scratch/gcc-4.7-20110910/gcc/../include
-I/mnt/scratch/gcc-4.7-20110910/gcc/../libcpp/include
-I/home/mikpe/pkgs/linux-armv5l/gmp-4.3.2/include
-I/home/mikpe/pkgs/linux-armv5l/mpfr-2.4.2/include
-I/home/mikpe/pkgs/linux-armv5l/mpc-0.8.2/include 
-I/mnt/scratch/gcc-4.7-20110910/gcc/../libdecnumber
-I/mnt/scratch/gcc-4.7-20110910/gcc/../libdecnumber/dpd -I../libdecnumber   
insn-output.c -o insn-output.o
/mnt/scratch/gcc-4.7-20110910/gcc/config/arm/arm.md: In function 'output_319':
/mnt/scratch/gcc-4.7-20110910/gcc/config/arm/arm.md:10636:5: error: unknown
conversion type character '(' in format [-Werror=format]
/mnt/scratch/gcc-4.7-20110910/gcc/config/arm/arm.md:10636:5: error: unknown
conversion type character ')' in format [-Werror=format]
cc1: all warnings being treated as errors

make[3]: *** [insn-output.o] Error 1
make[3]: Leaving directory `/mnt/scratch/objdir47/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/mnt/scratch/objdir47'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/mnt/scratch/objdir47'
make: *** [bootstrap] Error 2

gcc-4.7-20110903 bootstrapped fine.

This is most likely caused by r178700, which did the following to arm.md:

@@ -10631,7 +10633,7 @@
   {
     char pattern[100];

-    sprintf (pattern, \"sfmfd\\t%%1, %d, [%%m0]!\", XVECLEN (operands[2], 0));
+    sprintf (pattern, \"sfm%(fd%)\\t%%1, %d, [%%m0]!\", XVECLEN (operands[2],
0));
     output_asm_insn (pattern, operands);
     return \"\";
   }"

I have no idea what %( and %) are supposed to do wrt sprintf, and apparently
neither does gcc-4.7.  I'm currently attempting to bootstrap with r178700
reverted.

Reply via email to