aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-10-30 22:56:57 +0000
committerDouglas Gregor <dgregor@apple.com>2009-10-30 22:56:57 +0000
commit87a924e37dc40c6e3e2b33d1dbd646aeccf4c15b (patch)
treee16bb7592bd77b4b91cbd0407f478ea6d033acf7
parent682054c52e8e7ebd7280e13d2cb26f8a9a17485a (diff)
Fix a crazy canonical-types bug because canonicalizing a
dependently-sized array type with a given expression might end up returning a non-canonical type; see through that non-canonical type to the underlying canonical type. Yes, I have a test case; no, I can't reduce it to the point where it's worth checking in :( git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85633 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/AST/ASTContext.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index f29f56e278..d445125459 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -2305,7 +2305,7 @@ CanQualType ASTContext::getCanonicalType(QualType T) {
DSAT->getSizeExpr()->Retain() : 0,
DSAT->getSizeModifier(),
DSAT->getIndexTypeCVRQualifiers(),
- DSAT->getBracketsRange()));
+ DSAT->getBracketsRange())->getCanonicalTypeInternal());
VariableArrayType *VAT = cast<VariableArrayType>(AT);
return CanQualType::CreateUnsafe(getVariableArrayType(NewEltTy,