This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] -Winvalid-memory-model warning not given for stdatomic.h macros (PR c/69104)


	* 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, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]