summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCodeComplete.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-10-18 22:01:46 +0000
committerDouglas Gregor <dgregor@apple.com>2010-10-18 22:01:46 +0000
commitc769d6e00733dbb261fc4ca835a18948e19db4c5 (patch)
tree3feecef54be92b636ff6daccc60a5f4236e55c7c /clang/lib/Sema/SemaCodeComplete.cpp
parentd4cc3d420acc787cf5d0c6d5c076de5012a3c24d (diff)
downloadbcm5719-llvm-c769d6e00733dbb261fc4ca835a18948e19db4c5.tar.gz
bcm5719-llvm-c769d6e00733dbb261fc4ca835a18948e19db4c5.zip
Fix the translation of the PCC_ForInit code-completion context for
C++/C99/Objective-C, so that we properly include types. This fix affects global caching of code-completion results; without caching, the behavior was already correct. llvm-svn: 116757
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r--clang/lib/Sema/SemaCodeComplete.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp
index 5b340d2e7b6..b07ae391f96 100644
--- a/clang/lib/Sema/SemaCodeComplete.cpp
+++ b/clang/lib/Sema/SemaCodeComplete.cpp
@@ -2589,9 +2589,15 @@ static enum CodeCompletionContext::Kind mapCodeCompletionContext(Sema &S,
case Sema::PCC_RecoveryInFunction:
return CodeCompletionContext::CCC_Recovery;
-
- case Sema::PCC_Expression:
+
case Sema::PCC_ForInit:
+ if (S.getLangOptions().CPlusPlus || S.getLangOptions().C99 ||
+ S.getLangOptions().ObjC1)
+ return CodeCompletionContext::CCC_ParenthesizedExpression;
+ else
+ return CodeCompletionContext::CCC_Expression;
+
+ case Sema::PCC_Expression:
case Sema::PCC_Condition:
return CodeCompletionContext::CCC_Expression;
OpenPOWER on IntegriCloud