xref: /llvm-project/clang/test/Headers/stdatomic-deprecations.c (revision 3cfa32a71ecfbc1bf993358e32b916cf3483299f)
10d459444SAaron Ballman // RUN: %clang_cc1 -fsyntax-only -std=c11 %s -verify=okay
20d459444SAaron Ballman // RUN: %clang_cc1 -fsyntax-only -std=c17 %s -verify
30d459444SAaron Ballman // RUN: %clang_cc1 -fsyntax-only -std=c++11 -x c++ %s -verify=okay
40d459444SAaron Ballman // RUN: %clang_cc1 -fsyntax-only -std=c++20 -x c++ %s -verify=cxx,expected
50d459444SAaron Ballman // RUN: %clang_cc1 -fsyntax-only -std=c++20 -x c++ %s -verify=okay -D_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS
60d459444SAaron Ballman // RUN: %clang_cc1 -fsyntax-only -std=c17 %s -verify=okay -D_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS
70d459444SAaron Ballman //
80d459444SAaron Ballman // okay-no-diagnostics
90d459444SAaron Ballman 
100d459444SAaron Ballman #include <stdatomic.h>
110d459444SAaron Ballman 
func(void)120d459444SAaron Ballman void func(void) {
130d459444SAaron Ballman   _Atomic int i = ATOMIC_VAR_INIT(12); // expected-warning {{macro 'ATOMIC_VAR_INIT' has been marked as deprecated}} \
140d459444SAaron Ballman                                        // expected-note@stdatomic.h:* {{macro marked 'deprecated' here}}
15*3cfa32a7SAaron Ballman   #if defined(ATOMIC_FLAG_INIT) // Ok, deprecated in C++20, undeprecated in C++23 via LWG4659.
160d459444SAaron Ballman   #endif
170d459444SAaron Ballman }
18