#include "src/tint/utils/macros/concat.h"
#include "src/utils/compiler.h"
#ifndef SRC_TINT_UTILS_MACROS_COMPILER_H_
#define SRC_TINT_UTILS_MACROS_COMPILER_H_
#define TINT_REQUIRE_SEMICOLON …
#if defined(_MSC_VER) && !defined(__clang__)
#define TINT_BUILD_IS_MSVC …
#define TINT_DISABLE_WARNING_CONSTANT_OVERFLOW …
#define TINT_DISABLE_WARNING_DEPRECATED …
#define TINT_DISABLE_WARNING_DESTRUCTOR_NEVER_RETURNS …
#define TINT_DISABLE_WARNING_EXTRA_SEMICOLON …
#define TINT_DISABLE_WARNING_FLOAT_EQUAL …
#define TINT_DISABLE_WARNING_MAYBE_UNINITIALIZED …
#define TINT_DISABLE_WARNING_MISSING_DESTRUCTOR_OVERRIDE …
#define TINT_DISABLE_WARNING_NEWLINE_EOF …
#define TINT_DISABLE_WARNING_OLD_STYLE_CAST …
#define TINT_DISABLE_WARNING_RESERVED_IDENTIFIER …
#define TINT_DISABLE_WARNING_RESERVED_MACRO_IDENTIFIER …
#define TINT_DISABLE_WARNING_SHADOW_FIELD_IN_CONSTRUCTOR …
#define TINT_DISABLE_WARNING_SIGN_CONVERSION …
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE …
#define TINT_DISABLE_WARNING_UNUSED_PARAMETER …
#define TINT_DISABLE_WARNING_UNUSED_VALUE …
#define TINT_DISABLE_WARNING_WEAK_VTABLES …
#define TINT_DISABLE_WARNING_ZERO_AS_NULLPTR …
#define TINT_BEGIN_DISABLE_OPTIMIZATIONS …
#define TINT_END_DISABLE_OPTIMIZATIONS …
#define TINT_BEGIN_DISABLE_ALL_WARNINGS …
#define TINT_END_DISABLE_ALL_WARNINGS …
#define TINT_BEGIN_DISABLE_WARNING …
#define TINT_END_DISABLE_WARNING …
#define TINT_BEGIN_DISABLE_PROTOBUF_WARNINGS …
#define TINT_END_DISABLE_PROTOBUF_WARNINGS …
#if defined(__SANITIZE_ADDRESS__)
#define TINT_ASAN_ENABLED
#endif
#elif defined(__clang__)
#define TINT_BUILD_IS_CLANG …
#define TINT_DISABLE_WARNING_CONSTANT_OVERFLOW …
#define TINT_DISABLE_WARNING_DEPRECATED …
#define TINT_DISABLE_WARNING_DESTRUCTOR_NEVER_RETURNS …
#define TINT_DISABLE_WARNING_EXTRA_SEMICOLON …
#define TINT_DISABLE_WARNING_FLOAT_EQUAL …
#define TINT_DISABLE_WARNING_MAYBE_UNINITIALIZED …
#define TINT_DISABLE_WARNING_MISSING_DESTRUCTOR_OVERRIDE …
#define TINT_DISABLE_WARNING_NEWLINE_EOF …
#define TINT_DISABLE_WARNING_OLD_STYLE_CAST …
#define TINT_DISABLE_WARNING_RESERVED_IDENTIFIER …
#define TINT_DISABLE_WARNING_RESERVED_MACRO_IDENTIFIER …
#define TINT_DISABLE_WARNING_SHADOW_FIELD_IN_CONSTRUCTOR …
#define TINT_DISABLE_WARNING_SIGN_CONVERSION …
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE …
#define TINT_DISABLE_WARNING_UNUSED_PARAMETER …
#define TINT_DISABLE_WARNING_UNUSED_VALUE …
#define TINT_DISABLE_WARNING_WEAK_VTABLES …
#define TINT_DISABLE_WARNING_ZERO_AS_NULLPTR …
#define TINT_BEGIN_DISABLE_PROTOBUF_WARNINGS() …
#define TINT_END_DISABLE_PROTOBUF_WARNINGS() …
#define TINT_BEGIN_DISABLE_OPTIMIZATIONS() …
#define TINT_END_DISABLE_OPTIMIZATIONS() …
#define TINT_BEGIN_DISABLE_ALL_WARNINGS() …
#define TINT_END_DISABLE_ALL_WARNINGS() …
#define TINT_BEGIN_DISABLE_WARNING(name) …
#define TINT_END_DISABLE_WARNING(name) …
#if __has_feature(address_sanitizer)
#define TINT_ASAN_ENABLED
#endif
#elif defined(__GNUC__)
#define TINT_BUILD_IS_GCC …
#define TINT_DISABLE_WARNING_CONSTANT_OVERFLOW …
#define TINT_DISABLE_WARNING_DEPRECATED …
#define TINT_DISABLE_WARNING_DESTRUCTOR_NEVER_RETURNS …
#define TINT_DISABLE_WARNING_EXTRA_SEMICOLON …
#define TINT_DISABLE_WARNING_FLOAT_EQUAL …
#define TINT_DISABLE_WARNING_MAYBE_UNINITIALIZED …
#define TINT_DISABLE_WARNING_MISSING_DESTRUCTOR_OVERRIDE …
#define TINT_DISABLE_WARNING_NEWLINE_EOF …
#define TINT_DISABLE_WARNING_OLD_STYLE_CAST …
#define TINT_DISABLE_WARNING_RESERVED_IDENTIFIER …
#define TINT_DISABLE_WARNING_RESERVED_MACRO_IDENTIFIER …
#define TINT_DISABLE_WARNING_SHADOW_FIELD_IN_CONSTRUCTOR …
#define TINT_DISABLE_WARNING_SIGN_CONVERSION …
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE …
#define TINT_DISABLE_WARNING_UNUSED_PARAMETER …
#define TINT_DISABLE_WARNING_UNUSED_VALUE …
#define TINT_DISABLE_WARNING_WEAK_VTABLES …
#define TINT_DISABLE_WARNING_ZERO_AS_NULLPTR …
#define TINT_BEGIN_DISABLE_PROTOBUF_WARNINGS …
#define TINT_END_DISABLE_PROTOBUF_WARNINGS …
#define TINT_BEGIN_DISABLE_OPTIMIZATIONS …
#define TINT_END_DISABLE_OPTIMIZATIONS …
#define TINT_BEGIN_DISABLE_ALL_WARNINGS …
#define TINT_END_DISABLE_ALL_WARNINGS …
#define TINT_BEGIN_DISABLE_WARNING …
#define TINT_END_DISABLE_WARNING …
#if defined(__SANITIZE_ADDRESS__)
#define TINT_ASAN_ENABLED
#endif
#else
#define TINT_BEGIN_DISABLE_OPTIMIZATIONS …
#define TINT_END_DISABLE_OPTIMIZATIONS …
#define TINT_BEGIN_DISABLE_ALL_WARNINGS …
#define TINT_END_DISABLE_ALL_WARNINGS …
#define TINT_BEGIN_DISABLE_WARNING …
#define TINT_END_DISABLE_WARNING …
#define TINT_BEGIN_DISABLE_PROTOBUF_WARNINGS …
#define TINT_END_DISABLE_PROTOBUF_WARNINGS …
#endif
#ifndef TINT_BUILD_IS_MSVC
#define TINT_BUILD_IS_MSVC …
#endif
#ifndef TINT_BUILD_IS_CLANG
#define TINT_BUILD_IS_CLANG …
#endif
#ifndef TINT_BUILD_IS_GCC
#define TINT_BUILD_IS_GCC …
#endif
#if TINT_BUILD_IS_MSVC
#define TINT_MSVC_ONLY …
#else
#define TINT_MSVC_ONLY(x) …
#endif
#if TINT_BUILD_IS_CLANG
#define TINT_CLANG_ONLY(x) …
#else
#define TINT_CLANG_ONLY …
#endif
#if TINT_BUILD_IS_GCC
#define TINT_GCC_ONLY …
#else
#define TINT_GCC_ONLY(x) …
#endif
#endif