Home | History | Annotate | Download | only in Index
      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 /**
      7  * \brief Aaa.
      8 */
      9 int global_function();
     10 // CHECK: <Declaration>int global_function()</Declaration>
     11 
     12 /**
     13  * \param x1 Aaa.
     14 */
     15 extern void external_function(int x1);
     16 // CHECK: <Declaration>extern void external_function(int x1)</Declaration>
     17 
     18 /**
     19  * \brief global variable;
     20 */
     21 int global_variable;
     22 // CHECK: <Declaration>int global_variable</Declaration>
     23 
     24 /**
     25  * \brief local variable;
     26 */
     27 static int static_variable;
     28 // CHECK: <Declaration>static int static_variable</Declaration>
     29 
     30 /**
     31  * \brief external variable
     32 */
     33 extern int external_variable;
     34 // CHECK: <Declaration>extern int external_variable</Declaration>
     35 
     36 int global_function() {
     37   /**
     38    * \brief a local variable
     39   */
     40   int local = 10;
     41   return local;
     42 }
     43 // CHECK: <Declaration>int global_function()</Declaration>
     44 // CHECK: <Declaration>int local = 10</Declaration>
     45 
     46 /**
     47  * \brief initialized decl.
     48 */
     49 int initialized_global = 100;
     50 // CHECK: <Declaration>int initialized_global = 100</Declaration>
     51 
     52 /**
     53  * \brief typedef example
     54 */
     55 typedef int INT_T;
     56 // CHECK: <Declaration>typedef int INT_T</Declaration>
     57 
     58 /**
     59  * \brief aggregate type example
     60 */
     61 struct S {
     62 /**
     63  * \brief iS1;
     64 */
     65   int iS1;
     66 /**
     67  * \brief dS1;
     68 */
     69   double dS1;
     70 };
     71 // CHECK: <Declaration>struct S {}</Declaration>
     72 // CHECK: <Declaration>int iS1</Declaration>
     73 // CHECK: <Declaration>double dS1</Declaration>
     74 
     75 /**
     76  * \brief enum e;
     77 */
     78 enum e {
     79   One,
     80 /**
     81  * \brief Two;
     82 */
     83   Two,
     84   Three
     85 };
     86 // CHECK: <Declaration>enum e {}</Declaration>
     87 // CHECK: <Declaration>Two</Declaration>
     88 
     89 /**
     90  *\brief block declaration
     91 */
     92 int (^Block) (int i, int j);
     93 // CHECK: <Declaration>int (^Block)(int, int)</Declaration>
     94 
     95 /**
     96  *\brief block declaration
     97 */
     98 int (^Block1) (int i, int j) = ^(int i, int j) { return i + j; };
     99 // CHECK: <Declaration>int (^Block1)(int, int) = ^(int i, int j) {\n}</Declaration>
    100