From: Michael Beck Date: Sun, 1 Jun 2008 12:57:42 +0000 (+0000) Subject: synchronize with eccp X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=59bd66d97b2dc1a2a0923dec84f1ddc838437986;p=cparser synchronize with eccp [r19898] --- diff --git a/driver/firm_cmdline.c b/driver/firm_cmdline.c index c7f563b..892a8c4 100644 --- a/driver/firm_cmdline.c +++ b/driver/firm_cmdline.c @@ -13,7 +13,7 @@ #include #ifdef _WIN32 -#define DEFAULT_OS OS_SUPPORT_WIN32 +#define DEFAULT_OS OS_SUPPORT_MINGW #else #define DEFAULT_OS OS_SUPPORT_LINUX #endif @@ -245,7 +245,7 @@ static const struct params { { X("stat-pattern"), &firm_dump.stat_pattern, 1, "misc: Firm statistic calculates most used pattern" }, { X("stat-dag"), &firm_dump.stat_dag, 1, "misc: Firm calculates DAG statistics" }, { X("firm-asm"), &firm_dump.gen_firm_asm, 1, "misc: output Firm assembler" }, - { X("win32"), &firm_opt.os_support, OS_SUPPORT_WIN32, "misc: generate Win32 code" }, + { X("win32"), &firm_opt.os_support, OS_SUPPORT_MINGW, "misc: generate MinGW Win32 code" }, { X("mac"), &firm_opt.os_support, OS_SUPPORT_MACHO, "misc: generate MacOS code" }, { X("linux"), &firm_opt.os_support, OS_SUPPORT_LINUX, "misc: generate Linux-ELF code" }, { X("ycomp"), &firm_opt.ycomp_dbg, 1, "misc: enable yComp debugger extension" }, @@ -373,13 +373,25 @@ int firm_option(const char *opt) if (firm_opt.debug_mode == DBG_MODE_FULL) disable_opts(); res = 1; -#ifdef FIRM_BACKEND res &= firm_be_option("omitfp=0"); res &= firm_be_option("stabs"); -#endif /* FIRM_BACKEND */ return res; } - break; + /* OS option must be set to the backend */ + else if (firm_options[i].flag == &firm_opt.os_support) { + switch (firm_opt.os_support) { + case OS_SUPPORT_MINGW: + firm_be_option("ia32-gasmode=mingw"); + break; + case OS_SUPPORT_MACHO: + firm_be_option("ia32-gasmode=macho"); + break; + case OS_SUPPORT_LINUX: + default: + firm_be_option("ia32-gasmode=linux"); + break; + } + } } } diff --git a/driver/firm_cmdline.h b/driver/firm_cmdline.h index 12ea3a5..decb01b 100644 --- a/driver/firm_cmdline.h +++ b/driver/firm_cmdline.h @@ -14,8 +14,8 @@ enum an_os_support { OS_SUPPORT_LINUX, /**< create code for Linux OS */ - OS_SUPPORT_WIN32, /**< create code for MinGW WIN32 */ - OS_SUPPORT_MACHO + OS_SUPPORT_MINGW, /**< create code for MinGW WIN32 */ + OS_SUPPORT_MACHO /**< create code for MacOS Mach-O */ } an_os_support; enum a_debug_mode {