https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59087
Vitali <vlovich at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vlovich at gmail dot com --- Comment #11 from Vitali <vlovich at gmail dot com> --- I ran into this problem as I included lapacke.h & indirectly, via including < boost/exception/all.hpp> picked up boost's iterator_facade.hpp. All of this is out of my control to resolve. lapacke correctly includes complex.h (since it is C code). iterator_facade correctly uses I as the name for a template argument (just as easily could have been used as a variable name). The combination results in code that doesn't work. I had to #undef I. I'm not sure if that's a GCC bug as opposed to something the standard needs to resolve.