diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2012-01-27 21:53:40 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2012-01-27 21:53:40 +0000 |
commit | a6bc04232912152fff06106d082c8f04a6d6fa91 (patch) | |
tree | cc65b5fa9baa01064e5e7e26ee11e5d581da8912 | |
parent | 7dcbaaa984509967baf669a2e9888098960bfa9a (diff) | |
download | gcc-a6bc04232912152fff06106d082c8f04a6d6fa91.zip gcc-a6bc04232912152fff06106d082c8f04a6d6fa91.tar.gz gcc-a6bc04232912152fff06106d082c8f04a6d6fa91.tar.bz2 |
re PR testsuite/52011 (FAIL: gcc.dg/lto/trans-mem-* c_lto_trans-mem-*.o assemble, -flto -fgnu-tm in 32 bit mode)
PR testsuite/52011
* gcc.dg/lto/trans-mem.h: New file.
* gcc.dg/lto/trans-mem-2_0.c: Include it.
* gcc.dg/lto/trans-mem-1_1.c: Same.
* gcc.dg/lto/trans-mem-4_1.c: Same.
* gcc.dg/lto/trans-mem-3_1.c: Same.
From-SVN: r183648
-rw-r--r-- | gcc/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/trans-mem-3_1.c | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/trans-mem-4_1.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/trans-mem.h | 22 |
6 files changed, 35 insertions, 39 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7ebce8dd..b3cb233 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2012-01-27 Aldy Hernandez <aldyh@redhat.com> + + PR testsuite/52011 + * gcc.dg/lto/trans-mem.h: New file. + * gcc.dg/lto/trans-mem-2_0.c: Include it. + * gcc.dg/lto/trans-mem-1_1.c: Same. + * gcc.dg/lto/trans-mem-4_1.c: Same. + * gcc.dg/lto/trans-mem-3_1.c: Same. + 2012-01-27 Tobias Burnus <burnus@net-b.de> PR fortran/52022 diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c b/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c index 6dba252..f49a262 100644 --- a/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c +++ b/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c @@ -1,10 +1 @@ -#include <stdint.h> - -#define noinline __attribute__((noinline,noclone,used)) - -noinline uint32_t _ITM_beginTransaction(uint32_t a, ...) { asm(""); } -noinline void _ITM_commitTransaction (void) { asm(""); } -noinline void _ITM_WU4 (void *a, uint32_t b) { asm(""); } -noinline void _ITM_WU8 (void *a, uint64_t b) { asm(""); } -noinline void _ITM_registerTMCloneTable (void) { asm(""); } -noinline void _ITM_deregisterTMCloneTable (void) { asm(""); } +#include "trans-mem.h" diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c b/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c index b99c5bf..b270602 100644 --- a/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c +++ b/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c @@ -2,19 +2,10 @@ /* { dg-lto-do link } */ /* { dg-require-effective-target stdint_types } */ -#include <stdint.h> +#include "trans-mem.h" extern void foobar() __attribute__((transaction_callable)); -#define noinline __attribute__((noinline,noclone,used)) - -noinline uint32_t _ITM_beginTransaction(uint32_t a, ...) { asm(""); } -noinline void _ITM_commitTransaction (void) { asm(""); } -noinline void _ITM_WU4 (void *a, uint32_t b) { asm(""); } -noinline void _ITM_WU8 (void *a, uint64_t b) { asm(""); } -noinline void _ITM_registerTMCloneTable (void) { asm(""); } -noinline void _ITM_deregisterTMCloneTable (void) { asm(""); } - main() { __transaction_relaxed diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-3_1.c b/gcc/testsuite/gcc.dg/lto/trans-mem-3_1.c index 6373ecc..4b7f7d7 100644 --- a/gcc/testsuite/gcc.dg/lto/trans-mem-3_1.c +++ b/gcc/testsuite/gcc.dg/lto/trans-mem-3_1.c @@ -1,6 +1,6 @@ /* { dg-options "-fgnu-tm" } */ -#include <stdint.h> +#include "trans-mem.h" extern int i; @@ -8,12 +8,3 @@ main() { __transaction_atomic { i = 0; } } - -#define noinline __attribute__((noinline,noclone,used)) - -noinline uint32_t _ITM_beginTransaction(uint32_t a, ...) { asm(""); } -noinline void _ITM_commitTransaction (void) { asm(""); } -noinline void _ITM_WU4 (void *a, uint32_t b) { asm(""); } -noinline void _ITM_WU8 (void *a, uint64_t b) { asm(""); } -noinline void _ITM_registerTMCloneTable (void) { asm(""); } -noinline void _ITM_deregisterTMCloneTable (void) { asm(""); } diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem-4_1.c b/gcc/testsuite/gcc.dg/lto/trans-mem-4_1.c index a377e66..620ce16 100644 --- a/gcc/testsuite/gcc.dg/lto/trans-mem-4_1.c +++ b/gcc/testsuite/gcc.dg/lto/trans-mem-4_1.c @@ -1,14 +1,6 @@ -#include <stdint.h> +#include "trans-mem.h" __attribute__((transaction_safe)) void foo() { } - -uint32_t _ITM_beginTransaction(uint32_t prop, ...) -{ -} - -void __builtin__ITM_commitTransaction (void) -{ -} diff --git a/gcc/testsuite/gcc.dg/lto/trans-mem.h b/gcc/testsuite/gcc.dg/lto/trans-mem.h new file mode 100644 index 0000000..add5a29 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/trans-mem.h @@ -0,0 +1,22 @@ +#include <stdint.h> + +/* Dummy declarations for common TM supporting functions. */ + +/* These must be in sync with both libitm/libitm.h and the TM builtin + definitions in gcc/gtm-builtins.def. */ + +#define noinline __attribute__((noinline,noclone,used)) + +#ifdef __i386__ +/* Only for 32-bit x86. */ +# define ITM_REGPARM __attribute__((regparm(2))) +#else +# define ITM_REGPARM +#endif + +ITM_REGPARM noinline uint32_t _ITM_beginTransaction(uint32_t a, ...) { asm(""); } +ITM_REGPARM noinline void _ITM_commitTransaction (void) { asm(""); } +ITM_REGPARM noinline void _ITM_WU4 (void *a, uint32_t b) { asm(""); } +ITM_REGPARM noinline void _ITM_WU8 (void *a, uint64_t b) { asm(""); } +noinline void _ITM_registerTMCloneTable (void) { asm(""); } +noinline void _ITM_deregisterTMCloneTable (void) { asm(""); } |