diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-02-26 17:31:15 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-02-26 17:31:15 +0000 |
| commit | 600183db9ed4d28f77122d4dc58b28d2c87942fe (patch) | |
| tree | cc3ac0b271e99f0adc02312979074d8bd1c68978 /clang/lib | |
| parent | b162f170da450fd6f910800f93a7834a3876dea7 (diff) | |
| download | bcm5719-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.cpp | 3 |
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()) { |

