Change hasAggregateLLVMType, which conflates complex and
authorJohn McCall <rjmccall@apple.com>
Thu, 7 Mar 2013 21:37:08 +0000 (21:37 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 7 Mar 2013 21:37:08 +0000 (21:37 +0000)
commit47fb9508714ba52bfb996f7490ce0df3ca52ce88
treedc97980edcdf565f096434968750da14f66891d2
parentb1b5d0b1e817219d40617cd3b9e63b17139c2c68
Change hasAggregateLLVMType, which conflates complex and
aggregate types in a profoundly wrong way that has to be
worked around in every call site, to getEvaluationKind,
which classifies and distinguishes between all of these
cases.

Also, normalize the API for loading and storing complexes.

I'm working on a larger patch and wanted to pull these
changes out, but it would have be annoying to detangle
them from each other.

llvm-svn: 176656
19 files changed:
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CGCall.cpp
clang/lib/CodeGen/CGClass.cpp
clang/lib/CodeGen/CGCleanup.cpp
clang/lib/CodeGen/CGDecl.cpp
clang/lib/CodeGen/CGDeclCXX.cpp
clang/lib/CodeGen/CGException.cpp
clang/lib/CodeGen/CGExpr.cpp
clang/lib/CodeGen/CGExprAgg.cpp
clang/lib/CodeGen/CGExprCXX.cpp
clang/lib/CodeGen/CGExprComplex.cpp
clang/lib/CodeGen/CGExprScalar.cpp
clang/lib/CodeGen/CGObjC.cpp
clang/lib/CodeGen/CGStmt.cpp
clang/lib/CodeGen/CGVTables.cpp
clang/lib/CodeGen/CGValue.h
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/lib/CodeGen/TargetInfo.cpp