diff --git a/setup.py b/setup.py
index b67f0c7c7ae53014c78c68cb3d3da4a9fbc868e6..8672c37316b2e3051ffcd413b15e607845804f35 100644
--- a/setup.py
+++ b/setup.py
@@ -113,6 +113,7 @@ def main():
     INCLUDE_DIRS = []  # noqa
     LIBRARY_DIRS = []  # noqa
     LIBRARIES = []  # noqa
+    CXXFLAGS = conf["CXXFLAGS"]
 
     if conf["USE_SHIPPED_ISL"]:
         from glob import glob
@@ -183,6 +184,10 @@ def main():
             if conf["USE_IMATH_SIO"]:
                 EXTRA_DEFINES["USE_SMALL_INT_OPT"] = 1
 
+                import sys
+                if sys.platform in ['linux', 'linux2', 'darwin']:
+                    CXXFLAGS.insert(0, "-std=gnu99")
+
             conf["ISL_INC_DIR"].append("isl/imath")
         else:
             EXTRA_DEFINES["USE_GMP_FOR_MP"] = 1
@@ -236,7 +241,7 @@ def main():
             INCLUDE_DIRS=INCLUDE_DIRS,
             LIBRARY_DIRS=LIBRARY_DIRS,
             LIBRARIES=LIBRARIES,
-            CFLAGS=conf["CXXFLAGS"],
+            CFLAGS=CXXFLAGS,
             LDFLAGS=conf["LDFLAGS"]
             )