Thank you for the bug report. I've confirmed this with gcc-linaro-4.6-2011.12 on ARM:
michaelh@ursa3:~/linaro/bugs$ /tools/toolchains/arch/armv7l/gcc-linaro-4.6-2011.12-armv7l-natty-cbuild21
2-tcpanda03-cortexa9r1/bin/gcc -c -g -O2 TextDiagnosticPrinter2.ii
TextDiagnosticPrinter2.ii: In member function 'void clang::TextDiagnosticPrinter::EmitCaretDiagnostic(clang::SourceLocation, clang::CharSourceRange*, unsigned int, const clang::SourceManager&, const clang::FixItHint*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)':
TextDiagnosticPrinter2.ii:29848:1: error: unable to find a register to spill in class 'LO_REGS'
TextDiagnosticPrinter2.ii:29848:1: error: this is the insn:
(insn 137 150 138 3 (parallel [
(set (reg/v:SI 208 [ Suppressed ]) (and:SI (ltu:SI (reg/v:SI 1356 [ OnMacroInst ]) (reg/v:SI 1358 [ MacroSkipEnd ])) (geu:SI (reg/v:SI 1356 [ OnMacroInst ]) (reg/v:SI 1357 [ MacroSkipStart ])))) (clobber (reg:CC 24 cc))
]) TextDiagnosticPrinter2.ii:29667 282 {*and_scc_scc_nodom}
(expr_list:REG_UNUSED (reg:CC 24 cc)
(nil)))
TextDiagnosticPrinter2.ii:29848: confused by earlier errors, bailing out
The work-around is to compile at -O1. The fault does not exist in gcc-4.5.3, gcc-4.6.2, or gcc-4.7~svn182152. The fault was introduced in the 2011.09 release.
I've set it to medium priority as it is a ftbfs and a work-around exists.
Thank you for the bug report. I've confirmed this with gcc-linaro- 4.6-2011. 12 on ARM:
michaelh@ ursa3:~ /linaro/ bugs$ /tools/ toolchains/ arch/armv7l/ gcc-linaro- 4.6-2011. 12-armv7l- natty-cbuild21 cortexa9r1/ bin/gcc -c -g -O2 TextDiagnosticP rinter2. ii rinter2. ii: In member function 'void clang:: TextDiagnosticP rinter: :EmitCaretDiagn ostic(clang: :SourceLocation , clang:: CharSourceRange *, unsigned int, const clang:: SourceManager& , const clang::FixItHint*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)': rinter2. ii:29848: 1: error: unable to find a register to spill in class 'LO_REGS' rinter2. ii:29848: 1: error: this is the insn:
(and: SI (ltu:SI (reg/v:SI 1356 [ OnMacroInst ])
(reg/ v:SI 1358 [ MacroSkipEnd ]))
( geu:SI (reg/v:SI 1356 [ OnMacroInst ])
(reg/ v:SI 1357 [ MacroSkipStart ]))))
(clobber (reg:CC 24 cc)) rinter2. ii:29667 282 {*and_scc_ scc_nodom} list:REG_ UNUSED (reg:CC 24 cc) rinter2. ii:29848: confused by earlier errors, bailing out
2-tcpanda03-
TextDiagnosticP
TextDiagnosticP
TextDiagnosticP
(insn 137 150 138 3 (parallel [
(set (reg/v:SI 208 [ Suppressed ])
]) TextDiagnosticP
(expr_
(nil)))
TextDiagnosticP
The work-around is to compile at -O1. The fault does not exist in gcc-4.5.3, gcc-4.6.2, or gcc-4.7~svn182152. The fault was introduced in the 2011.09 release.
I've set it to medium priority as it is a ftbfs and a work-around exists.