[JSC] Remove gcc warnings on mips and armv7
[WebKit-https.git] / Source / JavaScriptCore / assembler / MacroAssemblerPrinter.cpp
index 57ed63e..4a9c421 100644 (file)
@@ -53,7 +53,7 @@ void printAllRegisters(PrintStream& out, Context& context)
     };
 #define INDENT indent()
 
-    INDENT, out.print("cpu: {\n");
+    INDENT; out.print("cpu: {\n");
 
 #if USE(JSVALUE32_64)
     #define INTPTR_HEX_VALUE_FORMAT "0x%08" PRIxPTR
@@ -63,21 +63,21 @@ void printAllRegisters(PrintStream& out, Context& context)
 
     for (auto id = MacroAssembler::firstRegister(); id <= MacroAssembler::lastRegister(); id = nextID(id)) {
         intptr_t value = static_cast<intptr_t>(cpu.gpr(id));
-        INDENT, out.printf("    %6s: " INTPTR_HEX_VALUE_FORMAT "  %" PRIdPTR "\n", cpu.gprName(id), value, value);
+        INDENT; out.printf("    %6s: " INTPTR_HEX_VALUE_FORMAT "  %" PRIdPTR "\n", cpu.gprName(id), value, value);
     }
     for (auto id = MacroAssembler::firstSPRegister(); id <= MacroAssembler::lastSPRegister(); id = nextID(id)) {
         intptr_t value = static_cast<intptr_t>(cpu.spr(id));
-        INDENT, out.printf("    %6s: " INTPTR_HEX_VALUE_FORMAT "  %" PRIdPTR "\n", cpu.sprName(id), value, value);
+        INDENT; out.printf("    %6s: " INTPTR_HEX_VALUE_FORMAT "  %" PRIdPTR "\n", cpu.sprName(id), value, value);
     }
     #undef INTPTR_HEX_VALUE_FORMAT
 
     for (auto id = MacroAssembler::firstFPRegister(); id <= MacroAssembler::lastFPRegister(); id = nextID(id)) {
         uint64_t u = bitwise_cast<uint64_t>(cpu.fpr(id));
         double d = cpu.fpr(id);
-        INDENT, out.printf("    %6s: 0x%016" PRIx64 "  %.13g\n", cpu.fprName(id), u, d);
+        INDENT; out.printf("    %6s: 0x%016" PRIx64 "  %.13g\n", cpu.fprName(id), u, d);
     }
 
-    INDENT, out.print("}\n");
+    INDENT; out.print("}\n");
 #undef INDENT
 
 }
@@ -86,7 +86,7 @@ void printPCRegister(PrintStream& out, Context& context)
 {
     auto cpu = context.probeContext.cpu;
     void* value = cpu.pc();
-    out.printf("pc:<%p %ld>", value, bitwise_cast<intptr_t>(value));
+    out.printf("pc:<%p %" PRIdPTR ">", value, bitwise_cast<intptr_t>(value));
 }
 
 void printRegisterID(PrintStream& out, Context& context)
@@ -94,7 +94,7 @@ void printRegisterID(PrintStream& out, Context& context)
     RegisterID regID = context.data.as<RegisterID>();
     const char* name = CPUState::gprName(regID);
     intptr_t value = context.probeContext.gpr(regID);
-    out.printf("%s:<%p %ld>", name, bitwise_cast<void*>(value), value);
+    out.printf("%s:<%p %" PRIdPTR ">", name, bitwise_cast<void*>(value), value);
 }
 
 void printFPRegisterID(PrintStream& out, Context& context)
@@ -111,7 +111,7 @@ void printAddress(PrintStream& out, Context& context)
     RegisterID regID = address.base;
     const char* name = CPUState::gprName(regID);
     intptr_t value = context.probeContext.gpr(regID);
-    out.printf("Address{base:%s:<%p %ld>, offset:<0x%x %d>", name, bitwise_cast<void*>(value), value, address.offset, address.offset);
+    out.printf("Address{base:%s:<%p %" PRIdPTR ">, offset:<0x%x %d>", name, bitwise_cast<void*>(value), value, address.offset, address.offset);
 }
 
 void printMemory(PrintStream& out, Context& context)
@@ -131,6 +131,9 @@ void printMemory(PrintStream& out, Context& context)
     }
     }
 
+    // assuming memory is not malformed, it originally pointed to a value
+    // of the size with which we use it below, so the bitwise_casts should
+    // be safe, including regarding alignment.
     if (memory.dumpStyle == Memory::SingleWordDump) {
         if (memory.numBytes == sizeof(int8_t)) {
             auto p = reinterpret_cast<int8_t*>(ptr);
@@ -138,17 +141,17 @@ void printMemory(PrintStream& out, Context& context)
             return;
         }
         if (memory.numBytes == sizeof(int16_t)) {
-            auto p = reinterpret_cast<int16_t*>(ptr);
+            auto p = bitwise_cast<int16_t*>(ptr);
             out.printf("%p:<0x%04x %d>", p, *p, *p);
             return;
         }
         if (memory.numBytes == sizeof(int32_t)) {
-            auto p = reinterpret_cast<int32_t*>(ptr);
+            auto p = bitwise_cast<int32_t*>(ptr);
             out.printf("%p:<0x%08x %d>", p, *p, *p);
             return;
         }
         if (memory.numBytes == sizeof(int64_t)) {
-            auto p = reinterpret_cast<int64_t*>(ptr);
+            auto p = bitwise_cast<int64_t*>(ptr);
             out.printf("%p:<0x%016" PRIx64 " %" PRId64 ">", p, *p, *p);
             return;
         }