summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-09-09 06:04:29 +0000
committerDouglas Gregor <dgregor@apple.com>2009-09-09 06:04:29 +0000
commit7d98367f307fd414bb0d2c839de7e4e3f9f6912c (patch)
treeb91d7b55784073a9a2565013186f95e5f2f78360 /clang
parentccbeaf5f94bbf0d7e270e61962bcdb3b8edda835 (diff)
downloadbcm5719-llvm-7d98367f307fd414bb0d2c839de7e4e3f9f6912c.tar.gz
bcm5719-llvm-7d98367f307fd414bb0d2c839de7e4e3f9f6912c.zip
Fix a thinko
llvm-svn: 81317
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index a72ca1d01fa..8074ab94bf7 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -985,8 +985,14 @@ void Sema::MergeVarDecl(VarDecl *New, Decl *OldD) {
// unknown size and therefore be incomplete at one point in a
// translation unit and complete later on; [...]
else if (Old->getType()->isIncompleteArrayType() &&
- New->getType()->isArrayType())
- MergedT = New->getType();
+ New->getType()->isArrayType()) {
+ CanQual<ArrayType> OldArray
+ = Context.getCanonicalType(Old->getType())->getAs<ArrayType>();
+ CanQual<ArrayType> NewArray
+ = Context.getCanonicalType(New->getType())->getAs<ArrayType>();
+ if (OldArray->getElementType() == NewArray->getElementType())
+ MergedT = New->getType();
+ }
} else {
MergedT = Context.mergeTypes(New->getType(), Old->getType());
}
OpenPOWER on IntegriCloud