* gcc.dg/atomic-invalid-2.c: Remove duplicated content.
From-SVN: r232100
This commit is contained in:
parent
6b131d5b1e
commit
68dd05da94
2 changed files with 4 additions and 59 deletions
|
@ -1,3 +1,7 @@
|
|||
2016-01-06 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* gcc.dg/atomic-invalid-2.c: Remove duplicated content.
|
||||
|
||||
2016-01-06 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR sanitizer/69099
|
||||
|
|
|
@ -57,62 +57,3 @@ clear (atomic_int *i)
|
|||
atomic_flag_clear_explicit (i, memory_order_acquire); /* { dg-warning "invalid memory model" } */
|
||||
atomic_flag_clear_explicit (i, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
|
||||
}
|
||||
/* PR c/69104. Test atomic routines for invalid memory model errors. This
|
||||
only needs to be tested on a single size. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target sync_int_long } */
|
||||
|
||||
#include <stdatomic.h>
|
||||
|
||||
/* atomic_store_explicit():
|
||||
The order argument shall not be memory_order_acquire,
|
||||
memory_order_consume, nor memory_order_acq_rel. */
|
||||
|
||||
void
|
||||
store (atomic_int *i)
|
||||
{
|
||||
atomic_store_explicit (i, 0, memory_order_consume); /* { dg-warning "invalid memory model" } */
|
||||
atomic_store_explicit (i, 0, memory_order_acquire); /* { dg-warning "invalid memory model" } */
|
||||
atomic_store_explicit (i, 0, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
|
||||
}
|
||||
|
||||
/* atomic_load_explicit():
|
||||
The order argument shall not be memory_order_release nor
|
||||
memory_order_acq_rel. */
|
||||
|
||||
void
|
||||
load (atomic_int *i)
|
||||
{
|
||||
atomic_int j = atomic_load_explicit (i, memory_order_release); /* { dg-warning "invalid memory model" } */
|
||||
atomic_int k = atomic_load_explicit (i, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
|
||||
}
|
||||
|
||||
/* atomic_compare_exchange():
|
||||
The failure argument shall not be memory_order_release nor
|
||||
memory_order_acq_rel. The failure argument shall be no stronger than the
|
||||
success argument. */
|
||||
|
||||
void
|
||||
exchange (atomic_int *i)
|
||||
{
|
||||
int r;
|
||||
|
||||
atomic_compare_exchange_strong_explicit (i, &r, 0, memory_order_seq_cst, memory_order_release); /* { dg-warning "invalid failure memory" } */
|
||||
atomic_compare_exchange_strong_explicit (i, &r, 0, memory_order_seq_cst, memory_order_acq_rel); /* { dg-warning "invalid failure memory" } */
|
||||
atomic_compare_exchange_strong_explicit (i, &r, 0, memory_order_relaxed, memory_order_consume); /* { dg-warning "failure memory model cannot be stronger" } */
|
||||
|
||||
atomic_compare_exchange_weak_explicit (i, &r, 0, memory_order_seq_cst, memory_order_release); /* { dg-warning "invalid failure memory" } */
|
||||
atomic_compare_exchange_weak_explicit (i, &r, 0, memory_order_seq_cst, memory_order_acq_rel); /* { dg-warning "invalid failure memory" } */
|
||||
atomic_compare_exchange_weak_explicit (i, &r, 0, memory_order_relaxed, memory_order_consume); /* { dg-warning "failure memory model cannot be stronger" } */
|
||||
}
|
||||
|
||||
/* atomic_flag_clear():
|
||||
The order argument shall not be memory_order_acquire nor
|
||||
memory_order_acq_rel. */
|
||||
|
||||
void
|
||||
clear (atomic_int *i)
|
||||
{
|
||||
atomic_flag_clear_explicit (i, memory_order_acquire); /* { dg-warning "invalid memory model" } */
|
||||
atomic_flag_clear_explicit (i, memory_order_acq_rel); /* { dg-warning "invalid memory model" } */
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue