Reapply r198845, reverted in r198849, with a fix to make it valid C++98, not
just valid C++11 =)

Original commit message:

PR18427: Use an appropriately-aligned buffer in APValue, to avoid a crash on
SPARC, where uint64_t apparently requires higher alignment than void*.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198903 91177308-0d34-0410-b5e6-96231b3b80d8
ObjectiveC. 1) Warn when @dynamic (as well as synthesize) 
property has the naming convention that implies 'ownership'.
2) improve on diagnostic and make it property specific.
3) fix the line number in the case of default property
synthesis. // rdar://15757510


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198905 91177308-0d34-0410-b5e6-96231b3b80d8
CGRecordLayoutBuilder.cpp: Clarify if-else. [-Wdangling-else]

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198906 91177308-0d34-0410-b5e6-96231b3b80d8