This one *may* be related to c++/18470 but does *not* involve using... FWIW, Icc accepts it, same for 3.4.3. Maybe a regression, fall out of recent work in close areas... ?!?
template<typename _Alloc> class basic_string { typedef typename _Alloc::size_type size_type; static const size_type _S_max_local = 16; char _M_data[_S_max_local]; }; -- Summary: More array bounds rejected as non-constant in template... Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pcarlini at suse dot de CC: gcc-bugs at gcc dot gnu dot org,mmitchel at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19826