-#define OPTS_FLAG(i) (!! (opts.flags [(i)/32] & (1<< ((i)%32))))
-#define OPTS_WARN(i) (!! (opts.warn [(i)/32] & (1<< ((i)%32))))
-#define OPTS_WERROR(i) (!! (opts.werror [(i)/32] & (1<< ((i)%32))))
-#define OPTS_OPTIMIZATION(i) (!! (opts.optimization[(i)/32] & (1<< ((i)%32))))
+#define OPTS_GENERIC(f,i) (!! (((f)[(i)/32]) & (1<< ((i)%32))))
+#define OPTS_FLAG(i) OPTS_GENERIC(opts.flags, (i))
+#define OPTS_WARN(i) OPTS_GENERIC(opts.warn, (i))
+#define OPTS_WERROR(i) OPTS_GENERIC(opts.werror, (i))
+#define OPTS_OPTIMIZATION(i) OPTS_GENERIC(opts.optimization, (i))