summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-02-26 17:31:15 +0000
committerAnders Carlsson <andersca@mac.com>2009-02-26 17:31:15 +0000
commit600183db9ed4d28f77122d4dc58b28d2c87942fe (patch)
treecc3ac0b271e99f0adc02312979074d8bd1c68978 /clang/lib
parentb162f170da450fd6f910800f93a7834a3876dea7 (diff)
downloadbcm5719-llvm-600183db9ed4d28f77122d4dc58b28d2c87942fe.tar.gz
bcm5719-llvm-600183db9ed4d28f77122d4dc58b28d2c87942fe.zip
Classify enum types correctly
llvm-svn: 65533
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CGCall.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index 974b9b46f6d..6de07e165e6 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -522,6 +522,9 @@ void X86_64ABIInfo::classify(QualType Ty,
// FIXME: _Decimal32 and _Decimal64 are SSE.
// FIXME: _float128 and _Decimal128 are (SSE, SSEUp).
// FIXME: __int128 is (Integer, Integer).
+ } else if (const EnumType *ET = Ty->getAsEnumType()) {
+ // Classify the underlying integer type.
+ classify(ET->getDecl()->getIntegerType(), Context, OffsetBase, Lo, Hi);
} else if (Ty->isPointerLikeType() || Ty->isBlockPointerType() ||
Ty->isObjCQualifiedIdType() ||
Ty->isObjCQualifiedInterfaceType()) {
OpenPOWER on IntegriCloud