diff options
| author | David Mertens <dcmertens.perl@gmail.com> | 2016-11-22 16:33:12 -0500 |
|---|---|---|
| committer | David Mertens <dcmertens.perl@gmail.com> | 2016-11-28 09:01:12 -0500 |
| commit | d2e2f423820ca00c1f1d56fadd744a7e1d345955 (patch) | |
| tree | 471d4ae451a52e315fb967e3c061df30a46552e6 /libtcc.c | |
| parent | 3c68a8c6c04e1a527e2d80f2586cb2df96f862c6 (diff) | |
| download | tinycc-d2e2f423820ca00c1f1d56fadd744a7e1d345955.tar.gz tinycc-d2e2f423820ca00c1f1d56fadd744a7e1d345955.tar.bz2 | |
Implement gcc bitfield algorithm; add -mms-bitfields
Diffstat (limited to 'libtcc.c')
| -rw-r--r-- | libtcc.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -752,6 +752,7 @@ LIBTCCAPI TCCState *tcc_new(void) s->alacarte_link = 1; s->nocommon = 1; s->warn_implicit_function_declaration = 1; + s->ms_bitfields = 0; #ifdef CHAR_IS_UNSIGNED s->char_is_unsigned = 1; @@ -1508,6 +1509,7 @@ enum { TCC_OPTION_Wl, TCC_OPTION_W, TCC_OPTION_O, + TCC_OPTION_mms_bitfields, TCC_OPTION_m, TCC_OPTION_f, TCC_OPTION_isystem, @@ -1571,6 +1573,7 @@ static const TCCOption tcc_options[] = { { "Wl,", TCC_OPTION_Wl, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, { "W", TCC_OPTION_W, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, { "O", TCC_OPTION_O, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, + { "mms-bitfields", TCC_OPTION_mms_bitfields, 0}, /* must go before option 'm' */ { "m", TCC_OPTION_m, TCC_OPTION_HAS_ARG }, { "f", TCC_OPTION_f, TCC_OPTION_HAS_ARG | TCC_OPTION_NOSEP }, { "isystem", TCC_OPTION_isystem, TCC_OPTION_HAS_ARG }, @@ -1854,6 +1857,9 @@ PUB_FUNC int tcc_parse_args(TCCState *s, int argc, char **argv) if (x > 0) tcc_define_symbol(s, "__OPTIMIZE__", NULL); break; + case TCC_OPTION_mms_bitfields: + s->ms_bitfields = 1; + break; case TCC_OPTION_traditional: case TCC_OPTION_pedantic: case TCC_OPTION_pipe: |
