@@ -339,18 +339,18 @@ void memory_checks(_Atomic(int) *Ap, int *p, int val) {
339
339
(void )__c11_atomic_load (Ap , memory_order_relaxed );
340
340
(void )__c11_atomic_load (Ap , memory_order_acquire );
341
341
(void )__c11_atomic_load (Ap , memory_order_consume );
342
- (void )__c11_atomic_load (Ap , memory_order_release ); // expected-warning {{memory order argument to atomic operation is invalid}}
343
- (void )__c11_atomic_load (Ap , memory_order_acq_rel ); // expected-warning {{memory order argument to atomic operation is invalid}}
342
+ (void )__c11_atomic_load (Ap , memory_order_release ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
343
+ (void )__c11_atomic_load (Ap , memory_order_acq_rel ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
344
344
(void )__c11_atomic_load (Ap , memory_order_seq_cst );
345
345
(void )__c11_atomic_load (Ap , val );
346
- (void )__c11_atomic_load (Ap , -1 ); // expected-warning {{memory order argument to atomic operation is invalid}}
347
- (void )__c11_atomic_load (Ap , 42 ); // expected-warning {{memory order argument to atomic operation is invalid}}
346
+ (void )__c11_atomic_load (Ap , -1 ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
347
+ (void )__c11_atomic_load (Ap , 42 ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
348
348
349
349
(void )__c11_atomic_store (Ap , val , memory_order_relaxed );
350
- (void )__c11_atomic_store (Ap , val , memory_order_acquire ); // expected-warning {{memory order argument to atomic operation is invalid}}
351
- (void )__c11_atomic_store (Ap , val , memory_order_consume ); // expected-warning {{memory order argument to atomic operation is invalid}}
350
+ (void )__c11_atomic_store (Ap , val , memory_order_acquire ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
351
+ (void )__c11_atomic_store (Ap , val , memory_order_consume ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
352
352
(void )__c11_atomic_store (Ap , val , memory_order_release );
353
- (void )__c11_atomic_store (Ap , val , memory_order_acq_rel ); // expected-warning {{memory order argument to atomic operation is invalid}}
353
+ (void )__c11_atomic_store (Ap , val , memory_order_acq_rel ); // expected-warning-re {{{{^}} memory order argument to atomic operation is invalid}}
354
354
(void )__c11_atomic_store (Ap , val , memory_order_seq_cst );
355
355
356
356
(void )__c11_atomic_fetch_add (Ap , 1 , memory_order_relaxed );
@@ -427,19 +427,35 @@ void memory_checks(_Atomic(int) *Ap, int *p, int val) {
427
427
(void )__c11_atomic_exchange (Ap , val , memory_order_acq_rel );
428
428
(void )__c11_atomic_exchange (Ap , val , memory_order_seq_cst );
429
429
430
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , -1 , memory_order_relaxed ); // expected-warning {{success memory order argument to atomic operation is invalid}}
430
431
(void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_relaxed , memory_order_relaxed );
431
432
(void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_acquire , memory_order_relaxed );
432
433
(void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_consume , memory_order_relaxed );
433
434
(void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_release , memory_order_relaxed );
434
435
(void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_acq_rel , memory_order_relaxed );
435
- (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , memory_order_relaxed );
436
-
436
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , memory_order_acquire );
437
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , memory_order_consume );
438
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , memory_order_release ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
439
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , memory_order_acq_rel ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
440
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , memory_order_seq_cst );
441
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_seq_cst , -1 ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
442
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_relaxed , memory_order_acquire );
443
+ (void )__c11_atomic_compare_exchange_strong (Ap , p , val , memory_order_acquire , memory_order_seq_cst );
444
+
445
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , -1 , memory_order_relaxed ); // expected-warning {{success memory order argument to atomic operation is invalid}}
437
446
(void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_relaxed , memory_order_relaxed );
438
447
(void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_acquire , memory_order_relaxed );
439
448
(void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_consume , memory_order_relaxed );
440
449
(void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_release , memory_order_relaxed );
441
450
(void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_acq_rel , memory_order_relaxed );
442
- (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , memory_order_relaxed );
451
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , memory_order_acquire );
452
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , memory_order_consume );
453
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , memory_order_release ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
454
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , memory_order_acq_rel ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
455
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , memory_order_seq_cst );
456
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_seq_cst , -1 ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
457
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_relaxed , memory_order_acquire );
458
+ (void )__c11_atomic_compare_exchange_weak (Ap , p , val , memory_order_acquire , memory_order_seq_cst );
443
459
444
460
(void )__atomic_load_n (p , memory_order_relaxed );
445
461
(void )__atomic_load_n (p , memory_order_acquire );
@@ -595,19 +611,32 @@ void memory_checks(_Atomic(int) *Ap, int *p, int val) {
595
611
(void )__atomic_exchange (p , p , p , memory_order_acq_rel );
596
612
(void )__atomic_exchange (p , p , p , memory_order_seq_cst );
597
613
614
+ (void )__atomic_compare_exchange (p , p , p , 0 , -1 , memory_order_relaxed ); // expected-warning {{success memory order argument to atomic operation is invalid}}
598
615
(void )__atomic_compare_exchange (p , p , p , 0 , memory_order_relaxed , memory_order_relaxed );
599
616
(void )__atomic_compare_exchange (p , p , p , 0 , memory_order_acquire , memory_order_relaxed );
600
617
(void )__atomic_compare_exchange (p , p , p , 0 , memory_order_consume , memory_order_relaxed );
601
618
(void )__atomic_compare_exchange (p , p , p , 0 , memory_order_release , memory_order_relaxed );
602
619
(void )__atomic_compare_exchange (p , p , p , 0 , memory_order_acq_rel , memory_order_relaxed );
603
- (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , memory_order_relaxed );
604
-
620
+ (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , memory_order_acquire );
621
+ (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , memory_order_consume );
622
+ (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , memory_order_release ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
623
+ (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , memory_order_acq_rel ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
624
+ (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , memory_order_seq_cst );
625
+ (void )__atomic_compare_exchange (p , p , p , 0 , memory_order_seq_cst , -1 ); // expected-warning {{memory order argument to atomic operation is invalid}}
626
+
627
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , -1 , memory_order_relaxed ); // expected-warning {{success memory order argument to atomic operation is invalid}}
605
628
(void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_relaxed , memory_order_relaxed );
606
629
(void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_acquire , memory_order_relaxed );
607
630
(void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_consume , memory_order_relaxed );
608
631
(void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_release , memory_order_relaxed );
609
632
(void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_acq_rel , memory_order_relaxed );
610
633
(void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , memory_order_relaxed );
634
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , memory_order_acquire );
635
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , memory_order_consume );
636
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , memory_order_release ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
637
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , memory_order_acq_rel ); // expected-warning {{failure memory order argument to atomic operation is invalid}}
638
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , memory_order_seq_cst );
639
+ (void )__atomic_compare_exchange_n (p , p , val , 0 , memory_order_seq_cst , -1 ); // expected-warning {{memory order argument to atomic operation is invalid}}
611
640
}
612
641
613
642
void nullPointerWarning (void ) {
0 commit comments