Finally, this patch moves from round-tripping one CompilerInvocation at a time to round-tripping the invocation as a whole.
This patch includes only the code required to make round-tripping the whole invocation work. More cleanups will be done in a follow-up patch.
This is failing our build, This line and line 686. The msg is:
llvm-project/clang/lib/Frontend/CompilerInvocation.cpp:666:3: error: too few template arguments for class template 'SmallVector'
llvm-project/clang/include/clang/Basic/LLVM.h:35:42: note: template is declared here
llvm-project/clang/lib/Frontend/CompilerInvocation.cpp:686:3: error: too few template arguments for class template 'SmallVector'
llvm-project/clang/include/clang/Basic/LLVM.h:35:42: note: template is declared here
2 errors generated.