diff options
author | Ken Dyck <ken.dyck@onsemi.com> | 2010-01-11 19:19:56 +0000 |
---|---|---|
committer | Ken Dyck <ken.dyck@onsemi.com> | 2010-01-11 19:19:56 +0000 |
commit | aa8741a1db98eef05f09b1200dba94aa5dc3bc3d (patch) | |
tree | 669fbb7afd26ff774b6abcf8044d7777db33a7c8 | |
parent | f950837b8250c7f08d0b7b15ace0b35740721c9d (diff) |
Change return type of getObjCEncodingTypeSize() to CharUnits as the units are in characters.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93171 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/ASTContext.h | 4 | ||||
-rw-r--r-- | lib/AST/ASTContext.cpp | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h index 3dcc55fbce..7dea6dc56f 100644 --- a/include/clang/AST/ASTContext.h +++ b/include/clang/AST/ASTContext.h @@ -699,8 +699,8 @@ public: ObjCProtocolDecl *rProto); /// getObjCEncodingTypeSize returns size of type for objective-c encoding - /// purpose. - int getObjCEncodingTypeSize(QualType t); + /// purpose in characters. + CharUnits getObjCEncodingTypeSize(QualType t); /// This setter/getter represents the ObjC 'id' type. It is setup lazily, by /// Sema. id is always a (typedef for a) pointer type, a pointer to a struct. diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index bd5ca93e1c..e729b1b58d 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -3137,7 +3137,7 @@ static bool isTypeTypedefedAsBOOL(QualType T) { /// getObjCEncodingTypeSize returns size of type for objective-c encoding /// purpose. -int ASTContext::getObjCEncodingTypeSize(QualType type) { +CharUnits ASTContext::getObjCEncodingTypeSize(QualType type) { CharUnits sz = getTypeSizeInChars(type); // Make all integer and enum types at least as large as an int @@ -3146,7 +3146,7 @@ int ASTContext::getObjCEncodingTypeSize(QualType type) { // Treat arrays as pointers, since that's how they're passed in. else if (type->isArrayType()) sz = getTypeSizeInChars(VoidPtrTy); - return sz.getQuantity(); + return sz; } static inline @@ -3172,7 +3172,7 @@ void ASTContext::getObjCEncodingForBlock(const BlockExpr *Expr, for (ObjCMethodDecl::param_iterator PI = Decl->param_begin(), E = Decl->param_end(); PI != E; ++PI) { QualType PType = (*PI)->getType(); - CharUnits sz = CharUnits::fromQuantity(getObjCEncodingTypeSize(PType)); + CharUnits sz = getObjCEncodingTypeSize(PType); assert (sz.isPositive() && "BlockExpr - Incomplete param type"); ParmOffset += sz; } @@ -3198,7 +3198,7 @@ void ASTContext::getObjCEncodingForBlock(const BlockExpr *Expr, PType = PVDecl->getType(); getObjCEncodingForType(PType, S); S += charUnitsToString(ParmOffset); - ParmOffset += CharUnits::fromQuantity(getObjCEncodingTypeSize(PType)); + ParmOffset += getObjCEncodingTypeSize(PType); } } @@ -3222,7 +3222,7 @@ void ASTContext::getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, for (ObjCMethodDecl::param_iterator PI = Decl->param_begin(), E = Decl->param_end(); PI != E; ++PI) { QualType PType = (*PI)->getType(); - CharUnits sz = CharUnits::fromQuantity(getObjCEncodingTypeSize(PType)); + CharUnits sz = getObjCEncodingTypeSize(PType); assert (sz.isPositive() && "getObjCEncodingForMethodDecl - Incomplete param type"); ParmOffset += sz; @@ -3250,7 +3250,7 @@ void ASTContext::getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, getObjCEncodingForTypeQualifier(PVDecl->getObjCDeclQualifier(), S); getObjCEncodingForType(PType, S); S += charUnitsToString(ParmOffset); - ParmOffset += CharUnits::fromQuantity(getObjCEncodingTypeSize(PType)); + ParmOffset += getObjCEncodingTypeSize(PType); } } |