* gcc.dg/atomic-invalid-2.c: Remove duplicated content. diff --git a/gcc/testsuite/gcc.dg/atomic-invalid-2.c b/gcc/testsuite/gcc.dg/atomic-invalid-2.c index 6bf5c96..c73458e 100644 --- a/gcc/testsuite/gcc.dg/atomic-invalid-2.c +++ b/gcc/testsuite/gcc.dg/atomic-invalid-2.c @@ -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" } */ -} -- 2.7.0
-- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."