http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59087
--- Comment #2 from Tomohiro Kashiwada <kikairoya at gmail dot com> --- C's <complex.h> provides a macro named 'I' and this breaks existing codes. ext/pod_char_traits.h gcc4.8.2) http://melpon.org/wandbox/permlink/qb87YqrI7I4BAQRw gcc4.7.3) http://melpon.org/wandbox/permlink/ighn7hGeL2tFXj16 boost/iterator/iterator_facade.hpp gcc4.8.2) http://melpon.org/wandbox/permlink/VERBb6mK69nva2ML gcc4.7.3) http://melpon.org/wandbox/permlink/ujalJUbClOd9FjFg and, anyway, C's complex doesn't work on C++11 mode. gcc4.8.2 c++11) http://melpon.org/wandbox/permlink/CnsddYRxUohlCGF1 gcc4.8.2 c++03) http://melpon.org/wandbox/permlink/QrBInjH6rlRs2Jdl Or, if C++'s <complex.h> includes C's one, I think also <ccomplex> should behave so (I think 26.4.10 is incomprehensible.)