[cfe-commits] [Microsoft ABI review] Work around infinite recursion in class constructor/destructor

Timur Iskhodzhanov timurrrr at google.com
Tue Apr 17 11:19:18 PDT 2012


Hi John,

Can you please review the attached patch and suggest how to make it
better if needed?
See also http://llvm.org/bugs/show_bug.cgi?id=12574

Questions:
1) It was tested only on simple class constructor/destructor, without
inheritance etc.
  However, since the code was broken before, supporting at least a
simple case sounds like a win anyways.
  I'm not sure how to make a more general solution at the moment.
  [FTR: the idea of the extra conditions was taken from Dmitry's patch
for Microsoft C++ ABI support]

2) How should I test that apps built with "-cxx-abi microsoft" actually work?
  I've written a short "smoke" test that runs the resultant .exe but
it won't work on Linux.
  For me, it has required a few hacks to work on Windows too [e.g. set
LIB env in the lit.cfg].
  I don't think the test I wrote is a good solution...
  Alternative suggestions are welcome!
  For example, I can re-make the test as a compile-only test just to
ensure we don't have infinite loops anymore.

Thanks!
Timur Iskhodzhanov,
Google Russia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug12574.patch
Type: application/octet-stream
Size: 1938 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120417/c71847b0/attachment.obj>


More information about the cfe-commits mailing list