]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated...
authorDave Korn <dave.korn.cygwin@gmail.com>
Thu, 28 May 2009 10:48:35 +0000 (10:48 +0000)
committerDave Korn <davek@gcc.gnu.org>
Thu, 28 May 2009 10:48:35 +0000 (10:48 +0000)
commit233215fe7cedf3cfa908f11c9543e1f7f10e3283
tree2b465942c117a52260a5dba92c2e0be1abe405aa
parentb10ca522327a88f62bdbf6b0ee587498d2bab8a1
re PR target/37216 ([cygming] Invalid alignment for SSE store to .comm data generated with -O3)

gcc/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>

PR target/37216

* configure.ac (HAVE_GAS_ALIGNED_COMM):  Add autoconf test and
macro definition for support of three-operand format aligned
.comm directive in assembler on cygwin/pe/mingw target OS.
* configure:  Regenerate.
* config.in:  Regenerate.

* config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common):  Use
aligned form of .comm directive if -mpe-aligned-commons is in effect.
* config/i386/cygming.opt (-mpe-aligned-commons):  Add new option.

* doc/invoke.texi (-mpe-aligned-commons):  Document new target option.
* doc/tm.texi (ASM_OUTPUT_COMMON):  Document zero size commons.

gcc/testsuite/ChangeLog:

2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>
            Uros Bizjak  <ubizjak@gmail.com>
            Danny Smith  <dansmister@gmail.com>

PR target/37216

* lib/target-supports.exp (check_effective_target_pe_aligned_commons):
New function.
* gcc.target/i386/pr37216.c:  New test source file.
* gcc.dg/compat/struct-layout-1_generate.c (dg_options[]):  No longer
use -fno-common for testing Cygwin and MinGW targets.

Co-Authored-By: Danny Smith <dansmister@gmail.com>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r147950
12 files changed:
gcc/ChangeLog
gcc/config.in
gcc/config/i386/cygming.opt
gcc/config/i386/winnt.c
gcc/configure
gcc/configure.ac
gcc/doc/invoke.texi
gcc/doc/tm.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
gcc/testsuite/gcc.target/i386/pr37216.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp