Cleanup in dbg_stoppoint handling in CBE. Patch by Sandeep Patel.

llvm-svn: 78182
This commit is contained in:
Anton Korobeynikov 2009-08-05 09:31:40 +00:00
parent 68d8634871
commit de8b1b2e7d
1 changed files with 6 additions and 7 deletions

View File

@ -3160,16 +3160,15 @@ bool CWriter::visitBuiltinCall(CallInst &I, Intrinsic::ID ID,
case Intrinsic::dbg_stoppoint: { case Intrinsic::dbg_stoppoint: {
// If we use writeOperand directly we get a "u" suffix which is rejected // If we use writeOperand directly we get a "u" suffix which is rejected
// by gcc. // by gcc.
std::stringstream SPIStr;
DbgStopPointInst &SPI = cast<DbgStopPointInst>(I); DbgStopPointInst &SPI = cast<DbgStopPointInst>(I);
SPI.getDirectory()->print(SPIStr); std::string dir;
GetConstantStringInfo(SPI.getDirectory(), dir);
std::string file;
GetConstantStringInfo(SPI.getFileName(), file);
Out << "\n#line " Out << "\n#line "
<< SPI.getLine() << SPI.getLine()
<< " \""; << " \""
Out << SPIStr.str(); << dir << '/' << file << "\"\n";
SPIStr.clear();
SPI.getFileName()->print(SPIStr);
Out << SPIStr.str() << "\"\n";
return true; return true;
} }
case Intrinsic::x86_sse_cmp_ss: case Intrinsic::x86_sse_cmp_ss: