I don't have time to investigate this further right now, but for the
attached testcase, I get this ICE with mainline as of this morning:
deal.II/lac> c++ -c sparse_direct.ii
source/sparse_direct.cc: In function 'void
CommunicationsLog::record_communication(pid_t, CommunicationsLog::Direction,
unsigned int, unsigned int, const std::string&) [with T = char]':
source/sparse_direct.cc:296: internal compiler error: in cp_expr_size, at
cp/cp-objcp-common.c:86
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
W.
--
Summary: [4.0 regression] ICE in cp_expr_size
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bangerth at dealii dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18793