erik.pilkington added a comment.
This looks correct, but I definitely agree that RAII would make this a lot
nicer. Have you considered adding a `CancelableSaveAndRestore` or something to
SaveAndRestore.h? It seems useful and generic enough to make it worthwhile.
Otherwise, you could just write your own RAII object special-cased to handle
this. A less intrusive way of doing this might be to wrap calls to this
function with another that checks if the return value is TDK_Success, and if so
restores these fields.
================
Comment at: lib/Sema/SemaTemplateDeduction.cpp:1376
if (const ComplexType *ComplexArg = Arg->getAs<ComplexType>())
return DeduceTemplateArgumentsByTypeMatch(S, TemplateParams,
cast<ComplexType>(Param)->getElementType(),
----------------
What if this return TDK_Success?
https://reviews.llvm.org/D40284
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits