diff options
| -rw-r--r-- | clang/include/clang/AST/DeclLookups.h | 4 | ||||
| -rw-r--r-- | clang/test/Index/complete-preamble.cpp | 8 | ||||
| -rw-r--r-- | clang/test/Index/complete-preamble.h | 6 |
3 files changed, 16 insertions, 2 deletions
diff --git a/clang/include/clang/AST/DeclLookups.h b/clang/include/clang/AST/DeclLookups.h index b8abe97be1f..867b4652575 100644 --- a/clang/include/clang/AST/DeclLookups.h +++ b/clang/include/clang/AST/DeclLookups.h @@ -67,7 +67,7 @@ public: DeclContext::all_lookups_iterator DeclContext::lookups_begin() const { DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext(); - if (hasExternalVisibleStorage()) + if (Primary->hasExternalVisibleStorage()) getParentASTContext().getExternalSource()->completeVisibleDeclsMap(Primary); if (StoredDeclsMap *Map = Primary->buildLookup()) return all_lookups_iterator(Map->begin(), Map->end()); @@ -76,7 +76,7 @@ DeclContext::all_lookups_iterator DeclContext::lookups_begin() const { DeclContext::all_lookups_iterator DeclContext::lookups_end() const { DeclContext *Primary = const_cast<DeclContext*>(this)->getPrimaryContext(); - if (hasExternalVisibleStorage()) + if (Primary->hasExternalVisibleStorage()) getParentASTContext().getExternalSource()->completeVisibleDeclsMap(Primary); if (StoredDeclsMap *Map = Primary->buildLookup()) return all_lookups_iterator(Map->end(), Map->end()); diff --git a/clang/test/Index/complete-preamble.cpp b/clang/test/Index/complete-preamble.cpp new file mode 100644 index 00000000000..8f481052252 --- /dev/null +++ b/clang/test/Index/complete-preamble.cpp @@ -0,0 +1,8 @@ +#include "complete-preamble.h" +void f() { + std:: +} + +// RUN: env CINDEXTEST_EDITING=1 c-index-test -code-completion-at=%s:3:8 %s -o - | FileCheck -check-prefix=CC1 %s +// CHECK-CC1: {ResultType void}{TypedText wibble}{LeftParen (}{RightParen )} (50) (parent: Namespace 'std') + diff --git a/clang/test/Index/complete-preamble.h b/clang/test/Index/complete-preamble.h new file mode 100644 index 00000000000..e696284c096 --- /dev/null +++ b/clang/test/Index/complete-preamble.h @@ -0,0 +1,6 @@ +namespace std { + void wibble(); +} + +namespace std { +} |

