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 <imirkin@alum.mit.edu>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10562>
This commit is contained in:
Vinson Lee
2021-04-30 18:24:52 -07:00
committed by Marge Bot
parent b1f6aa6e48
commit 38de1cd5f0
@@ -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;
}