[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.


More information about the llvm-dev mailing list