Mesa (main): nvc0/ir: Initialize CodeEmitterNVC0 member progType in constructor.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 17 05:58:38 UTC 2021


Module: Mesa
Branch: main
Commit: 3333a96b6fed7020c70af5809c791a3875b5b19a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3333a96b6fed7020c70af5809c791a3875b5b19a

Author: Vinson Lee <vlee at freedesktop.org>
Date:   Sun Jun 13 16:57:32 2021 -0700

nvc0/ir: Initialize CodeEmitterNVC0 member progType in constructor.

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.

Signed-off-by: Vinson Lee <vlee at freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11350>

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
index 835992065a0..825d7f0ba67 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
@@ -29,14 +29,12 @@ namespace nv50_ir {
 class CodeEmitterNVC0 : public CodeEmitter
 {
 public:
-   CodeEmitterNVC0(const TargetNVC0 *);
+   CodeEmitterNVC0(const TargetNVC0 *, Program::Type);
 
    virtual bool emitInstruction(Instruction *);
    virtual uint32_t getMinEncodingSize(const Instruction *) const;
    virtual void prepareEmission(Function *);
 
-   inline void setProgramType(Program::Type pType) { progType = pType; }
-
 private:
    const TargetNVC0 *targNVC0;
 
@@ -3519,9 +3517,10 @@ CodeEmitterNVC0::prepareEmission(Function *func)
       calculateSchedDataNVC0(targ, func);
 }
 
-CodeEmitterNVC0::CodeEmitterNVC0(const TargetNVC0 *target)
+CodeEmitterNVC0::CodeEmitterNVC0(const TargetNVC0 *target, Program::Type type)
    : CodeEmitter(target),
      targNVC0(target),
+     progType(type),
      writeIssueDelays(target->hasSWSched)
 {
    code = NULL;
@@ -3532,8 +3531,7 @@ CodeEmitterNVC0::CodeEmitterNVC0(const TargetNVC0 *target)
 CodeEmitter *
 TargetNVC0::createCodeEmitterNVC0(Program::Type type)
 {
-   CodeEmitterNVC0 *emit = new CodeEmitterNVC0(this);
-   emit->setProgramType(type);
+   CodeEmitterNVC0 *emit = new CodeEmitterNVC0(this, type);
    return emit;
 }
 



More information about the mesa-commit mailing list