-#define _Complex_I (float _Complex){0, 1}
-#define imaginary _Imaginary // optional
+#define _Complex_I ( const float _Complex ) { 0, 1 }
+
+#ifdef __PERSONALITY_SUPPORTS_IMAGINARY
+#define imaginary _Imaginary
+#endif // __PERSONALITY_SUPPORTS_IMAGINARY