Mercurial > projects > ldc
comparison gen/toobj.cpp @ 1266:17d4d554300a
Force 'fast' compilation when debug info is requested. LLVM trunk seems to
skip debug info for non-fast compilation.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 26 Apr 2009 18:21:07 +0200 |
parents | 2a92c115461d |
children | 0686701178d3 |
comparison
equal
deleted
inserted
replaced
1265:bbe6d2b87842 | 1266:17d4d554300a |
---|---|
267 Passes.add(new TargetData(*Target.getTargetData())); | 267 Passes.add(new TargetData(*Target.getTargetData())); |
268 | 268 |
269 // Ask the target to add backend passes as necessary. | 269 // Ask the target to add backend passes as necessary. |
270 MachineCodeEmitter *MCE = 0; | 270 MachineCodeEmitter *MCE = 0; |
271 | 271 |
272 //TODO: May want to switch it on for -O0? | 272 // debug info doesn't work properly without fast! |
273 bool Fast = false; | 273 bool Fast = !optimize() || global.params.symdebug; |
274 FileModel::Model mod = Target.addPassesToEmitFile(Passes, out, TargetMachine::AssemblyFile, Fast); | 274 FileModel::Model mod = Target.addPassesToEmitFile(Passes, out, TargetMachine::AssemblyFile, Fast); |
275 assert(mod == FileModel::AsmFile); | 275 assert(mod == FileModel::AsmFile); |
276 | 276 |
277 bool err = Target.addPassesToEmitFileFinish(Passes, MCE, Fast); | 277 bool err = Target.addPassesToEmitFileFinish(Passes, MCE, Fast); |
278 assert(!err); | 278 assert(!err); |