mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-18 06:38:41 +00:00
llvm/lib/MC/MCParser/AsmParser.cpp: [ms-inline-asm] Fix a couple of undefined behaviors. Operand->needAddressOf() is not initialized at !Operand->isReg().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172153 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
805141e504
commit
51873db5af
@ -3934,7 +3934,8 @@ bool AsmParser::ParseMSInlineAsm(void *AsmLoc, std::string &AsmString,
|
|||||||
std::string Constraint = "=";
|
std::string Constraint = "=";
|
||||||
++InputIdx;
|
++InputIdx;
|
||||||
OutputDecls.push_back(OpDecl);
|
OutputDecls.push_back(OpDecl);
|
||||||
OutputDeclsAddressOf.push_back(Operand->needAddressOf());
|
OutputDeclsAddressOf.push_back(Operand->isReg() &&
|
||||||
|
Operand->needAddressOf());
|
||||||
Constraint += Operand->getConstraint().str();
|
Constraint += Operand->getConstraint().str();
|
||||||
OutputConstraints.push_back(Constraint);
|
OutputConstraints.push_back(Constraint);
|
||||||
AsmStrRewrites.push_back(AsmRewrite(AOK_Output,
|
AsmStrRewrites.push_back(AsmRewrite(AOK_Output,
|
||||||
@ -3942,7 +3943,8 @@ bool AsmParser::ParseMSInlineAsm(void *AsmLoc, std::string &AsmString,
|
|||||||
Operand->getNameLen()));
|
Operand->getNameLen()));
|
||||||
} else {
|
} else {
|
||||||
InputDecls.push_back(OpDecl);
|
InputDecls.push_back(OpDecl);
|
||||||
InputDeclsAddressOf.push_back(Operand->needAddressOf());
|
InputDeclsAddressOf.push_back(Operand->isReg() &&
|
||||||
|
Operand->needAddressOf());
|
||||||
InputConstraints.push_back(Operand->getConstraint().str());
|
InputConstraints.push_back(Operand->getConstraint().str());
|
||||||
AsmStrRewrites.push_back(AsmRewrite(AOK_Input,
|
AsmStrRewrites.push_back(AsmRewrite(AOK_Input,
|
||||||
Operand->getStartLoc(),
|
Operand->getStartLoc(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user