Commits

Connor Wakamo committed 46d85a7b2b8
[driver] Implemented support for emitting parseable output. When "-parseable-output" is passed to the driver, it will now emit output in a parseable format. (This format is described in docs/DriverParseableOutput.rst, which was added in a previous commit.) This is achieved by adding four functions (one for each kind of message). These are in a new swift::driver::parseable_output namespace, and given the right parameters, will output the appropriate message in JSON to the given llvm::raw_ostream. These functions are then called by Compilation::performJobsInList: - "began" messages are emitted by the taskBegan callback - "finished" messages are emitted by the taskFinished callback - "signalled" messages are emitted by the taskSignalled callback - "skipped" messages are emitted by the handleCommandWhichDoesNotNeedToExecute lambda (Note that "skipped" messages will not be emitted in practice, since the driver does not yet support partial compilation.) This fixes <rdar://problem/15958329>. Swift SVN r20873