In the presence of #pragma pack, layouts
can be created where a base class has different alignments
in different derived classes.  The code for dealing with
base classes wasn't handling this correctly, leading to
assertions.  Rewrite the base class remapper to key off
a <type, alignment> pair instead of handling the size and
alignment cases separately.

llvm-svn: 81399
2 files changed