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, ...) \