On Thu, Jul 2, 2015 at 6:08 AM, Richard Biener <richard.guent...@gmail.com> wrote: > On Thu, Jul 2, 2015 at 3:05 PM, Richard Biener > <richard.guent...@gmail.com> wrote: >> Yeah, I _think_ the fix is to move the isl includes below the system.h >> include.
I tried this, and got a conflict for pretty much every macro defined by ctype.h, e.g. /usr/include/c++/4.8/bits/locale_facets.h:240:53: error: macro "toupper" passed 2 arguments, but takes just 1 toupper(char_type *__lo, const char_type* __hi) const system.h includes safe-ctype.h which does #include <ctype.h> ... #undef toupper #define toupper(c) do_not_use_toupper_with_safe_ctype isl/int.h includes iostream which includes other header files that want to define ctype like functions and we get a conflict. I see that <ctype.h> doesn't define any macros when __cplusplus is defined, but if we disable the macro redefines in safe-ctype.h, it isn't very safe anymore. This is probably why the isl headers were deliberately included before system.h when the ISL support was first added. Jim