mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
For PR1486:
Avoid overwriting the APInt instance with 0 bytes which causes the bitwidth to be set to 0 (illegal) producing a subsequent assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37391 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e7ae1a9dee
commit
e770787be1
@ -610,7 +610,7 @@ void Interpreter::popStackAndReturnValueToCaller (const Type *RetTy,
|
|||||||
if (RetTy && RetTy->isInteger()) { // Nonvoid return type?
|
if (RetTy && RetTy->isInteger()) { // Nonvoid return type?
|
||||||
ExitValue = Result; // Capture the exit value of the program
|
ExitValue = Result; // Capture the exit value of the program
|
||||||
} else {
|
} else {
|
||||||
memset(&ExitValue, 0, sizeof(ExitValue));
|
memset(&ExitValue.Untyped, 0, sizeof(ExitValue.Untyped));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// If we have a previous stack frame, and we have a previous call,
|
// If we have a previous stack frame, and we have a previous call,
|
||||||
|
@ -54,7 +54,7 @@ ExecutionEngine *Interpreter::create(ModuleProvider *MP, std::string* ErrStr) {
|
|||||||
//
|
//
|
||||||
Interpreter::Interpreter(Module *M) : ExecutionEngine(M), TD(M) {
|
Interpreter::Interpreter(Module *M) : ExecutionEngine(M), TD(M) {
|
||||||
|
|
||||||
memset(&ExitValue, 0, sizeof(ExitValue));
|
memset(&ExitValue.Untyped, 0, sizeof(ExitValue.Untyped));
|
||||||
setTargetData(&TD);
|
setTargetData(&TD);
|
||||||
// Initialize the "backend"
|
// Initialize the "backend"
|
||||||
initializeExecutionEngine();
|
initializeExecutionEngine();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user