Spinoff from D119051 to experiment with moving properties from TargetCXXABI to TargetInfo.
This is incomplete as it fails a couple of clang tests at the moment:
Clang :: CodeGenCXX/armv7k.cpp Clang :: Layout/watchos-standard-layout.cpp
Haven't looked into why those are failing, but posting the code to see if this is even in the right ballpark of what was being suggested
The virtual method works, but it does seem to have caused a behavior change. I would be fine with switches and conditionals on the LLVM triple, or a TargetInfo field set in the constructor. That's how a lot of these flag-like behaviors are controlled. Whatever makes things easy.
My concern was more that we should put the target's rules for tail padding next to the target's rules for what constitutes POD-ness.