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

Reply via email to