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. ** Changed in: gcc-linaro Status: New => Confirmed ** Changed in: gcc-linaro Status: Confirmed => Triaged ** Changed in: gcc-linaro Importance: Undecided => Medium -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/903178 Title: [4.6 regression/armhf] ICE, unable to find a register to spill in class 'LO_REGS' To manage notifications about this bug go to: https://bugs.launchpad.net/gcc-linaro/+bug/903178/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs