aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr36111.c
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2008-05-12 18:55:43 +0200
committerUros Bizjak <uros@gcc.gnu.org>2008-05-12 18:55:43 +0200
commit162bfc7efa6dd23a317147f89c557a709488b78b (patch)
tree3303ac6a9a00c9e80c196162984587a511547af7 /gcc/testsuite/gcc.dg/pr36111.c
parent3d4e720adc67915aa603b23a9d61e393c9000a91 (diff)
downloadgcc-162bfc7efa6dd23a317147f89c557a709488b78b.zip
gcc-162bfc7efa6dd23a317147f89c557a709488b78b.tar.gz
gcc-162bfc7efa6dd23a317147f89c557a709488b78b.tar.bz2
re PR rtl-optimization/36111 (GCC 4.4.0-20080501 failed to compile openmpi's malloc.c file.)
PR rtl-optimization/36111 * recog.c (validate_replace_rtx_1): Unshare new RTL expression that was created for swappable operands. testsuite/ChangeLog: PR rtl-optimization/36111 * gcc.dg/pr36111.c: New test. From-SVN: r135221
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr36111.c')
-rw-r--r--gcc/testsuite/gcc.dg/pr36111.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr36111.c b/gcc/testsuite/gcc.dg/pr36111.c
new file mode 100644
index 0000000..498c39e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr36111.c
@@ -0,0 +1,16 @@
+/* { dg-do compile { target fpic } } */
+/* { dg-options "-O2 -fpic" } */
+
+typedef struct {
+ int lock;
+ int pad0_;
+} mutex_t;
+
+static mutex_t main_arena;
+
+void __malloc_check_init()
+{
+ for(;;)
+ __asm__ __volatile__ ("": "+m"(main_arena.lock) );
+}
+