Make is_supported_integral_type support both long and long long

size_t can be unsigned long while uint64_t is unsigned long long, preventing compilation of proto2::RepeatedField<size_t>

PiperOrigin-RevId: 878784189
diff --git a/src/google/protobuf/port.h b/src/google/protobuf/port.h
index 21f3ee0..4eb2328 100644
--- a/src/google/protobuf/port.h
+++ b/src/google/protobuf/port.h
@@ -236,8 +236,11 @@
 // Helpers for identifying our supported types.
 template <typename T>
 struct is_supported_integral_type
-    : std::disjunction<std::is_same<T, int32_t>, std::is_same<T, uint32_t>,
-                       std::is_same<T, int64_t>, std::is_same<T, uint64_t>,
+    : std::disjunction<std::is_same<T, int>, std::is_same<T, unsigned int>,
+                       std::is_same<T, long>,                // NOLINT
+                       std::is_same<T, unsigned long>,       // NOLINT
+                       std::is_same<T, long long>,           // NOLINT
+                       std::is_same<T, unsigned long long>,  // NOLINT
                        std::is_same<T, bool>> {};
 
 template <typename T>