diff options
Diffstat (limited to 'test/CodeCompletion')
-rw-r--r-- | test/CodeCompletion/Inputs/macros.h | 4 | ||||
-rw-r--r-- | test/CodeCompletion/enum-switch-case-qualified.cpp | 14 | ||||
-rw-r--r-- | test/CodeCompletion/enum-switch-case.c | 10 | ||||
-rw-r--r-- | test/CodeCompletion/enum-switch-case.cpp | 10 | ||||
-rw-r--r-- | test/CodeCompletion/macros.c | 30 | ||||
-rw-r--r-- | test/CodeCompletion/member-access.cpp | 22 | ||||
-rw-r--r-- | test/CodeCompletion/namespace-alias.cpp | 10 | ||||
-rw-r--r-- | test/CodeCompletion/namespace.cpp | 4 | ||||
-rw-r--r-- | test/CodeCompletion/nested-name-specifier.cpp | 6 | ||||
-rw-r--r-- | test/CodeCompletion/objc-message.m | 16 | ||||
-rw-r--r-- | test/CodeCompletion/operator.cpp | 12 | ||||
-rw-r--r-- | test/CodeCompletion/ordinary-name.c | 7 | ||||
-rw-r--r-- | test/CodeCompletion/ordinary-name.cpp | 171 | ||||
-rw-r--r-- | test/CodeCompletion/tag.c | 4 | ||||
-rw-r--r-- | test/CodeCompletion/tag.cpp | 16 | ||||
-rw-r--r-- | test/CodeCompletion/truncation.c | 10 | ||||
-rw-r--r-- | test/CodeCompletion/using-namespace.cpp | 10 | ||||
-rw-r--r-- | test/CodeCompletion/using.cpp | 12 |
18 files changed, 273 insertions, 95 deletions
diff --git a/test/CodeCompletion/Inputs/macros.h b/test/CodeCompletion/Inputs/macros.h new file mode 100644 index 0000000..98b5ac6 --- /dev/null +++ b/test/CodeCompletion/Inputs/macros.h @@ -0,0 +1,4 @@ +#define FOO +#define BAR(X, Y) X, Y +#define IDENTITY(X) X +#define WIBBLE(...) diff --git a/test/CodeCompletion/enum-switch-case-qualified.cpp b/test/CodeCompletion/enum-switch-case-qualified.cpp index d441269..b9efcb4 100644 --- a/test/CodeCompletion/enum-switch-case-qualified.cpp +++ b/test/CodeCompletion/enum-switch-case-qualified.cpp @@ -22,11 +22,11 @@ void test(enum N::C::Color color) { switch (color) { case // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:23:8 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: Blue : 0 : [#enum M::N::C::Color#]N::C::Blue - // CHECK-CC1-NEXT: Green : 0 : [#enum M::N::C::Color#]N::C::Green - // CHECK-CC1-NEXT: Indigo : 0 : [#enum M::N::C::Color#]N::C::Indigo - // CHECK-CC1-NEXT: Orange : 0 : [#enum M::N::C::Color#]N::C::Orange - // CHECK-CC1-NEXT: Red : 0 : [#enum M::N::C::Color#]N::C::Red - // CHECK-CC1-NEXT: Violet : 0 : [#enum M::N::C::Color#]N::C::Violet - // CHECK-CC1: Yellow : 0 : [#enum M::N::C::Color#]N::C::Yellow + // CHECK-CC1: Blue : [#enum M::N::C::Color#]N::C::Blue + // CHECK-CC1-NEXT: Green : [#enum M::N::C::Color#]N::C::Green + // CHECK-CC1-NEXT: Indigo : [#enum M::N::C::Color#]N::C::Indigo + // CHECK-CC1-NEXT: Orange : [#enum M::N::C::Color#]N::C::Orange + // CHECK-CC1-NEXT: Red : [#enum M::N::C::Color#]N::C::Red + // CHECK-CC1-NEXT: Violet : [#enum M::N::C::Color#]N::C::Violet + // CHECK-CC1: Yellow : [#enum M::N::C::Color#]N::C::Yellow diff --git a/test/CodeCompletion/enum-switch-case.c b/test/CodeCompletion/enum-switch-case.c index 1a7c58f..0820726 100644 --- a/test/CodeCompletion/enum-switch-case.c +++ b/test/CodeCompletion/enum-switch-case.c @@ -20,9 +20,9 @@ void test(enum Color color) { break; // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:19:10 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: Blue : 0 - // CHECK-CC1-NEXT: Green : 0 - // CHECK-CC1-NEXT: Indigo : 0 - // CHECK-CC1-NEXT: Orange : 0 - // CHECK-CC1-NEXT: Violet : 0 + // CHECK-CC1: Blue + // CHECK-CC1-NEXT: Green + // CHECK-CC1-NEXT: Indigo + // CHECK-CC1-NEXT: Orange + // CHECK-CC1-NEXT: Violet diff --git a/test/CodeCompletion/enum-switch-case.cpp b/test/CodeCompletion/enum-switch-case.cpp index ee8faca..412f5f2 100644 --- a/test/CodeCompletion/enum-switch-case.cpp +++ b/test/CodeCompletion/enum-switch-case.cpp @@ -20,9 +20,9 @@ void test(enum N::Color color) { case // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:21:8 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: Blue : 0 : [#enum N::Color#]N::Blue - // CHECK-CC1-NEXT: Green : 0 : [#enum N::Color#]N::Green - // CHECK-CC1-NEXT: Indigo : 0 : [#enum N::Color#]N::Indigo - // CHECK-CC1-NEXT: Orange : 0 : [#enum N::Color#]N::Orange - // CHECK-CC1-NEXT: Violet : 0 : [#enum N::Color#]N::Violet + // CHECK-CC1: Blue : [#enum N::Color#]N::Blue + // CHECK-CC1-NEXT: Green : [#enum N::Color#]N::Green + // CHECK-CC1-NEXT: Indigo : [#enum N::Color#]N::Indigo + // CHECK-CC1-NEXT: Orange : [#enum N::Color#]N::Orange + // CHECK-CC1-NEXT: Violet : [#enum N::Color#]N::Violet diff --git a/test/CodeCompletion/macros.c b/test/CodeCompletion/macros.c index 0ba2f06..6330d25 100644 --- a/test/CodeCompletion/macros.c +++ b/test/CodeCompletion/macros.c @@ -1,8 +1,3 @@ -#define FOO -#define BAR(X, Y) X, Y -#define IDENTITY(X) X -#define WIBBLE(...) - enum Color { Red, Green, Blue }; @@ -13,24 +8,31 @@ struct Point { }; void test(struct Point *p) { - // RUN: %clang_cc1 -fsyntax-only -code-completion-macros -code-completion-at=%s:17:14 %s -o - | FileCheck -check-prefix=CC1 %s + // RUN: %clang_cc1 -include %S/Inputs/macros.h -fsyntax-only -code-completion-macros -code-completion-at=%s:12:14 %s -o - | FileCheck -check-prefix=CC1 %s switch (p->IDENTITY(color)) { - // RUN: %clang_cc1 -fsyntax-only -code-completion-macros -code-completion-at=%s:19:9 %s -o - | FileCheck -check-prefix=CC2 %s + // RUN: %clang_cc1 -include %S/Inputs/macros.h -fsyntax-only -code-completion-macros -code-completion-at=%s:14:9 %s -o - | FileCheck -check-prefix=CC2 %s case } - // CC1: color - // CC1: x - // CC1: y - // CC1: z + + // Run the same tests, this time with macros loaded from the PCH file. + // RUN: %clang_cc1 -emit-pch -o %t %S/Inputs/macros.h + // RUN: %clang_cc1 -include-pch %t -fsyntax-only -code-completion-macros -code-completion-at=%s:12:14 %s -o - | FileCheck -check-prefix=CC1 %s + // RUN: %clang_cc1 -include-pch %t -fsyntax-only -code-completion-macros -code-completion-at=%s:14:9 %s -o - | FileCheck -check-prefix=CC2 %s + // CC1: BAR(<#X#>, <#Y#>) + // CC1: color // CC1: FOO // CC1: IDENTITY(<#X#>) // CC1: WIBBLE - // CC2: Blue - // CC2: Green - // CC2: Red + // CC1: x + // CC1: y + // CC1: z + // CC2: BAR(<#X#>, <#Y#>) + // CC2: Blue // CC2: FOO + // CC2: Green // CC2: IDENTITY(<#X#>) + // CC2: Red // CC2: WIBBLE } diff --git a/test/CodeCompletion/member-access.cpp b/test/CodeCompletion/member-access.cpp index 7d1637c..8f772c0 100644 --- a/test/CodeCompletion/member-access.cpp +++ b/test/CodeCompletion/member-access.cpp @@ -28,15 +28,15 @@ public: void test(const Proxy &p) { p-> // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:29:6 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s - // CHECK-CC1: member1 : 0 : [#int#][#Base1::#]member1 - // CHECK-CC1: member1 : 0 : [#int#][#Base2::#]member1 - // CHECK-CC1: member2 : 0 : [#float#][#Base1::#]member2 - // CHECK-CC1: member3 : 0 - // CHECK-CC1: member4 : 0 - // CHECK-CC1: memfun1 : 0 : [#void#][#Base3::#]memfun1(<#float#>) - // CHECK-CC1: memfun1 : 0 : [#void#][#Base3::#]memfun1(<#double#>)[# const#] - // CHECK-CC1: memfun2 : 0 : [#void#][#Base3::#]memfun2(<#int#>) - // CHECK-CC1: memfun3 : 0 : [#int#]memfun3(<#int#>) - // CHECK-CC1: memfun1 : 0 (Hidden) : [#void#]Base2::memfun1(<#int#>) - // CHECK-CC1: Base1 : 3 : Base1:: + // CHECK-CC1: Base1 : Base1:: + // CHECK-CC1: member1 : [#int#][#Base1::#]member1 + // CHECK-CC1: member1 : [#int#][#Base2::#]member1 + // CHECK-CC1: member2 : [#float#][#Base1::#]member2 + // CHECK-CC1: member3 + // CHECK-CC1: member4 + // CHECK-CC1: memfun1 : [#void#][#Base3::#]memfun1(<#float#>) + // CHECK-CC1: memfun1 : [#void#][#Base3::#]memfun1(<#double#>)[# const#] + // CHECK-CC1: memfun1 (Hidden) : [#void#]Base2::memfun1(<#int#>) + // CHECK-CC1: memfun2 : [#void#][#Base3::#]memfun2(<#int#>) + // CHECK-CC1: memfun3 : [#int#]memfun3(<#int#>) diff --git a/test/CodeCompletion/namespace-alias.cpp b/test/CodeCompletion/namespace-alias.cpp index 4511662..efbf996 100644 --- a/test/CodeCompletion/namespace-alias.cpp +++ b/test/CodeCompletion/namespace-alias.cpp @@ -12,9 +12,9 @@ namespace N2 { namespace New = // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:13:18 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: I1 : 1 - // CHECK-CC1: I4 : 1 - // CHECK-CC1: I5 : 1 - // CHECK-CC1: N2 : 3 - // CHECK-CC1-NEXT: N4 : 3 + // CHECK-CC1: I1 + // CHECK-CC1: I4 + // CHECK-CC1: I5 + // CHECK-CC1: N2 + // CHECK-CC1-NEXT: N4 diff --git a/test/CodeCompletion/namespace.cpp b/test/CodeCompletion/namespace.cpp index 8a42112..ecd8480 100644 --- a/test/CodeCompletion/namespace.cpp +++ b/test/CodeCompletion/namespace.cpp @@ -9,6 +9,6 @@ namespace N2 { namespace // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:10:12 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: I1 : 0 - // CHECK-CC1-NEXT: I5 : 0 + // CHECK-CC1: I1 + // CHECK-CC1-NEXT: I5 diff --git a/test/CodeCompletion/nested-name-specifier.cpp b/test/CodeCompletion/nested-name-specifier.cpp index 643418a..e09a14b 100644 --- a/test/CodeCompletion/nested-name-specifier.cpp +++ b/test/CodeCompletion/nested-name-specifier.cpp @@ -11,7 +11,7 @@ namespace N { N:: // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:12:4 %s -o - | FileCheck -check-prefix=CC1 %s -// CHECK-CC1: A : 0 -// CHECK-CC1: B : 0 -// CHECK-CC1: M : 0 +// CHECK-CC1: A +// CHECK-CC1: B +// CHECK-CC1: M diff --git a/test/CodeCompletion/objc-message.m b/test/CodeCompletion/objc-message.m index a1ae271..a7b111f 100644 --- a/test/CodeCompletion/objc-message.m +++ b/test/CodeCompletion/objc-message.m @@ -24,12 +24,12 @@ void func() { [obj xx]; } // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:23:19 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s -// CHECK-CC1: categoryClassMethod : 0 -// CHECK-CC1: classMethod1:withKeyword: : 0 -// CHECK-CC1: classMethod2 : 0 -// CHECK-CC1: new : 0 -// CHECK-CC1: protocolClassMethod : 0 +// CHECK-CC1: categoryClassMethod +// CHECK-CC1: classMethod1:withKeyword: +// CHECK-CC1: classMethod2 +// CHECK-CC1: new +// CHECK-CC1: protocolClassMethod // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:24:8 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s -// CHECK-CC2: categoryInstanceMethod : 0 -// CHECK-CC2: instanceMethod1 : 0 -// CHECK-CC2: protocolInstanceMethod : 0 +// CHECK-CC2: categoryInstanceMethod +// CHECK-CC2: instanceMethod1 +// CHECK-CC2: protocolInstanceMethod diff --git a/test/CodeCompletion/operator.cpp b/test/CodeCompletion/operator.cpp index eef7fbd..05cd768 100644 --- a/test/CodeCompletion/operator.cpp +++ b/test/CodeCompletion/operator.cpp @@ -9,9 +9,9 @@ void f() { operator // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:10:11 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: Float : 0 - // CHECK-CC1: + : 0 - // CHECK-CC1: short : 0 - // CHECK-CC1: Integer : 2 - // CHECK-CC1: T : 2 - // CHECK-CC1: N : 6 + // CHECK-CC1: + + // CHECK-CC1: Float + // CHECK-CC1: Integer + // CHECK-CC1: N + // CHECK-CC1: short + // CHECK-CC1: T diff --git a/test/CodeCompletion/ordinary-name.c b/test/CodeCompletion/ordinary-name.c index 7f5a05f..1580d01 100644 --- a/test/CodeCompletion/ordinary-name.c +++ b/test/CodeCompletion/ordinary-name.c @@ -5,7 +5,6 @@ typedef struct t TYPEDEF; void foo() { int y; // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:6:9 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s - // CHECK-CC1: y : 0 - // CHECK-CC1: foo : 2 - // CHECK-NOT-CC1: y : 2 - // CHECK-CC1-NEXT: TYPEDEF : 2 + // CHECK-CC1: foo + // CHECK-CC1: y + // CHECK-CC1: TYPEDEF diff --git a/test/CodeCompletion/ordinary-name.cpp b/test/CodeCompletion/ordinary-name.cpp new file mode 100644 index 0000000..d938c79 --- /dev/null +++ b/test/CodeCompletion/ordinary-name.cpp @@ -0,0 +1,171 @@ +struct X { int x; }; +void z(int); +typedef struct t TYPEDEF; + +void foo() { + int y = 17; + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:6:14 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s + // CHECK-CC1: COMPLETION: bool + // CHECK-CC1-NEXT: COMPLETION: char + // CHECK-CC1-NEXT: COMPLETION: class + // CHECK-CC1-NEXT: COMPLETION: const + // CHECK-CC1-NEXT: COMPLETION: Pattern : const_cast<<#type-id#>>(<#expression#>) + // CHECK-CC1: COMPLETION: Pattern : delete <#expression#> + // CHECK-CC1-NEXT: COMPLETION: Pattern : delete[] <#expression#> + // CHECK-CC1-NEXT: COMPLETION: Pattern : do{<#statements#> + // CHECK-CC1: COMPLETION: double + // CHECK-CC1-NEXT: COMPLETION: Pattern : dynamic_cast<<#type-id#>>(<#expression#>) + // CHECK-CC1-NEXT: COMPLETION: enum + // CHECK-CC1-NEXT: COMPLETION: extern + // CHECK-CC1-NEXT: COMPLETION: false + // CHECK-CC1-NEXT: COMPLETION: float + // CHECK-CC1-NEXT: COMPLETION: foo : [#void#]foo() + // CHECK-CC1-NEXT: COMPLETION: Pattern : for(<#init-statement#>;<#condition#>;<#inc-expression#>){<#statements#> + // CHECK-CC1: COMPLETION: Pattern : goto <#identifier#>; + // CHECK-CC1-NEXT: COMPLETION: Pattern : if(<#condition#>){<#statements#> + // CHECK-CC1: COMPLETION: int + // CHECK-CC1-NEXT: COMPLETION: long + // CHECK-CC1-NEXT: COMPLETION: Pattern : new <#type-id#>(<#expressions#>) + // CHECK-CC1-NEXT: COMPLETION: Pattern : new <#type-id#>[<#size#>](<#expressions#>) + // CHECK-CC1-NEXT: COMPLETION: operator + // CHECK-CC1-NEXT: COMPLETION: Pattern : reinterpret_cast<<#type-id#>>(<#expression#>) + // CHECK-CC1-NEXT: COMPLETION: Pattern : return; + // CHECK-CC1-NEXT: COMPLETION: short + // CHECK-CC1-NEXT: COMPLETION: signed + // CHECK-CC1-NEXT: COMPLETION: Pattern : sizeof(<#expression-or-type#>) + // CHECK-CC1-NEXT: COMPLETION: static + // CHECK-CC1-NEXT: COMPLETION: Pattern : static_cast<<#type-id#>>(<#expression#>) + // CHECK-CC1-NEXT: COMPLETION: struct + // CHECK-CC1-NEXT: COMPLETION: Pattern : switch(<#condition#>){ + // CHECK-CC1: COMPLETION: t : t + // CHECK-CC1-NEXT: COMPLETION: Pattern : throw <#expression#> + // CHECK-CC1-NEXT: COMPLETION: true + // CHECK-CC1-NEXT: COMPLETION: Pattern : try{<#statements#> + // CHECK-CC1: COMPLETION: TYPEDEF : TYPEDEF + // CHECK-CC1-NEXT: COMPLETION: typedef + // CHECK-CC1-NEXT: COMPLETION: Pattern : typeid(<#expression-or-type#>) + // CHECK-CC1-NEXT: COMPLETION: Pattern : typename <#qualified-id#> + // CHECK-CC1-NEXT: COMPLETION: Pattern : typeof(<#expression-or-type#>) + // CHECK-CC1-NEXT: COMPLETION: union + // CHECK-CC1-NEXT: COMPLETION: unsigned + // CHECK-CC1-NEXT: COMPLETION: Pattern : using namespace <#identifier#>; + // CHECK-CC1-NEXT: COMPLETION: void + // CHECK-CC1-NEXT: COMPLETION: volatile + // CHECK-CC1-NEXT: COMPLETION: wchar_t + // CHECK-CC1-NEXT: COMPLETION: Pattern : while(<#condition#>){<#statements#> + // CHECK-CC1: COMPLETION: X : X + // CHECK-CC1-NEXT: COMPLETION: y : [#int#]y + // CHECK-CC1-NEXT: COMPLETION: z : [#void#]z(<#int#>) + + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:4:1 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s + // CHECK-CC2: COMPLETION: Pattern : asm(<#string-literal#>); + // CHECK-CC2-NEXT: COMPLETION: bool + // CHECK-CC2-NEXT: COMPLETION: char + // CHECK-CC2-NEXT: COMPLETION: class + // CHECK-CC2-NEXT: COMPLETION: const + // CHECK-CC2-NEXT: COMPLETION: double + // CHECK-CC2-NEXT: COMPLETION: enum + // CHECK-CC2-NEXT: COMPLETION: extern + // CHECK-CC2-NEXT: COMPLETION: float + // CHECK-CC2-NEXT: COMPLETION: inline + // CHECK-CC2-NEXT: COMPLETION: int + // CHECK-CC2-NEXT: COMPLETION: long + // CHECK-CC2-NEXT: COMPLETION: Pattern : namespace <#identifier#>{<#declarations#> + // CHECK-CC2: COMPLETION: Pattern : namespace <#identifier#> = <#identifier#>; + // CHECK-CC2-NEXT: COMPLETION: operator + // CHECK-CC2-NEXT: COMPLETION: short + // CHECK-CC2-NEXT: COMPLETION: signed + // CHECK-CC2-NEXT: COMPLETION: static + // CHECK-CC2-NEXT: COMPLETION: struct + // CHECK-CC2-NEXT: COMPLETION: t : t + // CHECK-CC2-NEXT: COMPLETION: Pattern : template <#declaration#>; + // CHECK-CC2-NEXT: COMPLETION: Pattern : template<<#parameters#>> + // CHECK-CC2-NEXT: COMPLETION: TYPEDEF : TYPEDEF + // CHECK-CC2-NEXT: COMPLETION: typedef + // CHECK-CC2-NEXT: COMPLETION: Pattern : typename <#qualified-id#> + // CHECK-CC2-NEXT: COMPLETION: Pattern : typeof(<#expression-or-type#>) + // CHECK-CC2-NEXT: COMPLETION: union + // CHECK-CC2-NEXT: COMPLETION: unsigned + // CHECK-CC2-NEXT: COMPLETION: Pattern : using namespace <#identifier#>; + // CHECK-CC2-NEXT: COMPLETION: Pattern : using <#qualified-id#>; + // CHECK-CC2-NEXT: COMPLETION: void + // CHECK-CC2-NEXT: COMPLETION: volatile + // CHECK-CC2-NEXT: COMPLETION: wchar_t + // CHECK-CC2-NEXT: COMPLETION: X : X + + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:1:19 %s -o - | FileCheck -check-prefix=CHECK-CC3 %s + // CHECK-CC3: COMPLETION: bool + // CHECK-CC3-NEXT: COMPLETION: char + // CHECK-CC3-NEXT: COMPLETION: class + // CHECK-CC3-NEXT: COMPLETION: const + // CHECK-CC3-NEXT: COMPLETION: double + // CHECK-CC3-NEXT: COMPLETION: enum + // CHECK-CC3-NEXT: COMPLETION: explicit + // CHECK-CC3-NEXT: COMPLETION: extern + // CHECK-CC3-NEXT: COMPLETION: float + // CHECK-CC3-NEXT: COMPLETION: friend + // CHECK-CC3-NEXT: COMPLETION: inline + // CHECK-CC3-NEXT: COMPLETION: int + // CHECK-CC3-NEXT: COMPLETION: long + // CHECK-CC3-NEXT: COMPLETION: mutable + // CHECK-CC3-NEXT: COMPLETION: operator + // CHECK-CC3-NEXT: COMPLETION: Pattern : private: + // CHECK-CC3-NEXT: COMPLETION: Pattern : protected: + // CHECK-CC3-NEXT: COMPLETION: Pattern : public: + // CHECK-CC3-NEXT: COMPLETION: short + // CHECK-CC3-NEXT: COMPLETION: signed + // CHECK-CC3-NEXT: COMPLETION: static + // CHECK-CC3-NEXT: COMPLETION: struct + // CHECK-CC3-NEXT: COMPLETION: Pattern : template<<#parameters#>> + // CHECK-CC3-NEXT: COMPLETION: typedef + // CHECK-CC3-NEXT: COMPLETION: Pattern : typename <#qualified-id#> + // CHECK-CC3-NEXT: COMPLETION: Pattern : typeof(<#expression-or-type#>) + // CHECK-CC3-NEXT: COMPLETION: union + // CHECK-CC3-NEXT: COMPLETION: unsigned + // CHECK-CC3-NEXT: COMPLETION: Pattern : using <#qualified-id#>; + // CHECK-CC3-NEXT: COMPLETION: virtual + // CHECK-CC3-NEXT: COMPLETION: void + // CHECK-CC3-NEXT: COMPLETION: volatile + // CHECK-CC3-NEXT: COMPLETION: wchar_t + // CHECK-CC3-NEXT: COMPLETION: X : X + + // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:6:11 %s -o - | FileCheck -check-prefix=CHECK-CC4 %s + // CHECK-CC4: COMPLETION: bool + // CHECK-CC4-NEXT: COMPLETION: char + // CHECK-CC4-NEXT: COMPLETION: class + // CHECK-CC4-NEXT: COMPLETION: const + // CHECK-CC4-NEXT: COMPLETION: Pattern : const_cast<<#type-id#>>(<#expression#>) + // CHECK-CC4-NEXT: COMPLETION: Pattern : delete <#expression#> + // CHECK-CC4-NEXT: COMPLETION: Pattern : delete[] <#expression#> + // CHECK-CC4-NEXT: COMPLETION: double + // CHECK-CC4-NEXT: COMPLETION: Pattern : dynamic_cast<<#type-id#>>(<#expression#>) + // CHECK-CC4-NEXT: COMPLETION: enum + // CHECK-CC4-NEXT: COMPLETION: false + // CHECK-CC4-NEXT: COMPLETION: float + // CHECK-CC4-NEXT: COMPLETION: foo : [#void#]foo() + // CHECK-CC4-NEXT: COMPLETION: int + // CHECK-CC4-NEXT: COMPLETION: long + // CHECK-CC4-NEXT: COMPLETION: Pattern : new <#type-id#>(<#expressions#>) + // CHECK-CC4-NEXT: COMPLETION: Pattern : new <#type-id#>[<#size#>](<#expressions#>) + // CHECK-CC4-NEXT: COMPLETION: operator + // CHECK-CC4-NEXT: COMPLETION: Pattern : reinterpret_cast<<#type-id#>>(<#expression#>) + // CHECK-CC4-NEXT: COMPLETION: short + // CHECK-CC4-NEXT: COMPLETION: signed + // CHECK-CC4-NEXT: COMPLETION: Pattern : sizeof(<#expression-or-type#>) + // CHECK-CC4-NEXT: COMPLETION: Pattern : static_cast<<#type-id#>>(<#expression#>) + // CHECK-CC4-NEXT: COMPLETION: struct + // CHECK-CC4-NEXT: COMPLETION: t : t + // CHECK-CC4-NEXT: COMPLETION: Pattern : throw <#expression#> + // CHECK-CC4-NEXT: COMPLETION: true + // CHECK-CC4-NEXT: COMPLETION: TYPEDEF : TYPEDEF + // CHECK-CC4-NEXT: COMPLETION: Pattern : typeid(<#expression-or-type#>) + // CHECK-CC4-NEXT: COMPLETION: Pattern : typename <#qualified-id#> + // CHECK-CC4-NEXT: COMPLETION: Pattern : typeof(<#expression-or-type#>) + // CHECK-CC4-NEXT: COMPLETION: union + // CHECK-CC4-NEXT: COMPLETION: unsigned + // CHECK-CC4-NEXT: COMPLETION: void + // CHECK-CC4-NEXT: COMPLETION: volatile + // CHECK-CC4-NEXT: COMPLETION: wchar_t + // CHECK-CC4-NEXT: COMPLETION: X : X + // CHECK-CC4-NEXT: COMPLETION: y : [#int#]y + // CHECK-CC4-NEXT: COMPLETION: z : [#void#]z(<#int#>) diff --git a/test/CodeCompletion/tag.c b/test/CodeCompletion/tag.c index 554d381..6ad2988 100644 --- a/test/CodeCompletion/tag.c +++ b/test/CodeCompletion/tag.c @@ -8,5 +8,5 @@ void test() { enum X { x }; enum // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:9:7 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: X : 0 - // CHECK-CC1: Y : 2 + // CHECK-CC1: X + // CHECK-CC1: Y diff --git a/test/CodeCompletion/tag.cpp b/test/CodeCompletion/tag.cpp index 17fb014..03fc0fd 100644 --- a/test/CodeCompletion/tag.cpp +++ b/test/CodeCompletion/tag.cpp @@ -16,10 +16,12 @@ namespace N { void test() { class // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:17:10 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: Y : 2 - // CHECK-CC1: Z : 2 - // CHECK-CC1: A : 4 - // CHECK-CC1: X : 4 - // CHECK-CC1: Y : 4 - // CHECK-CC1: M : 9 : M:: - // CHECK-CC1: N : 9 : N:: + // FIXME: the redundant Y is really annoying... it needs qualification to + // actually be useful. Here, it just looks redundant :( + // CHECK-CC1: A + // CHECK-CC1: M : M:: + // CHECK-CC1: N : N:: + // CHECK-CC1: X + // CHECK-CC1: Y + // CHECK-CC1: Y + // CHECK-CC1: Z diff --git a/test/CodeCompletion/truncation.c b/test/CodeCompletion/truncation.c index c770635..134139d 100644 --- a/test/CodeCompletion/truncation.c +++ b/test/CodeCompletion/truncation.c @@ -3,9 +3,9 @@ struct // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s.h:4:8 -o - %s | FileCheck -check-prefix=CC1 %s -// CHECK-CC1: X : 1 -// CHECK-CC1-NEXT: Y : 1 +// CHECK-CC1: X +// CHECK-CC1-NEXT: Y // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:3:8 -o - %s | FileCheck -check-prefix=CC2 %s -// CHECK-CC2: X : 1 -// CHECK-CC2: Xa : 1 -// CHECK-CC2: Y : 1 +// CHECK-CC2: X +// CHECK-CC2: Xa +// CHECK-CC2: Y diff --git a/test/CodeCompletion/using-namespace.cpp b/test/CodeCompletion/using-namespace.cpp index f8f31d8..eb1c2bd 100644 --- a/test/CodeCompletion/using-namespace.cpp +++ b/test/CodeCompletion/using-namespace.cpp @@ -13,8 +13,8 @@ namespace N2 { void foo() { using namespace // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:14:20 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: I1 : 2 - // CHECK-CC1: I4 : 2 - // CHECK-CC1: I5 : 2 - // CHECK-CC1: N2 : 4 - // CHECK-CC1-NEXT: N4 : 4 + // CHECK-CC1: I1 + // CHECK-CC1: I4 + // CHECK-CC1: I5 + // CHECK-CC1: N2 + // CHECK-CC1-NEXT: N4 diff --git a/test/CodeCompletion/using.cpp b/test/CodeCompletion/using.cpp index ba4c9ce..b84aa26 100644 --- a/test/CodeCompletion/using.cpp +++ b/test/CodeCompletion/using.cpp @@ -15,10 +15,10 @@ namespace N2 { using // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:16:10 %s -o - | FileCheck -check-prefix=CC1 %s - // CHECK-CC1: I1 : 2 - // CHECK-CC1: I4 : 2 - // CHECK-CC1: I5 : 2 - // CHECK-CC1: N2 : 4 - // CHECK-CC1: N3 : 4 - // CHECK-CC1-NEXT: N4 : 4 + // CHECK-CC1: I1 + // CHECK-CC1: I4 + // CHECK-CC1: I5 + // CHECK-CC1: N2 + // CHECK-CC1: N3 + // CHECK-CC1-NEXT: N4 |