format-comment-cdecls.c 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. // RUN: rm -rf %t
  2. // RUN: mkdir %t
  3. // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 %s \
  4. // RUN: | FileCheck %s
  5. /**
  6. * \brief Aaa.
  7. */
  8. int global_function();
  9. // CHECK: <Declaration>int global_function()</Declaration>
  10. /**
  11. * \param x1 Aaa.
  12. */
  13. extern void external_function(int x1);
  14. // CHECK: <Declaration>extern void external_function(int x1)</Declaration>
  15. /**
  16. * \brief global variable;
  17. */
  18. int global_variable;
  19. // CHECK: <Declaration>int global_variable</Declaration>
  20. /**
  21. * \brief local variable;
  22. */
  23. static int static_variable;
  24. // CHECK: <Declaration>static int static_variable</Declaration>
  25. /**
  26. * \brief external variable
  27. */
  28. extern int external_variable;
  29. // CHECK: <Declaration>extern int external_variable</Declaration>
  30. int global_function() {
  31. /**
  32. * \brief a local variable
  33. */
  34. int local = 10;
  35. return local;
  36. }
  37. // CHECK: <Declaration>int global_function()</Declaration>
  38. // CHECK: <Declaration>int local = 10</Declaration>
  39. /**
  40. * \brief initialized decl.
  41. */
  42. int initialized_global = 100;
  43. // CHECK: <Declaration>int initialized_global = 100</Declaration>
  44. /**
  45. * \brief typedef example
  46. */
  47. typedef int INT_T;
  48. // CHECK: <Declaration>typedef int INT_T</Declaration>
  49. /**
  50. * \brief aggregate type example
  51. */
  52. struct S {
  53. /**
  54. * \brief iS1;
  55. */
  56. int iS1;
  57. /**
  58. * \brief dS1;
  59. */
  60. double dS1;
  61. };
  62. // CHECK: <Declaration>struct S {}</Declaration>
  63. // CHECK: <Declaration>int iS1</Declaration>
  64. // CHECK: <Declaration>double dS1</Declaration>
  65. /**
  66. * \brief enum e;
  67. */
  68. enum e {
  69. One,
  70. /**
  71. * \brief Two;
  72. */
  73. Two,
  74. Three
  75. };
  76. // CHECK: <Declaration>enum e {}</Declaration>
  77. // CHECK: <Declaration>Two</Declaration>
  78. /**
  79. *\brief block declaration
  80. */
  81. int (^Block) (int i, int j);
  82. // CHECK: <Declaration>int (^Block)(int, int)</Declaration>
  83. /**
  84. *\brief block declaration
  85. */
  86. int (^Block1) (int i, int j) = ^(int i, int j) { return i + j; };
  87. // CHECK: <Declaration>int (^Block1)(int, int) = ^(int i, int j) {\n}</Declaration>