seen with current 4.3 and 4.4 branches, not with trunk. removing -fschedule-insns lets the build succeed.
Matthias $ g++-4.4 -c -O1 -fsched-interblock -fsched-spec -fschedule-insns2 -fstrict-aliasing -fstrict-overflow -ftree-pre -ftree-vrp -fcaller-saves -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fpeephole2 -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop -fexpensive-optimizations -fgcse -fgcse-lm -foptimize-sibling-calls -fthread-jumps -falign-functions -falign-jumps -falign-loops -falign-labels -finline-functions -funswitch-loops -fpredictive-commoning -fgcse-after-reload -ftree-vectorize -fschedule-insns DBmanager.ii In file included from /usr/local/include/boost/interprocess/containers/container/vector.hpp:64, from /usr/local/include/boost/interprocess/containers/vector.hpp:20, from shared_defs.h:36, from DBmanager.h:9, from DBmanager.cpp:10: /usr/local/include/boost/interprocess/containers/container/detail/utilities.hpp: In function 'SizeType boost::interprocess_container::containers_detail::get_next_capacity(SizeType, SizeType, SizeType) [with SizeType = long unsigned int]': /usr/local/include/boost/interprocess/containers/container/detail/utilities.hpp:40: error: unable to find a register to spill in class 'DREG' /usr/local/include/boost/interprocess/containers/container/detail/utilities.hpp:40: error: this is the insn: (insn 9 67 4 2 /usr/local/include/boost/interprocess/containers/container/detail/utilities.hpp:31 (parallel [ (set (reg/v:DI 2 cx [orig:58 m3 ] [58]) (truncate:DI (lshiftrt:TI (mult:TI (zero_extend:TI (reg/v:DI 5 di [orig:62 max_size ] [62])) (zero_extend:TI (reg:DI 2 cx [65]))) (const_int 64 [0x40])))) (clobber (scratch:DI)) (clobber (reg:CC 17 flags)) ]) 343 {*umuldi3_highpart_rex64} (expr_list:REG_DEAD (reg:DI 2 cx [65]) (expr_list:REG_UNUSED (reg:CC 17 flags) (expr_list:REG_EQUAL (truncate:DI (lshiftrt:TI (mult:TI (zero_extend:TI (reg/v:DI 5 di [orig:62 max_size ] [62])) (const_double -6148914691236517205 [0xaaaaaaaaaaaaaaab] 0 [0x0] 0 [0x0] 0 [0x0])) (const_int 64 [0x40]))) (nil))))) /usr/local/include/boost/interprocess/containers/container/detail/utilities.hpp:40: confused by earlier errors, bailing out -- Summary: unable to find a register to spill in class 'DREG' Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: debian-gcc at lists dot debian dot org GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42535