Bug 1461399 - Fix the no-jit build when building with clang static-analysis bits enabled. r=tcampbell
authorJeff Walden <jwalden@mit.edu>
Fri, 11 May 2018 20:27:40 -0700
changeset 418603 5b8bd7f8c4c4aa14b1890d33ec7053b1e4e2d9a2
parent 418602 6be9c9eef3775e34b8c2bbea33fe4554999574c6
child 418604 70d1589b5df5b97a3ce480d8cc1f15994aa22f22
push id103351
push userjwalden@mit.edu
push dateThu, 17 May 2018 07:17:38 +0000
treeherdermozilla-inbound@e016aa76775e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstcampbell
bugs1461399
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1461399 - Fix the no-jit build when building with clang static-analysis bits enabled. r=tcampbell
js/src/jit/none/MacroAssembler-none.h
js/src/jit/none/MoveEmitter-none.h
--- a/js/src/jit/none/MacroAssembler-none.h
+++ b/js/src/jit/none/MacroAssembler-none.h
@@ -154,21 +154,21 @@ class Assembler : public AssemblerShared
     {
         MOZ_CRASH();
     }
 };
 
 class Operand
 {
   public:
-    Operand (const Address&) { MOZ_CRASH();}
-    Operand (const Register) { MOZ_CRASH();}
-    Operand (const FloatRegister) { MOZ_CRASH();}
-    Operand (Register, Imm32 ) { MOZ_CRASH(); }
-    Operand (Register, int32_t ) { MOZ_CRASH(); }
+    explicit Operand(const Address&) { MOZ_CRASH();}
+    explicit Operand(const Register) { MOZ_CRASH();}
+    explicit Operand(const FloatRegister) { MOZ_CRASH();}
+    explicit Operand(Register, Imm32) { MOZ_CRASH(); }
+    explicit Operand(Register, int32_t) { MOZ_CRASH(); }
 };
 
 class ScratchTagScope
 {
   public:
     ScratchTagScope(MacroAssembler&, const ValueOperand) {}
     operator Register() { MOZ_CRASH(); }
     void release() { MOZ_CRASH(); }
@@ -236,20 +236,20 @@ class MacroAssemblerNone : public Assemb
     CodeOffset toggledJump(Label*) { MOZ_CRASH(); }
     CodeOffset toggledCall(JitCode*, bool) { MOZ_CRASH(); }
     static size_t ToggledCallSize(uint8_t*) { MOZ_CRASH(); }
 
     void finish() { MOZ_CRASH(); }
 
     template <typename T, typename S> void moveValue(T, S) { MOZ_CRASH(); }
     template <typename T, typename S, typename U> void moveValue(T, S, U) { MOZ_CRASH(); }
-    template <typename T, typename S> void storeValue(T, S) { MOZ_CRASH(); }
+    template <typename T, typename S> void storeValue(const T&, const S&) { MOZ_CRASH(); }
     template <typename T, typename S, typename U> void storeValue(T, S, U) { MOZ_CRASH(); }
     template <typename T, typename S> void loadValue(T, S) { MOZ_CRASH(); }
-    template <typename T> void pushValue(T) { MOZ_CRASH(); }
+    template <typename T> void pushValue(const T&) { MOZ_CRASH(); }
     template <typename T, typename S> void pushValue(T, S) { MOZ_CRASH(); }
     void popValue(ValueOperand) { MOZ_CRASH(); }
     void tagValue(JSValueType, Register, ValueOperand) { MOZ_CRASH(); }
     void retn(Imm32 n) { MOZ_CRASH(); }
     template <typename T> void push(T) { MOZ_CRASH(); }
     template <typename T> void Push(T) { MOZ_CRASH(); }
     template <typename T> void pop(T) { MOZ_CRASH(); }
     template <typename T> void Pop(T) { MOZ_CRASH(); }
@@ -371,25 +371,25 @@ class MacroAssemblerNone : public Assemb
 
     void buildFakeExitFrame(Register, uint32_t*) { MOZ_CRASH(); }
     bool buildOOLFakeExitFrame(void*) { MOZ_CRASH(); }
     void loadWasmGlobalPtr(uint32_t, Register) { MOZ_CRASH(); }
     void loadWasmPinnedRegsFromTls() { MOZ_CRASH(); }
 
     void setPrinter(Sprinter*) { MOZ_CRASH(); }
     Operand ToPayload(Operand base) { MOZ_CRASH(); }
+    Address ToPayload(Address) { MOZ_CRASH(); }
 
     static const Register getStackPointer() { MOZ_CRASH(); }
 
     // Instrumentation for entering and leaving the profiler.
     void profilerEnterFrame(Register , Register ) { MOZ_CRASH(); }
     void profilerExitFrame() { MOZ_CRASH(); }
 
 #ifdef JS_NUNBOX32
-    Address ToPayload(Address) { MOZ_CRASH(); }
     Address ToType(Address) { MOZ_CRASH(); }
 #endif
 };
 
 typedef MacroAssemblerNone MacroAssemblerSpecific;
 
 class ABIArgGenerator
 {
--- a/js/src/jit/none/MoveEmitter-none.h
+++ b/js/src/jit/none/MoveEmitter-none.h
@@ -11,17 +11,17 @@
 #include "jit/MoveResolver.h"
 
 namespace js {
 namespace jit {
 
 class MoveEmitterNone
 {
   public:
-    MoveEmitterNone(MacroAssemblerNone&) { MOZ_CRASH(); }
+    explicit MoveEmitterNone(MacroAssemblerNone&) { MOZ_CRASH(); }
     void emit(const MoveResolver&) { MOZ_CRASH(); }
     void finish() { MOZ_CRASH(); }
     void setScratchRegister(Register) { MOZ_CRASH(); }
 };
 
 typedef MoveEmitterNone MoveEmitter;
 
 } // namespace jit