|  | // RUN: rm -rf %t | 
|  | // RUN: mkdir %t | 
|  | // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 %s \ | 
|  | // RUN: | FileCheck %s | 
|  |  | 
|  | /** | 
|  | * \brief Aaa. | 
|  | */ | 
|  | int global_function(); | 
|  | // CHECK: <Declaration>int global_function()</Declaration> | 
|  |  | 
|  | /** | 
|  | * \param x1 Aaa. | 
|  | */ | 
|  | extern void external_function(int x1); | 
|  | // CHECK: <Declaration>extern void external_function(int x1)</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief global variable; | 
|  | */ | 
|  | int global_variable; | 
|  | // CHECK: <Declaration>int global_variable</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief local variable; | 
|  | */ | 
|  | static int static_variable; | 
|  | // CHECK: <Declaration>static int static_variable</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief external variable | 
|  | */ | 
|  | extern int external_variable; | 
|  | // CHECK: <Declaration>extern int external_variable</Declaration> | 
|  |  | 
|  | int global_function() { | 
|  | /** | 
|  | * \brief a local variable | 
|  | */ | 
|  | int local = 10; | 
|  | return local; | 
|  | } | 
|  | // CHECK: <Declaration>int global_function()</Declaration> | 
|  | // CHECK: <Declaration>int local = 10</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief initialized decl. | 
|  | */ | 
|  | int initialized_global = 100; | 
|  | // CHECK: <Declaration>int initialized_global = 100</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief typedef example | 
|  | */ | 
|  | typedef int INT_T; | 
|  | // CHECK: <Declaration>typedef int INT_T</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief aggregate type example | 
|  | */ | 
|  | struct S { | 
|  | /** | 
|  | * \brief iS1; | 
|  | */ | 
|  | int iS1; | 
|  | /** | 
|  | * \brief dS1; | 
|  | */ | 
|  | double dS1; | 
|  | }; | 
|  | // CHECK: <Declaration>struct S {}</Declaration> | 
|  | // CHECK: <Declaration>int iS1</Declaration> | 
|  | // CHECK: <Declaration>double dS1</Declaration> | 
|  |  | 
|  | /** | 
|  | * \brief enum e; | 
|  | */ | 
|  | enum e { | 
|  | One, | 
|  | /** | 
|  | * \brief Two; | 
|  | */ | 
|  | Two, | 
|  | Three | 
|  | }; | 
|  | // CHECK: <Declaration>enum e {}</Declaration> | 
|  | // CHECK: <Declaration>Two</Declaration> | 
|  |  | 
|  | /** | 
|  | *\brief block declaration | 
|  | */ | 
|  | int (^Block) (int i, int j); | 
|  | // CHECK: <Declaration>int (^Block)(int, int)</Declaration> | 
|  |  | 
|  | /** | 
|  | *\brief block declaration | 
|  | */ | 
|  | int (^Block1) (int i, int j) = ^(int i, int j) { return i + j; }; | 
|  | // CHECK: <Declaration>int (^Block1)(int, int) = ^(int i, int j) {\n}</Declaration> |