ICE (внутренняя ошибка компилятора), приводящая к ошибке сегментации, всегда является ошибкой в компиляторе, поэтому он просит вас сообщить об ошибке. Вы не должны иметь возможность сбить компилятор с любым исходным кодом, действительным или недействительным. (Возможны всевозможные вещи, чаще всего связанные с отказом компилировать неверный код, но сбой не входит в их число.)
Поскольку GCC 4.6.1 является текущей, почему бы не рассмотреть возможность обновления до более новой версии GCC (не то, что 4.4.3 - это все, что старое).
Перед отправкой отчета об ошибке вы должны попытаться свести к минимуму ваше воспроизведение. Все, начиная со строки 494, вероятно, несущественно; если повезет, вы можете уменьшить материал между строками 1 и 493 с почти 500 до 20 или около того. Вам, безусловно, следует стремиться максимально уменьшить его, сохранив при этом ошибку. Перед тем, как начать нарезку кода, сохраните версию, которая приводит к сбою компилятора. После успешного удаления кода при сохранении сбоя проверьте каждую последующую версию в своей VCS. (Вы используете VCS, не так ли? Это риторический вопрос; если нет, сейчас хорошее время для начала. Вам нужен один, чтобы избежать внесения изменений, которые нельзя отменить. ) Попробуйте удалить нестандартные заголовки (те, которые вы написали), прежде чем удалять стандартные заголовки. Постарайтесь избавиться от как можно большего количества заголовков. Обратите внимание на запрос предварительно обработанного источника - сокращение кода, о котором я говорю, уменьшает размер предварительно обработанного источника.