18 lines · c
1// RUN: %clang_cc1 -fsyntax-only -std=c11 %s -verify=okay2// RUN: %clang_cc1 -fsyntax-only -std=c17 %s -verify3// RUN: %clang_cc1 -fsyntax-only -std=c++11 -x c++ %s -verify=okay4// RUN: %clang_cc1 -fsyntax-only -std=c++20 -x c++ %s -verify=cxx,expected5// RUN: %clang_cc1 -fsyntax-only -std=c++20 -x c++ %s -verify=okay -D_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS6// RUN: %clang_cc1 -fsyntax-only -std=c17 %s -verify=okay -D_CLANG_DISABLE_CRT_DEPRECATION_WARNINGS7//8// okay-no-diagnostics9 10#include <stdatomic.h>11 12void func(void) {13 _Atomic int i = ATOMIC_VAR_INIT(12); // expected-warning {{macro 'ATOMIC_VAR_INIT' has been marked as deprecated}} \14 // expected-note@stdatomic.h:* {{macro marked 'deprecated' here}}15 #if defined(ATOMIC_FLAG_INIT) // Ok, deprecated in C++20, undeprecated in C++23 via LWG4659.16 #endif17}18