1586efd52SLouis Dionne //===----------------------------------------------------------------------===// 2586efd52SLouis Dionne // 3586efd52SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4586efd52SLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5586efd52SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6586efd52SLouis Dionne // 7586efd52SLouis Dionne //===----------------------------------------------------------------------===// 8586efd52SLouis Dionne // 9586efd52SLouis Dionne // WARNING: This test was generated by generate_feature_test_macro_components.py 10586efd52SLouis Dionne // and should not be edited manually. 11586efd52SLouis Dionne // 12586efd52SLouis Dionne // clang-format off 13586efd52SLouis Dionne 14*a7f9895cSLouis Dionne // UNSUPPORTED: no-threads 15586efd52SLouis Dionne 16586efd52SLouis Dionne // <stdatomic.h> 17586efd52SLouis Dionne 18586efd52SLouis Dionne // Test the feature test macros defined by <stdatomic.h> 19586efd52SLouis Dionne 20586efd52SLouis Dionne /* Constant Value 21586efd52SLouis Dionne __cpp_lib_stdatomic_h 202011L [C++2b] 22586efd52SLouis Dionne */ 23586efd52SLouis Dionne 24586efd52SLouis Dionne #include <stdatomic.h> 25586efd52SLouis Dionne #include "test_macros.h" 26586efd52SLouis Dionne 27586efd52SLouis Dionne #if TEST_STD_VER < 14 28586efd52SLouis Dionne 29586efd52SLouis Dionne # ifdef __cpp_lib_stdatomic_h 30586efd52SLouis Dionne # error "__cpp_lib_stdatomic_h should not be defined before c++2b" 31586efd52SLouis Dionne # endif 32586efd52SLouis Dionne 33586efd52SLouis Dionne #elif TEST_STD_VER == 14 34586efd52SLouis Dionne 35586efd52SLouis Dionne # ifdef __cpp_lib_stdatomic_h 36586efd52SLouis Dionne # error "__cpp_lib_stdatomic_h should not be defined before c++2b" 37586efd52SLouis Dionne # endif 38586efd52SLouis Dionne 39586efd52SLouis Dionne #elif TEST_STD_VER == 17 40586efd52SLouis Dionne 41586efd52SLouis Dionne # ifdef __cpp_lib_stdatomic_h 42586efd52SLouis Dionne # error "__cpp_lib_stdatomic_h should not be defined before c++2b" 43586efd52SLouis Dionne # endif 44586efd52SLouis Dionne 45586efd52SLouis Dionne #elif TEST_STD_VER == 20 46586efd52SLouis Dionne 47586efd52SLouis Dionne # ifdef __cpp_lib_stdatomic_h 48586efd52SLouis Dionne # error "__cpp_lib_stdatomic_h should not be defined before c++2b" 49586efd52SLouis Dionne # endif 50586efd52SLouis Dionne 51586efd52SLouis Dionne #elif TEST_STD_VER > 20 52586efd52SLouis Dionne 53586efd52SLouis Dionne # ifndef __cpp_lib_stdatomic_h 54586efd52SLouis Dionne # error "__cpp_lib_stdatomic_h should be defined in c++2b" 55586efd52SLouis Dionne # endif 56586efd52SLouis Dionne # if __cpp_lib_stdatomic_h != 202011L 57586efd52SLouis Dionne # error "__cpp_lib_stdatomic_h should have the value 202011L in c++2b" 58586efd52SLouis Dionne # endif 59586efd52SLouis Dionne 60586efd52SLouis Dionne #endif // TEST_STD_VER > 20 61586efd52SLouis Dionne 62