mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-02 07:32:52 +00:00
Modify how CBE handles #lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26990 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b8509c5752
commit
580418e082
@ -21,6 +21,7 @@
|
||||
#include "llvm/PassManager.h"
|
||||
#include "llvm/SymbolTable.h"
|
||||
#include "llvm/Intrinsics.h"
|
||||
#include "llvm/IntrinsicInst.h"
|
||||
#include "llvm/Analysis/ConstantsScanner.h"
|
||||
#include "llvm/Analysis/FindUsedTypes.h"
|
||||
#include "llvm/Analysis/LoopInfo.h"
|
||||
@ -1715,17 +1716,12 @@ void CWriter::visitCallInst(CallInst &I) {
|
||||
case Intrinsic::dbg_stoppoint: {
|
||||
// If we use writeOperand directly we get a "u" suffix which is rejected
|
||||
// by gcc.
|
||||
ConstantUInt *SI = cast<ConstantUInt>(I.getOperand(1));
|
||||
GlobalVariable *GV = cast<GlobalVariable>(I.getOperand(3));
|
||||
ConstantStruct *CS = cast<ConstantStruct>(GV->getInitializer());
|
||||
std::string FileName = CS->getOperand(4)->getStringValue();
|
||||
std::string Directory = CS->getOperand(5)->getStringValue();
|
||||
DbgStopPointInst &SPI = cast<DbgStopPointInst>(I);
|
||||
|
||||
Out << "\n#line "
|
||||
<< SI->getValue()
|
||||
<< " \"" << Directory << FileName << "\"\n";
|
||||
// Need to set result.
|
||||
Out << "0";
|
||||
<< SPI.getLine()
|
||||
<< " \"" << SPI.getDirectory()
|
||||
<< SPI.getFileName() << "\"\n";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "llvm/PassManager.h"
|
||||
#include "llvm/SymbolTable.h"
|
||||
#include "llvm/Intrinsics.h"
|
||||
#include "llvm/IntrinsicInst.h"
|
||||
#include "llvm/Analysis/ConstantsScanner.h"
|
||||
#include "llvm/Analysis/FindUsedTypes.h"
|
||||
#include "llvm/Analysis/LoopInfo.h"
|
||||
@ -1715,17 +1716,12 @@ void CWriter::visitCallInst(CallInst &I) {
|
||||
case Intrinsic::dbg_stoppoint: {
|
||||
// If we use writeOperand directly we get a "u" suffix which is rejected
|
||||
// by gcc.
|
||||
ConstantUInt *SI = cast<ConstantUInt>(I.getOperand(1));
|
||||
GlobalVariable *GV = cast<GlobalVariable>(I.getOperand(3));
|
||||
ConstantStruct *CS = cast<ConstantStruct>(GV->getInitializer());
|
||||
std::string FileName = CS->getOperand(4)->getStringValue();
|
||||
std::string Directory = CS->getOperand(5)->getStringValue();
|
||||
DbgStopPointInst &SPI = cast<DbgStopPointInst>(I);
|
||||
|
||||
Out << "\n#line "
|
||||
<< SI->getValue()
|
||||
<< " \"" << Directory << FileName << "\"\n";
|
||||
// Need to set result.
|
||||
Out << "0";
|
||||
<< SPI.getLine()
|
||||
<< " \"" << SPI.getDirectory()
|
||||
<< SPI.getFileName() << "\"\n";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user