Implements <rdar://problem/8274883>. llvm-svn: 112296
llvm-svn: 112139
(C) API, and will likely grow further in this direction in the future. llvm-svn: 102779