[PATCH] Abstract out parts of thunk emission code, add support for simple thunks for -cxx-abi microsoft

Timur Iskhodzhanov timurrrr at google.com
Tue Oct 8 10:56:56 PDT 2013


  Please take another look


================
Comment at: include/clang/Basic/ABI.h:139
@@ -120,1 +138,3 @@
+
+    return LHS.Method < RHS.Method;
   }
----------------
Reid Kleckner wrote:
> This is comparing the pointers which are ordered non-deterministically across executions.  The compiler's output should be deterministic, even for dumping routines, because we run FileCheck tests against it.
After discussing this on the chat, we've decided to discourage sorting ThunkInfo's unless necessary, where an ad-hoc comparator can be used.
It turned out it is necessary only for pretty printing the list of thunks, which is just once for each ABI.

================
Comment at: include/clang/Basic/ABI.h:119
@@ +118,3 @@
+  /// Otherwise, null.
+  const CXXMethodDecl *Method;
+
----------------
Reid Kleckner wrote:
> Which method is this?  The method being overridden or the overriding method?
The overridden, of course - otherwise it would be useless to distinguish thunks :)
Updated the comment to remove the ambiguity.


http://llvm-reviews.chandlerc.com/D1787



More information about the cfe-commits mailing list