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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user