+static void init_os_support(void)
+{
+ /* OS option must be set to the backend */
+ switch (firm_opt.os_support) {
+ case OS_SUPPORT_MINGW:
+ set_be_option("ia32-gasmode=mingw");
+ wchar_atomic_kind = ATOMIC_TYPE_USHORT;
+ break;
+ case OS_SUPPORT_LINUX:
+ set_be_option("ia32-gasmode=elf");
+ break;
+ case OS_SUPPORT_MACHO:
+ set_be_option("ia32-gasmode=macho");
+ set_be_option("ia32-stackalign=4");
+ set_be_option("pic");
+ break;
+ }
+}
+
+typedef enum lang_standard_t {
+ STANDARD_DEFAULT, /* gnu99 (for C, GCC does gnu89) or gnu++98 (for C++) */
+ STANDARD_ANSI, /* c89 (for C) or c++98 (for C++) */
+ STANDARD_C89, /* ISO C90 (sic) */
+ STANDARD_C90, /* ISO C90 as modified in amendment 1 */
+ STANDARD_C99, /* ISO C99 */
+ STANDARD_GNU89, /* ISO C90 plus GNU extensions (including some C99) */
+ STANDARD_GNU99, /* ISO C99 plus GNU extensions */
+ STANDARD_CXX98, /* ISO C++ 1998 plus amendments */
+ STANDARD_GNUXX98 /* ISO C++ 1998 plus amendments and GNU extensions */
+} lang_standard_t;
+