diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-10-18 22:01:46 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-10-18 22:01:46 +0000 |
commit | c769d6e00733dbb261fc4ca835a18948e19db4c5 (patch) | |
tree | 3feecef54be92b636ff6daccc60a5f4236e55c7c /clang/lib/Sema/SemaCodeComplete.cpp | |
parent | d4cc3d420acc787cf5d0c6d5c076de5012a3c24d (diff) | |
download | bcm5719-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.cpp | 10 |
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; |