From: Anders Carlsson Date: Thu, 26 Feb 2009 17:31:15 +0000 (+0000) Subject: Classify enum types correctly X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=708762b66a813543078a6d1c4fc2b69ee4361ec7;p=clang Classify enum types correctly git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65533 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGCall.cpp b/lib/CodeGen/CGCall.cpp index 974b9b46f6..6de07e165e 100644 --- a/lib/CodeGen/CGCall.cpp +++ b/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()) {