tint: fix clang-cl compilation
* Disabling warnings was using the MSVC codepath * Required to disable a float comparison on lexer.cc for clang Change-Id: Ie3123593ebba2bffe34bff490ff76d5bdbd7d40d Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/116240 Reviewed-by: Ben Clayton <bclayton@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
parent
f3f813eb0c
commit
0fa5fb16bd
|
@ -405,11 +405,13 @@ Token Lexer::try_float() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TINT_BEGIN_DISABLE_WARNING(FLOAT_EQUAL);
|
||||||
if (value == HUGE_VAL || -value == HUGE_VAL) {
|
if (value == HUGE_VAL || -value == HUGE_VAL) {
|
||||||
return {Token::Type::kError, source, "value cannot be represented as 'abstract-float'"};
|
return {Token::Type::kError, source, "value cannot be represented as 'abstract-float'"};
|
||||||
} else {
|
} else {
|
||||||
return {Token::Type::kFloatLiteral, source, value};
|
return {Token::Type::kFloatLiteral, source, value};
|
||||||
}
|
}
|
||||||
|
TINT_END_DISABLE_WARNING(FLOAT_EQUAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
Token Lexer::try_hex_float() {
|
Token Lexer::try_hex_float() {
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#define TINT_REQUIRE_SEMICOLON static_assert(true)
|
#define TINT_REQUIRE_SEMICOLON static_assert(true)
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER) && !defined(__clang__)
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// MSVC
|
// MSVC
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -30,6 +30,7 @@
|
||||||
#define TINT_DISABLE_WARNING_SIGN_CONVERSION /* currently no-op */
|
#define TINT_DISABLE_WARNING_SIGN_CONVERSION /* currently no-op */
|
||||||
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE __pragma(warning(disable : 4702))
|
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE __pragma(warning(disable : 4702))
|
||||||
#define TINT_DISABLE_WARNING_WEAK_VTABLES /* currently no-op */
|
#define TINT_DISABLE_WARNING_WEAK_VTABLES /* currently no-op */
|
||||||
|
#define TINT_DISABLE_WARNING_FLOAT_EQUAL /* currently no-op */
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define TINT_BEGIN_DISABLE_WARNING(name) \
|
#define TINT_BEGIN_DISABLE_WARNING(name) \
|
||||||
|
@ -52,6 +53,7 @@
|
||||||
_Pragma("clang diagnostic ignored \"-Wsign-conversion\"")
|
_Pragma("clang diagnostic ignored \"-Wsign-conversion\"")
|
||||||
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE /* currently no-op */
|
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE /* currently no-op */
|
||||||
#define TINT_DISABLE_WARNING_WEAK_VTABLES _Pragma("clang diagnostic ignored \"-Wweak-vtables\"")
|
#define TINT_DISABLE_WARNING_WEAK_VTABLES _Pragma("clang diagnostic ignored \"-Wweak-vtables\"")
|
||||||
|
#define TINT_DISABLE_WARNING_FLOAT_EQUAL _Pragma("clang diagnostic ignored \"-Wfloat-equal\"")
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define TINT_BEGIN_DISABLE_WARNING(name) \
|
#define TINT_BEGIN_DISABLE_WARNING(name) \
|
||||||
|
@ -74,6 +76,7 @@
|
||||||
#define TINT_DISABLE_WARNING_SIGN_CONVERSION /* currently no-op */
|
#define TINT_DISABLE_WARNING_SIGN_CONVERSION /* currently no-op */
|
||||||
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE /* currently no-op */
|
#define TINT_DISABLE_WARNING_UNREACHABLE_CODE /* currently no-op */
|
||||||
#define TINT_DISABLE_WARNING_WEAK_VTABLES /* currently no-op */
|
#define TINT_DISABLE_WARNING_WEAK_VTABLES /* currently no-op */
|
||||||
|
#define TINT_DISABLE_WARNING_FLOAT_EQUAL /* currently no-op */
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define TINT_BEGIN_DISABLE_WARNING(name) \
|
#define TINT_BEGIN_DISABLE_WARNING(name) \
|
||||||
|
|
Loading…
Reference in New Issue