Douglas Gregor | 09d9fa1 | 2010-04-05 16:10:30 +0000 | [diff] [blame] | 1 | // Note: the run lines follow their respective tests, since line/column |
| 2 | // matter in this test. |
Douglas Gregor | 09d9fa1 | 2010-04-05 16:10:30 +0000 | [diff] [blame] | 3 | #define FOO(Arg1,Arg2) foobar |
Douglas Gregor | 590c7d5 | 2010-07-08 20:55:51 +0000 | [diff] [blame] | 4 | #define nil 0 |
Douglas Gregor | 3644d97 | 2012-10-09 16:01:50 +0000 | [diff] [blame^] | 5 | #undef FOO |
Douglas Gregor | 09d9fa1 | 2010-04-05 16:10:30 +0000 | [diff] [blame] | 6 | void f() { |
| 7 | |
| 8 | } |
| 9 | |
Douglas Gregor | 590c7d5 | 2010-07-08 20:55:51 +0000 | [diff] [blame] | 10 | void g(int); |
| 11 | |
| 12 | void f2() { |
| 13 | int *ip = nil; |
| 14 | ip = nil; |
| 15 | g(nil); |
| 16 | } |
| 17 | |
Douglas Gregor | e424470 | 2011-07-30 08:17:44 +0000 | [diff] [blame] | 18 | #define variadic1(...) |
| 19 | #define variadic2(args...) |
| 20 | #define variadic3(args, ...) |
| 21 | #define variadic4(first, second, args, ...) |
Douglas Gregor | c8dc135 | 2012-01-21 00:43:38 +0000 | [diff] [blame] | 22 | #define variadic5(first, second, args ...) |
Douglas Gregor | e424470 | 2011-07-30 08:17:44 +0000 | [diff] [blame] | 23 | |
| 24 | void test_variadic() { |
| 25 | |
| 26 | } |
| 27 | |
Douglas Gregor | 3644d97 | 2012-10-09 16:01:50 +0000 | [diff] [blame^] | 28 | // RUN: c-index-test -code-completion-at=%s:7:1 %s | FileCheck -check-prefix=CHECK-CC0 %s |
| 29 | // CHECK-CC0-NOT: FOO |
Douglas Gregor | 87c08a5 | 2010-08-13 22:48:40 +0000 | [diff] [blame] | 30 | // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:7:1 %s | FileCheck -check-prefix=CHECK-CC1 %s |
Douglas Gregor | 09d9fa1 | 2010-04-05 16:10:30 +0000 | [diff] [blame] | 31 | // CHECK-CC1: macro definition:{TypedText FOO}{LeftParen (}{Placeholder Arg1}{Comma , }{Placeholder Arg2}{RightParen )} |
Douglas Gregor | 590c7d5 | 2010-07-08 20:55:51 +0000 | [diff] [blame] | 32 | // RUN: c-index-test -code-completion-at=%s:13:13 %s | FileCheck -check-prefix=CHECK-CC2 %s |
| 33 | // RUN: c-index-test -code-completion-at=%s:14:8 %s | FileCheck -check-prefix=CHECK-CC2 %s |
Douglas Gregor | 1827e10 | 2010-08-16 16:18:59 +0000 | [diff] [blame] | 34 | // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:14:8 %s | FileCheck -check-prefix=CHECK-CC2 %s |
Douglas Gregor | d754d55 | 2010-09-16 16:21:35 +0000 | [diff] [blame] | 35 | // CHECK-CC2: macro definition:{TypedText nil} (32) |
Douglas Gregor | 590c7d5 | 2010-07-08 20:55:51 +0000 | [diff] [blame] | 36 | // RUN: c-index-test -code-completion-at=%s:15:5 %s | FileCheck -check-prefix=CHECK-CC3 %s |
Douglas Gregor | 1827e10 | 2010-08-16 16:18:59 +0000 | [diff] [blame] | 37 | // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:15:5 %s | FileCheck -check-prefix=CHECK-CC3 %s |
Douglas Gregor | d754d55 | 2010-09-16 16:21:35 +0000 | [diff] [blame] | 38 | // CHECK-CC3: macro definition:{TypedText nil} (65) |
Douglas Gregor | c8dc135 | 2012-01-21 00:43:38 +0000 | [diff] [blame] | 39 | // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:25:2 %s | FileCheck -check-prefix=CHECK-VARIADIC %s |
Douglas Gregor | e424470 | 2011-07-30 08:17:44 +0000 | [diff] [blame] | 40 | // CHECK-VARIADIC: macro definition:{TypedText variadic1}{LeftParen (}{Placeholder ...}{RightParen )} (70) |
| 41 | // CHECK-VARIADIC: macro definition:{TypedText variadic2}{LeftParen (}{Placeholder args...}{RightParen )} (70) |
| 42 | // CHECK-VARIADIC: macro definition:{TypedText variadic3}{LeftParen (}{Placeholder args, ...}{RightParen )} (70) |
Douglas Gregor | c8dc135 | 2012-01-21 00:43:38 +0000 | [diff] [blame] | 43 | // CHECK-VARIADIC: macro definition:{TypedText variadic4}{LeftParen (}{Placeholder first}{Comma , }{Placeholder second}{Comma , }{Placeholder args, ...}{RightParen )} (70) |
| 44 | // CHECK-VARIADIC: macro definition:{TypedText variadic5}{LeftParen (}{Placeholder first}{Comma , }{Placeholder second}{Comma , }{Placeholder args...}{RightParen )} (70) |