summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-06-04 16:04:37 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-06-04 16:04:37 +0000
commitf0dc11ad7f5ca007636a3e6fdc69adf878768bc3 (patch)
tree3074f00dfb26ed2adaa5f9cc75ba2af074225809 /clang/lib/AST
parent6f0a5edb3f9fb635c7081c633ab0f433da836123 (diff)
downloadbcm5719-llvm-f0dc11ad7f5ca007636a3e6fdc69adf878768bc3.tar.gz
bcm5719-llvm-f0dc11ad7f5ca007636a3e6fdc69adf878768bc3.zip
Objective-C encoding. Fixes up encodeing for
arrays of empty structs. // rdar://14053082 (also pr13062). llvm-svn: 183234
Diffstat (limited to 'clang/lib/AST')
-rw-r--r--clang/lib/AST/ASTContext.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index 333e80be306..1f89e3f1f69 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -5242,12 +5242,9 @@ void ASTContext::getObjCEncodingForTypeImpl(QualType T, std::string& S,
} else {
S += '[';
- if (const ConstantArrayType *CAT = dyn_cast<ConstantArrayType>(AT)) {
- if (getTypeSize(CAT->getElementType()) == 0)
- S += '0';
- else
- S += llvm::utostr(CAT->getSize().getZExtValue());
- } else {
+ if (const ConstantArrayType *CAT = dyn_cast<ConstantArrayType>(AT))
+ S += llvm::utostr(CAT->getSize().getZExtValue());
+ else {
//Variable length arrays are encoded as a regular array with 0 elements.
assert((isa<VariableArrayType>(AT) || isa<IncompleteArrayType>(AT)) &&
"Unknown array type!");
OpenPOWER on IntegriCloud