xref: /llvm-project/clang/test/Index/format-comment-cdecls.c (revision 6ef29a36ca51fd6ba1d389ea33d57a04e493b2e1)
19b7ab877SFariborz Jahanian // RUN: rm -rf %t
29b7ab877SFariborz Jahanian // RUN: mkdir %t
39b7ab877SFariborz Jahanian // RUN: c-index-test -test-load-source all -comments-xml-schema=%S/../../bindings/xml/comment-xml-schema.rng -target x86_64-apple-darwin10 %s \
49b7ab877SFariborz Jahanian // RUN: | FileCheck %s
59b7ab877SFariborz Jahanian 
69b7ab877SFariborz Jahanian /**
79b7ab877SFariborz Jahanian  * \brief Aaa.
89b7ab877SFariborz Jahanian */
99b7ab877SFariborz Jahanian int global_function();
109b7ab877SFariborz Jahanian // CHECK: <Declaration>int global_function()</Declaration>
119b7ab877SFariborz Jahanian 
129b7ab877SFariborz Jahanian /**
139b7ab877SFariborz Jahanian  * \param x1 Aaa.
149b7ab877SFariborz Jahanian */
159b7ab877SFariborz Jahanian extern void external_function(int x1);
169b7ab877SFariborz Jahanian // CHECK: <Declaration>extern void external_function(int x1)</Declaration>
179b7ab877SFariborz Jahanian 
189b7ab877SFariborz Jahanian /**
199b7ab877SFariborz Jahanian  * \brief global variable;
209b7ab877SFariborz Jahanian */
219b7ab877SFariborz Jahanian int global_variable;
229b7ab877SFariborz Jahanian // CHECK: <Declaration>int global_variable</Declaration>
239b7ab877SFariborz Jahanian 
249b7ab877SFariborz Jahanian /**
259b7ab877SFariborz Jahanian  * \brief local variable;
269b7ab877SFariborz Jahanian */
279b7ab877SFariborz Jahanian static int static_variable;
289b7ab877SFariborz Jahanian // CHECK: <Declaration>static int static_variable</Declaration>
299b7ab877SFariborz Jahanian 
309b7ab877SFariborz Jahanian /**
319b7ab877SFariborz Jahanian  * \brief external variable
329b7ab877SFariborz Jahanian */
339b7ab877SFariborz Jahanian extern int external_variable;
349b7ab877SFariborz Jahanian // CHECK: <Declaration>extern int external_variable</Declaration>
359b7ab877SFariborz Jahanian 
global_function()369b7ab877SFariborz Jahanian int global_function() {
379b7ab877SFariborz Jahanian   /**
389b7ab877SFariborz Jahanian    * \brief a local variable
399b7ab877SFariborz Jahanian   */
409b7ab877SFariborz Jahanian   int local = 10;
419b7ab877SFariborz Jahanian   return local;
429b7ab877SFariborz Jahanian }
439b7ab877SFariborz Jahanian // CHECK: <Declaration>int global_function()</Declaration>
449b7ab877SFariborz Jahanian // CHECK: <Declaration>int local = 10</Declaration>
459b7ab877SFariborz Jahanian 
469b7ab877SFariborz Jahanian /**
479b7ab877SFariborz Jahanian  * \brief initialized decl.
489b7ab877SFariborz Jahanian */
499b7ab877SFariborz Jahanian int initialized_global = 100;
509b7ab877SFariborz Jahanian // CHECK: <Declaration>int initialized_global = 100</Declaration>
519b7ab877SFariborz Jahanian 
529b7ab877SFariborz Jahanian /**
539b7ab877SFariborz Jahanian  * \brief typedef example
549b7ab877SFariborz Jahanian */
559b7ab877SFariborz Jahanian typedef int INT_T;
569b7ab877SFariborz Jahanian // CHECK: <Declaration>typedef int INT_T</Declaration>
579b7ab877SFariborz Jahanian 
589b7ab877SFariborz Jahanian /**
599b7ab877SFariborz Jahanian  * \brief aggregate type example
609b7ab877SFariborz Jahanian */
619b7ab877SFariborz Jahanian struct S {
629b7ab877SFariborz Jahanian /**
639b7ab877SFariborz Jahanian  * \brief iS1;
649b7ab877SFariborz Jahanian */
659b7ab877SFariborz Jahanian   int iS1;
669b7ab877SFariborz Jahanian /**
679b7ab877SFariborz Jahanian  * \brief dS1;
689b7ab877SFariborz Jahanian */
699b7ab877SFariborz Jahanian   double dS1;
709b7ab877SFariborz Jahanian };
71e7d10a1fSManuel Klimek // CHECK: <Declaration>struct S {}</Declaration>
729b7ab877SFariborz Jahanian // CHECK: <Declaration>int iS1</Declaration>
739b7ab877SFariborz Jahanian // CHECK: <Declaration>double dS1</Declaration>
749b7ab877SFariborz Jahanian 
759b7ab877SFariborz Jahanian /**
769b7ab877SFariborz Jahanian  * \brief enum e;
779b7ab877SFariborz Jahanian */
789b7ab877SFariborz Jahanian enum e {
799b7ab877SFariborz Jahanian   One,
809b7ab877SFariborz Jahanian /**
819b7ab877SFariborz Jahanian  * \brief Two;
829b7ab877SFariborz Jahanian */
839b7ab877SFariborz Jahanian   Two,
849b7ab877SFariborz Jahanian   Three
859b7ab877SFariborz Jahanian };
86a4fe1c13SManuel Klimek // CHECK: <Declaration>enum e {}</Declaration>
879b7ab877SFariborz Jahanian // CHECK: <Declaration>Two</Declaration>
889b7ab877SFariborz Jahanian 
899b7ab877SFariborz Jahanian /**
909b7ab877SFariborz Jahanian  *\brief block declaration
919b7ab877SFariborz Jahanian */
929b7ab877SFariborz Jahanian int (^Block) (int i, int j);
939b7ab877SFariborz Jahanian // CHECK: <Declaration>int (^Block)(int, int)</Declaration>
949b7ab877SFariborz Jahanian 
959b7ab877SFariborz Jahanian /**
969b7ab877SFariborz Jahanian  *\brief block declaration
979b7ab877SFariborz Jahanian */
989b7ab877SFariborz Jahanian int (^Block1) (int i, int j) = ^(int i, int j) { return i + j; };
99*6ef29a36SDaniel Jasper // CHECK: <Declaration>int (^Block1)(int, int) = ^(int i, int j) {\n}</Declaration>
100