diff --git a/include/private/base/SkAttributes.h b/include/private/base/SkAttributes.h
index f8df5905cd..5de29c817d 100644
--- a/include/private/base/SkAttributes.h
+++ b/include/private/base/SkAttributes.h
@@ -24,7 +24,7 @@
  *     SK_ALWAYS_INLINE void someMethod() { ... }   // should always be inlined
  */
 #if !defined(SK_ALWAYS_INLINE)
-#  if defined(SK_BUILD_FOR_WIN)
+#  if defined(_MSC_VER)
 #    define SK_ALWAYS_INLINE __forceinline
 #  else
 #    define SK_ALWAYS_INLINE SK_ATTRIBUTE(always_inline) inline
@@ -36,7 +36,7 @@
  * you can use SK_NEVER_INLINE to prevent inlining.
  */
 #if !defined(SK_NEVER_INLINE)
-#  if defined(SK_BUILD_FOR_WIN)
+#  if defined(_MSC_VER)
 #    define SK_NEVER_INLINE __declspec(noinline)
 #  else
 #    define SK_NEVER_INLINE SK_ATTRIBUTE(noinline)
diff --git a/src/core/SkRasterPipeline.h b/src/core/SkRasterPipeline.h
index 55920612c8..1d5a3452a7 100644
--- a/src/core/SkRasterPipeline.h
+++ b/src/core/SkRasterPipeline.h
@@ -26,7 +26,7 @@ enum SkColorType : int;
 struct SkImageInfo;
 struct skcms_TransferFunction;
 
-#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
+#if __has_cpp_attribute(clang::musttail) && defined(__clang__) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
         !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK))
     // [[clang::musttail]] is disabled for the Android version of Skia running on Windows as it
     // causes crashes (This is probably related to http://crbug.com/1505442).
diff --git a/src/gpu/tessellate/MiddleOutPolygonTriangulator.h b/src/gpu/tessellate/MiddleOutPolygonTriangulator.h
index fe93130a5b..4e7c9a7490 100644
--- a/src/gpu/tessellate/MiddleOutPolygonTriangulator.h
+++ b/src/gpu/tessellate/MiddleOutPolygonTriangulator.h
@@ -90,7 +90,7 @@ public:
         }
 
         PoppedTriangleStack(PoppedTriangleStack&& that) {
-            memcpy(this, &that, sizeof(*this));
+            memcpy(reinterpret_cast<void*>(this), &that, sizeof(*this));
             that.fMiddleOut = nullptr;  // Don't do a stack update during our destructor.
         }
 
