http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793
Bug ID: 57793 Summary: Cross-Compiler Templates and Bitfields Ask to Report Problem Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ian at geometrian dot com Created attachment 30432 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30432&action=edit Self-contained example of problem Compile attached example: "i586-elf-gcc manager.cpp" Output from attached example: manager.cpp: In member function 'void* Block<n>::malloc(size_t) [with unsigned int n = 2147483648u; size_t = unsigned int]': manager.cpp:71:4: internal compiler error: in get_bit_range, at expr.c:4562 info.allocated = true; ^ 0x7036e6 get_bit_range ../../gcc-4.8.1/gcc/expr.c:4562 0x7036e6 expand_assignment(tree_node*, tree_node*, bool) ../../gcc-4.8.1/gcc/expr.c:4703 0x655532 expand_gimple_stmt_1 ../../gcc-4.8.1/gcc/cfgexpand.c:2208 0x655532 expand_gimple_stmt ../../gcc-4.8.1/gcc/cfgexpand.c:2304 0x656436 expand_gimple_basic_block ../../gcc-4.8.1/gcc/cfgexpand.c:4138 0x65831e gimple_expand_cfg ../../gcc-4.8.1/gcc/cfgexpand.c:4657 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. The example is being developed from a kernel, so some operations may look strange. However, the example is self-contained. Platform: Ubuntu 12.04 x86-64, all updated Compiler: Cross compiler as described here: http://wiki.osdev.org/GCC_Cross-Compiler for i586-elf. Compiled for x86. Error does not occur with standard GCC (this may be because the standard GCC on the platform is x64-64).