On Thu, Jul 16, 2015 at 8:42 PM, Bob Wilson <[email protected]> wrote: > Clang used to silently ignore __declspec(novtable) for all platforms, but it > is now implemented for Windows. However, we don’t check if the target is > Windows. This does not work when using the Itanium ABI, where the class > layout for complex class hierarchies is stored in the vtable. Leaving the > vtable uninitialized on non-Windows platforms does not work in that case. It > might be possible to honor the novtable attribute in some simple cases and > either report an error or ignore it in more complex situations, but it’s not > clear if that would be worthwhile. There is also value in having a simple and > predictable behavior, so I am proposed the attached patch which simply > ignores novtable on non-Windows platforms.
MSVC supports an Itanium build target. What does __declspec(novtable) do there with the complex class layouts? I don't have Visual Studio installed with support for Itanium, otherwise I would test this myself. ~Aaron > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
