aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2012-07-27 12:56:09 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2012-07-27 12:56:09 +0000
commitec98f2fe45acd9a475752a27fb33fbe96c1fcb44 (patch)
tree8262f8e84821e31f315a5d327c7135701ee01392
parentb399696572b5c610e8b88574084f7982c715dc94 (diff)
Fix an assertion failure when code completing an auto variable's initialiser.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160857 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Parse/ParseDecl.cpp1
-rw-r--r--test/CodeCompletion/auto.cpp2
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index b2a6b4bb41..ea514d3826 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -1580,6 +1580,7 @@ Decl *Parser::ParseDeclarationAfterDeclaratorAndAttributes(Declarator &D,
if (Tok.is(tok::code_completion)) {
Actions.CodeCompleteInitializer(getCurScope(), ThisDecl);
+ Actions.FinalizeDeclaration(ThisDecl);
cutOffParsing();
return 0;
}
diff --git a/test/CodeCompletion/auto.cpp b/test/CodeCompletion/auto.cpp
new file mode 100644
index 0000000000..1fc9fb035d
--- /dev/null
+++ b/test/CodeCompletion/auto.cpp
@@ -0,0 +1,2 @@
+// RUN: %clang_cc1 -std=c++11 -code-completion-at=%s:2:9 %s
+auto i =