aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Dyck <ken.dyck@onsemi.com>2010-01-11 19:19:56 +0000
committerKen Dyck <ken.dyck@onsemi.com>2010-01-11 19:19:56 +0000
commitaa8741a1db98eef05f09b1200dba94aa5dc3bc3d (patch)
tree669fbb7afd26ff774b6abcf8044d7777db33a7c8
parentf950837b8250c7f08d0b7b15ace0b35740721c9d (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.h4
-rw-r--r--lib/AST/ASTContext.cpp12
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);
}
}