Rewrite the TrailingObjects template to provide two new features:
authorJames Y Knight <jyknight@google.com>
Fri, 18 Dec 2015 22:54:37 +0000 (22:54 +0000)
committerJames Y Knight <jyknight@google.com>
Fri, 18 Dec 2015 22:54:37 +0000 (22:54 +0000)
commitca5c277bdf14f18f69ef36ef43f350e95a20f69b
treeca3844c979f41252c07c38cdcfdcb0f40002fecd
parentecd3b686c16a76758f2187a71dda392340e77e92
Rewrite the TrailingObjects template to provide two new features:

 - Automatic alignment of the base type for the alignment requirements
   of the trailing types.

 - Support for an arbitrary numbers of trailing types, instead of only
   1 or 2, by using a variadic template implementation.

Upcoming commits to clang will take advantage of both of these features.

Differential Revision: http://reviews.llvm.org/D12439

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256054 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/TrailingObjects.h
unittests/Support/TrailingObjectsTest.cpp