Cast __LINE__ to size_t (#2661)
Fixes #2648
diff --git a/source/opt/log.h b/source/opt/log.h
index f87cbf3..6805100 100644
--- a/source/opt/log.h
+++ b/source/opt/log.h
@@ -54,18 +54,19 @@
// Logs an error message to the consumer saying the given feature is
// unimplemented.
-#define SPIRV_UNIMPLEMENTED(consumer, feature) \
- do { \
- spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
- {__LINE__, 0, 0}, "unimplemented: " feature); \
+#define SPIRV_UNIMPLEMENTED(consumer, feature) \
+ do { \
+ spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, \
+ "unimplemented: " feature); \
} while (0)
// Logs an error message to the consumer saying the code location
// should be unreachable.
-#define SPIRV_UNREACHABLE(consumer) \
- do { \
- spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
- {__LINE__, 0, 0}, "unreachable"); \
+#define SPIRV_UNREACHABLE(consumer) \
+ do { \
+ spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, "unreachable"); \
} while (0)
// Helper macros for concatenating arguments.
@@ -154,32 +155,34 @@
PP_EXPAND(SPIRV_CONCATENATE(SPIRV_DEBUG_, PP_NARGS(__VA_ARGS__))( \
consumer, __VA_ARGS__))
-#define SPIRV_ASSERT_1(consumer, condition) \
- do { \
- if (!(condition)) { \
- spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
- {__LINE__, 0, 0}, "assertion failed: " #condition); \
- std::exit(EXIT_FAILURE); \
- } \
+#define SPIRV_ASSERT_1(consumer, condition) \
+ do { \
+ if (!(condition)) { \
+ spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, \
+ "assertion failed: " #condition); \
+ std::exit(EXIT_FAILURE); \
+ } \
} while (0)
-#define SPIRV_ASSERT_2(consumer, condition, message) \
- do { \
- if (!(condition)) { \
- spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
- {__LINE__, 0, 0}, "assertion failed: " message); \
- std::exit(EXIT_FAILURE); \
- } \
+#define SPIRV_ASSERT_2(consumer, condition, message) \
+ do { \
+ if (!(condition)) { \
+ spvtools::Log(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, \
+ "assertion failed: " message); \
+ std::exit(EXIT_FAILURE); \
+ } \
} while (0)
-#define SPIRV_ASSERT_more(consumer, condition, format, ...) \
- do { \
- if (!(condition)) { \
- spvtools::Logf(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
- {__LINE__, 0, 0}, "assertion failed: " format, \
- __VA_ARGS__); \
- std::exit(EXIT_FAILURE); \
- } \
+#define SPIRV_ASSERT_more(consumer, condition, format, ...) \
+ do { \
+ if (!(condition)) { \
+ spvtools::Logf(consumer, SPV_MSG_INTERNAL_ERROR, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, \
+ "assertion failed: " format, __VA_ARGS__); \
+ std::exit(EXIT_FAILURE); \
+ } \
} while (0)
#define SPIRV_ASSERT_3(consumer, condition, format, ...) \
@@ -191,16 +194,17 @@
#define SPIRV_ASSERT_5(consumer, condition, format, ...) \
SPIRV_ASSERT_more(consumer, condition, format, __VA_ARGS__)
-#define SPIRV_DEBUG_1(consumer, message) \
- do { \
- spvtools::Log(consumer, SPV_MSG_DEBUG, __FILE__, {__LINE__, 0, 0}, \
- message); \
+#define SPIRV_DEBUG_1(consumer, message) \
+ do { \
+ spvtools::Log(consumer, SPV_MSG_DEBUG, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, message); \
} while (0)
-#define SPIRV_DEBUG_more(consumer, format, ...) \
- do { \
- spvtools::Logf(consumer, SPV_MSG_DEBUG, __FILE__, {__LINE__, 0, 0}, \
- format, __VA_ARGS__); \
+#define SPIRV_DEBUG_more(consumer, format, ...) \
+ do { \
+ spvtools::Logf(consumer, SPV_MSG_DEBUG, __FILE__, \
+ {static_cast<size_t>(__LINE__), 0, 0}, format, \
+ __VA_ARGS__); \
} while (0)
#define SPIRV_DEBUG_2(consumer, format, ...) \