phunix/external/bsd/llvm/dist/clang/test/Index/comment-c-decls.c
Lionel Sambuc 0a6a1f1d05 NetBSD re-synchronization of the source tree
This brings our tree to NetBSD 7.0, as found on -current on the
10-10-2015.

This updates:
 - LLVM to 3.6.1
 - GCC to GCC 5.1
 - Replace minix/commands/zdump with usr.bin/zdump
 - external/bsd/libelf has moved to /external/bsd/elftoolchain/
 - Import ctwm
 - Drop sprintf from libminc

Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
2016-01-13 20:32:14 +01:00

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>