forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			105 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
// 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 > %t/out
 | 
						|
// RUN: FileCheck %s < %t/out
 | 
						|
 | 
						|
// Ensure that XML we generate is not invalid.
 | 
						|
// RUN: FileCheck %s -check-prefix=WRONG < %t/out
 | 
						|
// WRONG-NOT: CommentXMLInvalid
 | 
						|
// rdar://12378714
 | 
						|
 | 
						|
/**
 | 
						|
 * \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>
 |