This patch extends libclang by allowing it to record parsing operations to a temporary JSON file. The file is deleted after parsing succeeds. When a crash happens during parsing, the file is preserved and the client will be able to use it to generate a reproducer for the crash.
These files are not emitted by default, and the client has to specify the invocation emission path first.
rdar://35322543