code: def run_iwyu(cwd, compile_command, iwyu_args, verbose, formatter):
      """Rewrite compile_command to an IWYU command, and run it."""
      compiler, _, args = compile_command.partition(" ")
      if compiler.endswith("cl.exe"):
          # If the compiler name is cl.exe, let IWYU be cl-compatible
          clang_args = ["--driver-mode=cl"]
      else:
          clang_args = []
  
      iwyu_args = ["-Xiwyu " + a for a in iwyu_args]
      command = ["include-what-you-use"] + clang_args + iwyu_args
      command = "%s %s" % (" ".join(command), args.strip())
  
      if verbose:
          print("%s:", command)
  
      formatter(get_output(cwd, command))
  
file_path: arrow/cpp/build-support/iwyu/iwyu_tool.py
imports: import os
  import sys
  import json
  import argparse
  import subprocess
  import re
  import logging
label_desc: Use image node_id 4 for calling a global function with example usage: run_iwyu(cwd, compile_command, iwyu_args, verbose, formatter) without return types