I can reproduce the ICE with g++ 4.8-20121007 and 4.7-20121006, on arm-linux-gnueabi with -march=armv7-a; with -march=armv6 or armv5te it doesn't ICE. The preprocessed source doesn't compile with g++ 4.6 so I can't check there.
I can reproduce the ICE with g++ 4.8-20121007 and 4.7-20121006, on arm-linux-gnueabi with -march=armv7-a; with -march=armv6 or armv5te it doesn't ICE. The preprocessed source doesn't compile with g++ 4.6 so I can't check there.