complete-macros.c 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "complete-macros.h"
  2. // Note: the run lines follow their respective tests, since line/column matter in this test.
  3. #define FOO(Arg1,Arg2) foobar
  4. #define nil 0
  5. #undef FOO
  6. void f() {
  7. }
  8. void g(int);
  9. void f2() {
  10. int *ip = nil;
  11. ip = nil;
  12. g(nil);
  13. }
  14. #define variadic1(...)
  15. #define variadic2(args...)
  16. #define variadic3(args, ...)
  17. #define variadic4(first, second, args, ...)
  18. #define variadic5(first, second, args ...)
  19. void test_variadic() {
  20. }
  21. // RUN: c-index-test -code-completion-at=%s:7:1 %s -I%S | FileCheck -check-prefix=CHECK-CC0 %s
  22. // CHECK-CC0-NOT: FOO
  23. // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:7:1 %s -I%S | FileCheck -check-prefix=CHECK-CC1 %s
  24. // CHECK-CC1: macro definition:{TypedText FOO} (70)
  25. // RUN: c-index-test -code-completion-at=%s:13:13 %s -I%S | FileCheck -check-prefix=CHECK-CC2 %s
  26. // RUN: c-index-test -code-completion-at=%s:14:8 %s -I%S | FileCheck -check-prefix=CHECK-CC2 %s
  27. // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:14:8 %s -I%S | FileCheck -check-prefix=CHECK-CC2 %s
  28. // CHECK-CC2: macro definition:{TypedText nil} (32)
  29. // RUN: c-index-test -code-completion-at=%s:15:5 %s -I%S | FileCheck -check-prefix=CHECK-CC3 %s
  30. // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:15:5 %s -I%S | FileCheck -check-prefix=CHECK-CC3 %s
  31. // CHECK-CC3: macro definition:{TypedText nil} (65)
  32. // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:25:2 %s -I%S | FileCheck -check-prefix=CHECK-VARIADIC %s
  33. // CHECK-VARIADIC: macro definition:{TypedText variadic1}{LeftParen (}{Placeholder ...}{RightParen )} (70)
  34. // CHECK-VARIADIC: macro definition:{TypedText variadic2}{LeftParen (}{Placeholder args...}{RightParen )} (70)
  35. // CHECK-VARIADIC: macro definition:{TypedText variadic3}{LeftParen (}{Placeholder args, ...}{RightParen )} (70)
  36. // CHECK-VARIADIC: macro definition:{TypedText variadic4}{LeftParen (}{Placeholder first}{Comma , }{Placeholder second}{Comma , }{Placeholder args, ...}{RightParen )} (70)
  37. // CHECK-VARIADIC: macro definition:{TypedText variadic5}{LeftParen (}{Placeholder first}{Comma , }{Placeholder second}{Comma , }{Placeholder args...}{RightParen )} (70)
  38. // RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:15:5 %s -I%S | FileCheck -check-prefix=CHECK-CC4 %s
  39. // CHECK-CC4-NOT: COMPLETE_MACROS_H_GUARD