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 Jahanianint 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