brintos

brintos / llvm-project-archived public Read only

0
0
Text · 952 B · c20a1b6 Raw
21 lines · cpp
1// RUN: %clang_cc1 %s -x c++ -std=c++11 -triple x86_64-pc-linux -fsyntax-only -verify -Wno-c++17-extensions2// RUN: %clang_cc1 %s -x c++ -std=c++11 -triple x86_64-windows-msvc -fsyntax-only -verify=msvc -Wno-c++17-extensions3// expected-no-diagnostics4 5// Check we return non-zero values for supported attributes as per6// wg21.link/P25527static_assert(__has_cpp_attribute(assume));8 9// The standard does not prescribe a behavior for [[carries_dependency]]10 11static_assert(__has_cpp_attribute(deprecated));12static_assert(__has_cpp_attribute(fallthrough));13static_assert(__has_cpp_attribute(likely));14static_assert(__has_cpp_attribute(unlikely));15static_assert(__has_cpp_attribute(maybe_unused));16static_assert(__has_cpp_attribute(nodiscard));17static_assert(__has_cpp_attribute(noreturn));18 19// We do not support [[no_unique_address]] in MSVC emulation mode20static_assert(__has_cpp_attribute(no_unique_address)); // msvc-error {{static assertion failed}}21