481 lines · plain
1module c_library [extern_c] { module inner { header "c-header.h" } }2module cxx_library { header "cxx-header.h" requires cplusplus }3module c_library_bad [extern_c] { header "c-header-bad.h" }4module diamond_top { header "diamond_top.h" }5module diamond_left { 6 header "diamond_left.h" 7 export diamond_top8}9module diamond_right { 10 header "diamond_right.h" 11 export diamond_top12}13module diamond_bottom { 14 header "diamond_bottom.h" 15 export *16}17module irgen { header "irgen.h" }18module cxx_irgen_top { header "cxx-irgen-top.h" }19module cxx_irgen_left { header "cxx-irgen-left.h" }20module cxx_irgen_right { header "cxx-irgen-right.h" }21module lookup_left_objc { header "lookup_left.h" }22module lookup_right_objc { header "lookup_right.h" }23module lookup_left_cxx { header "lookup_left.hpp" }24module lookup_right_cxx { header "lookup_right.hpp" }25module module_private_left { header "module_private_left.h" }26module module_private_right { header "module_private_right.h" }27module macros_top { 28 header "macros_top.h" 29 explicit module b { header "macros_top_b.h" }30 explicit module c { header "macros_top_c.h" }31}32module macros_left { 33 header "macros_left.h" 34 export *35}36module macros_right { 37 header "macros_right.h" 38 export *39 explicit module undef {40 header "macros_right_undef.h"41 }42}43module macros_bottom { 44 header "macros_bottom.h" 45 export *46}47module macros { header "macros.h" }48module macros_other { header "macros_other.h" }49module category_top { header "category_top.h" }50module category_left { 51 header "category_left.h" 52 export category_top53 54 explicit module sub {55 header "category_left_sub.h"56 }57}58module category_right { 59 header "category_right.h" 60 export category_top61 62 explicit module sub {63 header "category_right_sub.h"64 }65}66module category_bottom { 67 header "category_bottom.h" 68 export category_left69 export category_right70}71module category_other { header "category_other.h" }72module redeclarations_left { header "redeclarations_left.h" }73module redeclarations_right { header "redeclarations_right.h" }74module redecl_namespaces_left { header "redecl_namespaces_left.h" }75module redecl_namespaces_right { header "redecl_namespaces_right.h" }76module redecl_add_after_load_top { header "redecl-add-after-load-top.h" }77module redecl_add_after_load_decls { header "redecl-add-after-load-decls.h" }78module redecl_add_after_load { header "redecl-add-after-load.h" }79module load_failure { header "load_failure.h" }80 81module decldef {82 explicit module Decl { header "decl.h" }83 explicit module Decl2 { header "decl2.h" }84 explicit module Def { header "def.h" }85}86 87module redecl_merge_top { 88 header "redecl-merge-top.h"89 explicit module Explicit { header "redecl-merge-top-explicit.h" }90 exclude header "nonexistent.h"91}92module redecl_merge_left { 93 header "redecl-merge-left.h" 94 export *95}96module redecl_merge_left_left { 97 header "redecl-merge-left-left.h" 98 export *99}100module redecl_merge_right { 101 header "redecl-merge-right.h" 102 export *103}104module redecl_merge_bottom { 105 explicit module prefix {106 header "redecl-merge-bottom-prefix.h"107 }108 109 header "redecl-merge-bottom.h" 110 export *111}112module namespaces_top { 113 header "namespaces-top.h"114 export *115}116module namespaces_left { 117 header "namespaces-left.h"118 export *119}120module namespaces_right { 121 header "namespaces-right.h"122 export *123}124module templates_top { 125 header "templates-top.h"126 export *127}128module templates_left { 129 header "templates-left.h"130 export *131}132module templates_right { 133 header "templates-right.h"134 export *135}136module MethodPoolA {137 header "MethodPoolA.h"138 139 explicit module Sub2 {140 header "MethodPoolASub2.h"141 }142 143 explicit module Sub {144 header "MethodPoolASub.h"145 }146}147module MethodPoolB {148 header "MethodPoolB.h"149 150 explicit module Sub2 {151 header "MethodPoolBSub2.h"152 }153 154 explicit module Sub {155 header "MethodPoolBSub.h"156 }157}158module import_decl {159 header "import-decl.h"160}161 162framework module * { 163 exclude NotAModule164}165 166module linkage_merge_left {167 explicit module sub {168 header "linkage-merge-sub.h"169 }170}171 172module autolink {173 header "autolink.h"174 link "autolink"175 176 explicit module sub {177 header "autolink-sub.h"178 link "autolink_sub"179 }180 181 explicit module sub2 {182 header "autolink-sub2.h"183 link framework "autolink_framework"184 }185 186 explicit module sub3 {187 header "autolink-sub3.h"188 link "autolink_from_pch"189 }190}191 192module weird_objc {193 header "weird_objc.h"194}195 196module objc_type_param {197 header "objc_type_param.h"198}199 200module ignored_macros {201 header "ignored_macros.h"202}203 204module cxx_many_overloads {205 header "cxx-many-overloads.h"206}207 208module cxx_inline_namespace {209 header "cxx-inline-namespace.h"210}211 212module cxx_inline_namespace_b {213 header "cxx-inline-namespace-b.h"214}215 216module cxx_linkage_cache {217 header "cxx-linkage-cache.h"218}219 220module cxx_templates_common {221 header "cxx-templates-common.h"222 223 explicit module unimported { header "cxx-templates-unimported.h" }224}225 226module cxx_templates_a {227 header "cxx-templates-a.h"228}229 230module cxx_templates_b_impl {231 header "cxx-templates-b-impl.h"232}233 234module cxx_templates_b {235 header "cxx-templates-b.h"236}237 238module cxx_templates_c {239 header "cxx-templates-c.h"240}241 242module cxx_templates_d {243 header "cxx-templates-d.h"244}245 246module cxx_decls {247 module unimported {248 header "cxx-decls-unimported.h"249 }250 module imported {251 header "cxx-decls-imported.h"252 }253}254 255module cxx_decls_premerged {256 header "cxx-decls-premerged.h"257}258 259module cxx_decls_merged {260 header "cxx-decls-merged.h"261}262 263module diag_flags {264 header "diag_flags.h"265}266 267module diag_pragma {268 header "diag_pragma.h"269}270 271module pragma_pack {272 module set { header "pragma_pack_set.h" }273 module empty { header "empty.h" }274}275 276module dummy {277 header "dummy.h"278}279 280module builtin {281 header "builtin.h"282 explicit module sub {283 header "builtin_sub.h"284 }285}286 287module linkage_merge {288 explicit module foo {289 header "linkage-merge-foo.h"290 }291 explicit module bar {292 header "linkage-merge-bar.h"293 }294 295}296 297module incomplete_mod {298 header "incomplete_mod.h"299}300 301module warning {302 header "warning.h"303}304 305module warn_unused_local_typedef {306 header "warn-unused-local-typedef.h"307}308 309module using_decl {310 module a { header "using-decl-a.h" export * }311 module b { header "using-decl-b.h" export * }312}313 314module recursive_visibility_a1 {315 module inner { header "recursive_visibility_a1_inner.h" }316}317module recursive_visibility_a2 {318 module inner {319 module more_inner {320 header "recursive_visibility_a2_more_inner.h"321 }322 }323}324module recursive_visibility_b {325 header "recursive_visibility_b.h"326 export *327}328module recursive_visibility_c {329 header "recursive_visibility_c.h"330}331module recursive1 {332 header "recursive1.h"333}334module recursive2 {335 header "recursive2.h"336}337module crash {338 header "crash.h"339}340 341module DebugCXX {342 header "DebugCXX.h"343}344 345module DebugObjC {346 header "DebugObjC.h"347}348 349module DebugObjCImport {350 module SubModule {351 header "DebugObjCImport.h"352 }353}354 355module DebugDwoId {356 header "DebugDwoId.h"357}358 359module ImportNameInDir {360 header "ImportNameInDir.h"361 export *362}363 364module RequiresWithMissingHeader {365 module HeaderBefore {366 header "RequiresWithMissingHeader-Missing1.h"367 requires missing368 }369 module HeaderAfter {370 requires missing371 header "RequiresWithMissingHeader-Missing2.h"372 }373}374 375module TargetFeatures {376 module arm {377 requires arm378 module aarch32 { requires aarch32 }379 module aarch64 { requires aarch64 }380 }381 module x86 {382 requires x86383 module x86_32 { requires x86_32 }384 module x86_64 { requires x86_64 }385 }386 module riscv {387 requires riscv388 module riscv32 { requires riscv32 }389 module riscv64 { requires riscv64 }390 }391}392 393module DebugSubmodules {394 module DebugSubmoduleA {395 header "DebugSubmoduleA.h"396 export *397 }398 module DebugSubmoduleB {399 header "DebugSubmoduleB.h"400 export *401 }402}403 404module ExtensionTestA {405 header "ExtensionTestA.h"406}407 408module TypedefTag {409 header "typedef-tag.h"410 explicit module Hidden {411 header "typedef-tag-hidden.h"412 }413}414 415module ElaboratedTypeStructs {416 module Empty {}417 module Structs {418 header "elaborated-type-structs.h"419 }420}421 422// We import a module, then declare a method with selector stringValue in423// MethodPoolCombined1.h. In MethodPoolCombined2.h, we import another module424// that also contains a method for selector stringValue. We make sure that425// the method pool entry for stringValue in this module is complete.426module MethodPoolCombined {427 header "MethodPoolCombined1.h"428 header "MethodPoolCombined2.h"429}430 431module MethodPoolString1 {432 header "MethodPoolString1.h"433}434 435module MethodPoolString2 {436 header "MethodPoolString2.h"437}438 439module Empty {}440 441module MacroFabs1 {442 header "MacroFabs1.h"443}444 445module DiagOutOfDate {446 header "DiagOutOfDate.h"447}448 449module DebugNestedA {450 header "DebugNestedA.h"451 export *452}453 454module DebugNestedB {455 header "DebugNestedB.h"456 export *457}458 459module objcAtKeywordMissingEnd {460 header "objcAtKeywordMissingEnd.h"461}462 463module innerstructredef {464 module one {465 header "empty.h"466 }467 module two {468 header "innerstructredef.h"469 }470}471 472module template_nontrivial0 {473 header "template-nontrivial0.h"474 export *475}476 477module template_nontrivial1 {478 header "template-nontrivial1.h"479 export *480}481