This patch adds support of #pragma vtordisp inside functions in attempt to improve compatibility. Microsoft compiler appears to save the stack of vtordisp modes on entry of struct methods' bodies and restore it on exit (method-local vtordisp).
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
I went ahead and ran some of your test cases through MSVC, and I agree with your results. This is pretty interesting behavior. Thanks for looking into it! Looks good.
test/SemaCXX/pragma-vtordisp.cpp | ||
---|---|---|
35–37 | With your changes, can we enable this test? |
Comment Actions
Only tests have been updated: enabled a test case for Sema, which pass with these changes, added corresponding test case for CodeGen.
test/SemaCXX/pragma-vtordisp.cpp | ||
---|---|---|
34–37 | Yes, we can. Enabled this case, it passes with these changes. |
With your changes, can we enable this test?