// RUN: %clang_cc1 -triple i386-unknown-unknown -fms-compatibility -std=c++11 -E -P %s -o - | FileCheck %s --check-prefixes=CHECK,ITANIUM --implicit-check-not=:
// RUN: %clang_cc1 -triple i386-windows -fms-compatibility -std=c++11 -E -P %s -o - | FileCheck %s --check-prefixes=CHECK,WINDOWS --implicit-check-not=:

#define CXX11(x) x: __has_cpp_attribute(x)

// CHECK: clang::fallthrough: 201603L
CXX11(clang::fallthrough)

// CHECK: selectany: 0
CXX11(selectany)

// The attribute name can be bracketed with double underscores.
// CHECK: clang::__fallthrough__: 201603L
CXX11(clang::__fallthrough__)

// The scope cannot be bracketed with double underscores unless it is
// for gnu or clang.
// CHECK: __gsl__::suppress: 0
CXX11(__gsl__::suppress)

// We do somewhat support the __clang__ vendor namespace, but it is a
// predefined macro and thus we encourage users to use _Clang instead.
// Because of this, we do not support __has_cpp_attribute for that
// vendor namespace.
//
// Note, we can't use CXX11 here because it will expand __clang__ to 1
// too early.
// CHECK: 1::fallthrough: 0
__clang__::fallthrough: __has_cpp_attribute(__clang__::fallthrough)

// CHECK: _Clang::fallthrough: 201603L
CXX11(_Clang::fallthrough)

// CHECK: __nodiscard__: 201907L
CXX11(__nodiscard__)

// CHECK: __gnu__::__const__: 1
CXX11(__gnu__::__const__)

// Test that C++11, target-specific attributes behave properly.

// CHECK: gnu::mips16: 0
CXX11(gnu::mips16)

// Test for standard attributes as listed in C++2a [cpp.cond] paragraph 6.

CXX11(assert)
CXX11(carries_dependency)
CXX11(deprecated)
CXX11(ensures)
CXX11(expects)
CXX11(fallthrough)
CXX11(likely)
CXX11(maybe_unused)
CXX11(no_unique_address)
CXX11(nodiscard)
CXX11(noreturn)
CXX11(unlikely)
// FIXME(201806L) CHECK: assert: 0
// CHECK: carries_dependency: 200809L
// CHECK: deprecated: 201309L
// FIXME(201806L) CHECK: ensures: 0
// FIXME(201806L) CHECK: expects: 0
// CHECK: fallthrough: 201603L
// CHECK: likely: 201803L
// CHECK: maybe_unused: 201603L
// ITANIUM: no_unique_address: 201803L
// WINDOWS: no_unique_address: 0
// CHECK: nodiscard: 201907L
// CHECK: noreturn: 200809L
// CHECK: unlikely: 201803L

// Test for Microsoft __declspec attributes

#define DECLSPEC(x) x: __has_declspec_attribute(x)

// CHECK: uuid: 1
// CHECK: __uuid__: 1
DECLSPEC(uuid)
DECLSPEC(__uuid__)

// CHECK: fallthrough: 0
DECLSPEC(fallthrough)
