diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 2 |
3 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f4a4b0..b40dc28 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2013-09-10 Kai Tietz <ktietz@redhat.com> + + * doc/invoke.texi (fms-extensions): Document changed + behavior for ms-abi targets. + * config/i386/i386.c (ix86_option_override_internal): + Set default value of option -fms-extension for ms-abi targets. + 2013-09-10 Michael Zolotukhin <michael.v.zolotukhin@gmail.com> * config/i386/i386.c (ix86_expand_movmem): Fix epilogue generation. diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 1f07e6f..fe9a714 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -3357,6 +3357,12 @@ ix86_option_override_internal (bool main_args_p) if (!global_options_set.x_ix86_abi) ix86_abi = DEFAULT_ABI; + /* For targets using ms ABI enable ms-extensions, if not + explicit turned off. For non-ms ABI we turn off this + option. */ + if (!global_options_set.x_flag_ms_extensions) + flag_ms_extensions = (MS_ABI == DEFAULT_ABI); + if (global_options_set.x_ix86_cmodel) { switch (ix86_cmodel) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 5b3c078..73c3c58 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -1856,6 +1856,8 @@ Some cases of unnamed fields in structures and unions are only accepted with this option. @xref{Unnamed Fields,,Unnamed struct/union fields within structs/unions}, for details. +Note that this option is off for all targets but i?86 and x86_64 +targets using ms-abi. @item -fplan9-extensions Accept some non-standard constructs used in Plan 9 code. |