[llvm-dev] raw_pwrite_stream to string or stdout?

Rafael EspĂ­ndola via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 22 08:06:13 PST 2016


On 19 February 2016 at 16:16, Frank Winter via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> TargetMachine::addPassesToEmitFile(..)
> requires as its 2nd argument an raw_pwrite_stream.
>
> Is it possible to create such a thing which either writes into a standard
> string or streams to outs() ?


I would suggest doing what llc does:

  if ((FileType != TargetMachine::CGFT_AssemblyFile &&
         !Out->os().supportsSeeking()) ||
        CompileTwice) {
      BOS = make_unique<raw_svector_ostream>(Buffer);
      OS = BOS.get();
}

That will work even with redirects.

Cheers,
Rafael


More information about the llvm-dev mailing list