From 38de1cd5f008c5bac4948b3bf8da1b1803fc102b Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Fri, 30 Apr 2021 18:24:52 -0700 Subject: [PATCH] nv50/ir: Initialize CodeEmitterNV50 member progType. Make progType a constructor argument. Fix defect reported by Coverity Scan. Uninitialized scalar field (UNINIT_CTOR) uninit_member: Non-static class member progType is not initialized in this constructor nor in any functions that it calls. Suggested-by: Ilia Mirkin Signed-off-by: Vinson Lee Reviewed-by: Ilia Mirkin Part-of: --- .../drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp index 64d64b94a12..d6c8bf74cd3 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp @@ -33,14 +33,12 @@ namespace nv50_ir { class CodeEmitterNV50 : public CodeEmitter { public: - CodeEmitterNV50(const TargetNV50 *); + CodeEmitterNV50(Program::Type, const TargetNV50 *); virtual bool emitInstruction(Instruction *); virtual uint32_t getMinEncodingSize(const Instruction *) const; - inline void setProgramType(Program::Type pType) { progType = pType; } - virtual void prepareEmission(Function *); private: @@ -2300,8 +2298,8 @@ CodeEmitterNV50::prepareEmission(Function *func) replaceExitWithModifier(func); } -CodeEmitterNV50::CodeEmitterNV50(const TargetNV50 *target) : - CodeEmitter(target), targNV50(target) +CodeEmitterNV50::CodeEmitterNV50(Program::Type type, const TargetNV50 *target) : + CodeEmitter(target), progType(type), targNV50(target) { targ = target; // specialized code = NULL; @@ -2312,8 +2310,7 @@ CodeEmitterNV50::CodeEmitterNV50(const TargetNV50 *target) : CodeEmitter * TargetNV50::getCodeEmitter(Program::Type type) { - CodeEmitterNV50 *emit = new CodeEmitterNV50(this); - emit->setProgramType(type); + CodeEmitterNV50 *emit = new CodeEmitterNV50(type, this); return emit; }