diff options
| author | Ilya Biryukov <ibiryukov@google.com> | 2018-12-05 17:38:39 +0000 |
|---|---|---|
| committer | Ilya Biryukov <ibiryukov@google.com> | 2018-12-05 17:38:39 +0000 |
| commit | 98397555a51b61fabfc992ebcb054072eb5720c2 (patch) | |
| tree | 270efda3a97f641b3226eb7b3322324f4767bcee /clang/test/CodeCompletion | |
| parent | 899b3afacaec07d06e3923a722681ab2e5474b40 (diff) | |
| download | bcm5719-llvm-98397555a51b61fabfc992ebcb054072eb5720c2.tar.gz bcm5719-llvm-98397555a51b61fabfc992ebcb054072eb5720c2.zip | |
[CodeComplete] Fix a crash in access checks of inner classes
Summary: The crash was introduced in r348135.
Reviewers: kadircet
Reviewed By: kadircet
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D55260
llvm-svn: 348387
Diffstat (limited to 'clang/test/CodeCompletion')
| -rw-r--r-- | clang/test/CodeCompletion/accessibility.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/clang/test/CodeCompletion/accessibility.cpp b/clang/test/CodeCompletion/accessibility.cpp index 754d8228ad4..a050efc9a73 100644 --- a/clang/test/CodeCompletion/accessibility.cpp +++ b/clang/test/CodeCompletion/accessibility.cpp @@ -71,3 +71,52 @@ class Y : public X { // RUN: | FileCheck -check-prefix=UNRELATED %s } }; + +class Outer { + public: + static int pub; + protected: + static int prot; + private: + static int priv; + + class Inner { + int test() { + Outer::pub = 10; + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:85:14 %s -o - \ + // RUN: | FileCheck -check-prefix=OUTER %s + // OUTER: priv : [#int#]priv + // OUTER: prot : [#int#]prot + // OUTER: pub : [#int#]pub + + // Also check the unqualified case. + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:85:1 %s -o - \ + // RUN: | FileCheck -check-prefix=OUTER %s + } + }; +}; + +class Base { +public: + int pub; +}; + +class Accessible : public Base { +}; + +class Inaccessible : private Base { +}; + +class Test : public Accessible, public Inaccessible { + int test() { + this->Accessible::pub = 10; + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:112:23 %s -o - \ + // RUN: | FileCheck -check-prefix=ACCESSIBLE %s + // ACCESSIBLE: pub (InBase) + + this->Inaccessible::pub = 10; + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:117:25 %s -o - \ + // RUN: | FileCheck -check-prefix=INACCESSIBLE %s + // INACCESSIBLE: pub (InBase,Inaccessible) + } +}; |

