mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-11-04 02:11:39 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
Subject: Fix cast errors with latest GCC (11.2)
 | 
						|
Upstream: No
 | 
						|
Author: Simon Frankenberger <simon-alpine@fraho.eu>
 | 
						|
 | 
						|
This patch fixes multiple casting errors reported by GCC 11.2
 | 
						|
 | 
						|
--- old/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
 | 
						|
+++ new/src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp
 | 
						|
@@ -205,7 +205,7 @@
 | 
						|
 
 | 
						|
   // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
 | 
						|
   // because it must be the previous value.
 | 
						|
-  res = load_reference_barrier(decorators, res, reinterpret_cast<T*>(NULL));
 | 
						|
+  res = load_reference_barrier(decorators, res, static_cast<T*>(NULL));
 | 
						|
   satb_enqueue(res);
 | 
						|
   return res;
 | 
						|
 }
 | 
						|
@@ -216,7 +216,7 @@
 | 
						|
   oop previous = RawAccess<>::oop_atomic_xchg(addr, new_value);
 | 
						|
   // Note: We don't need a keep-alive-barrier here. We already enqueue any loaded reference for SATB anyway,
 | 
						|
   // because it must be the previous value.
 | 
						|
-  previous = load_reference_barrier<T>(decorators, previous, reinterpret_cast<T*>(NULL));
 | 
						|
+  previous = load_reference_barrier<T>(decorators, previous, static_cast<T*>(NULL));
 | 
						|
   satb_enqueue(previous);
 | 
						|
   return previous;
 | 
						|
 }
 | 
						|
--- old/src/hotspot/share/oops/access.hpp
 | 
						|
+++ new/src/hotspot/share/oops/access.hpp
 | 
						|
@@ -294,8 +294,8 @@
 | 
						|
   static inline void arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
 | 
						|
                                arrayOop dst_obj, size_t dst_offset_in_bytes,
 | 
						|
                                size_t length) {
 | 
						|
-    AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
 | 
						|
-                       dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
 | 
						|
+    AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
 | 
						|
+                       dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
 | 
						|
                        length);
 | 
						|
   }
 | 
						|
 
 | 
						|
@@ -303,7 +303,7 @@
 | 
						|
   static inline void arraycopy_to_native(arrayOop src_obj, size_t src_offset_in_bytes,
 | 
						|
                                          T* dst,
 | 
						|
                                          size_t length) {
 | 
						|
-    AccessT::arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const T*>(NULL),
 | 
						|
+    AccessT::arraycopy(src_obj, src_offset_in_bytes, static_cast<const T*>(NULL),
 | 
						|
                        NULL, 0, dst,
 | 
						|
                        length);
 | 
						|
   }
 | 
						|
@@ -313,15 +313,15 @@
 | 
						|
                                            arrayOop dst_obj, size_t dst_offset_in_bytes,
 | 
						|
                                            size_t length) {
 | 
						|
     AccessT::arraycopy(NULL, 0, src,
 | 
						|
-                       dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
 | 
						|
+                       dst_obj, dst_offset_in_bytes, static_cast<T*>(NULL),
 | 
						|
                        length);
 | 
						|
   }
 | 
						|
 
 | 
						|
   static inline bool oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
 | 
						|
                                    arrayOop dst_obj, size_t dst_offset_in_bytes,
 | 
						|
                                    size_t length) {
 | 
						|
-    return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const HeapWord*>(NULL),
 | 
						|
-                                  dst_obj, dst_offset_in_bytes, reinterpret_cast<HeapWord*>(NULL),
 | 
						|
+    return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, static_cast<const HeapWord*>(NULL),
 | 
						|
+                                  dst_obj, dst_offset_in_bytes, static_cast<HeapWord*>(NULL),
 | 
						|
                                   length);
 | 
						|
   }
 | 
						|
 
 | 
						|
--- old/src/hotspot/cpu/x86/interp_masm_x86.cpp
 | 
						|
+++ new/src/hotspot/cpu/x86/interp_masm_x86.cpp
 | 
						|
@@ -1122,7 +1122,7 @@
 | 
						|
 
 | 
						|
     bind(loop);
 | 
						|
     // check if current entry is used
 | 
						|
-    cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), (int32_t) NULL);
 | 
						|
+    cmpptr(Address(rmon, BasicObjectLock::obj_offset_in_bytes()), 0);
 | 
						|
     jcc(Assembler::notEqual, exception);
 | 
						|
 
 | 
						|
     addptr(rmon, entry_size); // otherwise advance to next entry
 | 
						|
--- old/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
 | 
						|
+++ new/src/hotspot/cpu/x86/interpreterRT_x86_64.cpp
 | 
						|
@@ -443,10 +443,10 @@
 | 
						|
     _from -= Interpreter::stackElementSize;
 | 
						|
 
 | 
						|
     if (_num_int_args < Argument::n_int_register_parameters_c-1) {
 | 
						|
-      *_int_args++ = (*from_addr == 0) ? NULL : (intptr_t)from_addr;
 | 
						|
+      *_int_args++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
 | 
						|
       _num_int_args++;
 | 
						|
     } else {
 | 
						|
-      *_to++ = (*from_addr == 0) ? NULL : (intptr_t) from_addr;
 | 
						|
+      *_to++ = (*from_addr == 0) ? (intptr_t) 0 : (intptr_t) from_addr;
 | 
						|
     }
 | 
						|
   }
 | 
						|
 
 | 
						|
--- old/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
 | 
						|
+++ new/src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp
 | 
						|
@@ -267,7 +267,7 @@
 | 
						|
 
 | 
						|
   virtual void pass_object() {
 | 
						|
     intptr_t* addr = single_slot_addr();
 | 
						|
-    intptr_t value = *addr == 0 ? NULL : (intptr_t)addr;
 | 
						|
+    intptr_t value = *addr == 0 ? (intptr_t) 0 : (intptr_t)addr;
 | 
						|
     if (pass_gpr(value) < 0) {
 | 
						|
       pass_stack<>(value);
 | 
						|
     }
 |