module c_library [extern_c] { module inner { header "c-header.h" } }
module cxx_library { header "cxx-header.h" requires cplusplus }
module c_library_bad [extern_c] { header "c-header-bad.h" }
module diamond_top { header "diamond_top.h" }
module diamond_left { 
  header "diamond_left.h" 
  export diamond_top
}
module diamond_right { 
  header "diamond_right.h" 
  export diamond_top
}
module diamond_bottom { 
  header "diamond_bottom.h" 
  export *
}
module irgen { header "irgen.h" }
module cxx_irgen_top { header "cxx-irgen-top.h" }
module cxx_irgen_left { header "cxx-irgen-left.h" }
module cxx_irgen_right { header "cxx-irgen-right.h" }
module lookup_left_objc { header "lookup_left.h" }
module lookup_right_objc { header "lookup_right.h" }
module lookup_left_cxx { header "lookup_left.hpp" }
module lookup_right_cxx { header "lookup_right.hpp" }
module module_private_left { header "module_private_left.h" }
module module_private_right { header "module_private_right.h" }
module macros_top { 
  header "macros_top.h" 
  explicit module b { header "macros_top_b.h" }
  explicit module c { header "macros_top_c.h" }
}
module macros_left { 
  header "macros_left.h" 
  export *
}
module macros_right { 
  header "macros_right.h" 
  export *
  explicit module undef {
    header "macros_right_undef.h"
  }
}
module macros_bottom { 
  header "macros_bottom.h" 
  export *
}
module macros { header "macros.h" }
module macros_other { header "macros_other.h" }
module category_top { header "category_top.h" }
module category_left { 
  header "category_left.h" 
  export category_top

  explicit module sub {
    header "category_left_sub.h"
  }
}
module category_right { 
  header "category_right.h" 
  export category_top

  explicit module sub {
    header "category_right_sub.h"
  }
}
module category_bottom { 
  header "category_bottom.h" 
  export category_left
  export category_right
}
module category_other { header "category_other.h" }
module redeclarations_left { header "redeclarations_left.h" }
module redeclarations_right { header "redeclarations_right.h" }
module redecl_namespaces_left { header "redecl_namespaces_left.h" }
module redecl_namespaces_right { header "redecl_namespaces_right.h" }
module redecl_add_after_load_top { header "redecl-add-after-load-top.h" }
module redecl_add_after_load_decls { header "redecl-add-after-load-decls.h" }
module redecl_add_after_load { header "redecl-add-after-load.h" }
module load_failure { header "load_failure.h" }

module decldef {
  explicit module Decl { header "decl.h" }
  explicit module Decl2 { header "decl2.h" }
  explicit module Def { header "def.h" }
}

module redecl_merge_top { 
  header "redecl-merge-top.h"
  explicit module Explicit { header "redecl-merge-top-explicit.h" }
  exclude header "nonexistent.h"
}
module redecl_merge_left { 
  header "redecl-merge-left.h" 
  export *
}
module redecl_merge_left_left { 
  header "redecl-merge-left-left.h" 
  export *
}
module redecl_merge_right { 
  header "redecl-merge-right.h" 
  export *
}
module redecl_merge_bottom { 
  explicit module prefix {
    header "redecl-merge-bottom-prefix.h"
  }

  header "redecl-merge-bottom.h" 
  export *
}
module namespaces_top { 
  header "namespaces-top.h"
  export *
}
module namespaces_left { 
  header "namespaces-left.h"
  export *
}
module namespaces_right { 
  header "namespaces-right.h"
  export *
}
module templates_top { 
  header "templates-top.h"
  export *
}
module templates_left { 
  header "templates-left.h"
  export *
}
module templates_right { 
  header "templates-right.h"
  export *
}
module MethodPoolA {
  header "MethodPoolA.h"

  explicit module Sub2 {
    header "MethodPoolASub2.h"
  }

  explicit module Sub {
    header "MethodPoolASub.h"
  }
}
module MethodPoolB {
  header "MethodPoolB.h"

  explicit module Sub2 {
    header "MethodPoolBSub2.h"
  }

  explicit module Sub {
    header "MethodPoolBSub.h"
  }
}
module import_decl {
  header "import-decl.h"
}

framework module * { 
  exclude NotAModule
}

module linkage_merge_left {
  explicit module sub {
    header "linkage-merge-sub.h"
  }
}

module autolink {
  header "autolink.h"
  link "autolink"

  explicit module sub {
    header "autolink-sub.h"
    link "autolink_sub"
  }

  explicit module sub2 {
    header "autolink-sub2.h"
    link framework "autolink_framework"
  }

  explicit module sub3 {
    header "autolink-sub3.h"
    link "autolink_from_pch"
  }
}

module weird_objc {
  header "weird_objc.h"
}

module ignored_macros {
  header "ignored_macros.h"
}

module cxx_many_overloads {
  header "cxx-many-overloads.h"
}

module cxx_inline_namespace {
  header "cxx-inline-namespace.h"
}

module cxx_inline_namespace_b {
  header "cxx-inline-namespace-b.h"
}

module cxx_linkage_cache {
  header "cxx-linkage-cache.h"
}

module cxx_templates_common {
  header "cxx-templates-common.h"

  explicit module unimported { header "cxx-templates-unimported.h" }
}

module cxx_templates_a {
  header "cxx-templates-a.h"
}

module cxx_templates_b_impl {
  header "cxx-templates-b-impl.h"
}

module cxx_templates_b {
  header "cxx-templates-b.h"
}

module cxx_templates_c {
  header "cxx-templates-c.h"
}

module cxx_templates_d {
  header "cxx-templates-d.h"
}

module cxx_decls {
  module unimported {
    header "cxx-decls-unimported.h"
  }
  module imported {
    header "cxx-decls-imported.h"
  }
}

module cxx_decls_premerged {
  header "cxx-decls-premerged.h"
}

module cxx_decls_merged {
  header "cxx-decls-merged.h"
}

module config {
  header "config.h"
  config_macros [exhaustive] WANT_FOO, WANT_BAR
}

module diag_flags {
  header "diag_flags.h"
}

module diag_pragma {
  header "diag_pragma.h"
}

module pragma_pack {
  module set { header "pragma_pack_set.h" }
  module empty { header "empty.h" }
}

module dummy {
  header "dummy.h"
}

module builtin {
  header "builtin.h"
  explicit module sub {
    header "builtin_sub.h"
  }
}

module linkage_merge {
  explicit module foo {
    header "linkage-merge-foo.h"
  }
  explicit module bar {
    header "linkage-merge-bar.h"
  }

}

module incomplete_mod {
  header "incomplete_mod.h"
}

module warning {
  header "warning.h"
}

module warn_unused_local_typedef {
  header "warn-unused-local-typedef.h"
}

module using_decl {
  module a { header "using-decl-a.h" export * }
  module b { header "using-decl-b.h" export * }
}

module recursive_visibility_a1 {
  module inner { header "recursive_visibility_a1_inner.h" }
}
module recursive_visibility_a2 {
  module inner {
    module more_inner {
      header "recursive_visibility_a2_more_inner.h"
    }
  }
}
module recursive_visibility_b {
  header "recursive_visibility_b.h"
  export *
}
module recursive_visibility_c {
  header "recursive_visibility_c.h"
}
module recursive1 {
  header "recursive1.h"
}
module recursive2 {
  header "recursive2.h"
}
module crash {
  header "crash.h"
}

module DebugCXX {
  header "DebugCXX.h"
}

module DebugObjC {
  header "DebugObjC.h"
}

module DebugObjCImport {
  module SubModule {
    header "DebugObjCImport.h"
  }
}

module ImportNameInDir {
  header "ImportNameInDir.h"
  export *
}

module RequiresWithMissingHeader {
  module HeaderBefore {
    header "RequiresWithMissingHeader-Missing1.h"
    requires missing
  }
  module HeaderAfter {
    requires missing
    header "RequiresWithMissingHeader-Missing2.h"
  }
}

module TargetFeatures {
  module arm {
    requires arm
    module aarch32 { requires aarch32 }
    module aarch64 { requires aarch64 }
  }
  module x86 {
    requires x86
    module x86_32 { requires x86_32 }
    module x86_64 { requires x86_64 }
  }
  module riscv {
    requires riscv
    module riscv32 { requires riscv32 }
    module riscv64 { requires riscv64 }
  }
}

module DebugSubmodules {
  module DebugSubmoduleA {
    header "DebugSubmoduleA.h"
    export *
  }
  module DebugSubmoduleB {
    header "DebugSubmoduleB.h"
    export *
  }
}

module ExtensionTestA {
  header "ExtensionTestA.h"
}

module TypedefTag {
  header "typedef-tag.h"
  explicit module Hidden {
    header "typedef-tag-hidden.h"
  }
}

module ElaboratedTypeStructs {
  module Empty {}
  module Structs {
    header "elaborated-type-structs.h"
  }
}

// We import a module, then declare a method with selector stringValue in
// MethodPoolCombined1.h. In MethodPoolCombined2.h, we import another module
// that also contains a method for selector stringValue. We make sure that
// the method pool entry for stringValue in this module is complete.
module MethodPoolCombined {
  header "MethodPoolCombined1.h"
  header "MethodPoolCombined2.h"
}

module MethodPoolString1 {
  header "MethodPoolString1.h"
}

module MethodPoolString2 {
  header "MethodPoolString2.h"
}

module Empty {}

module MacroFabs1 {
  header "MacroFabs1.h"
}

module DiagOutOfDate {
  header "DiagOutOfDate.h"
}

module DebugNestedA {
  header "DebugNestedA.h"
  export *
}

module DebugNestedB {
  header "DebugNestedB.h"
  export *
}

module objcAtKeywordMissingEnd {
  header "objcAtKeywordMissingEnd.h"
}

module innerstructredef {
  module one {
    header "empty.h"
  }
  module two {
   header "innerstructredef.h"
  }
}

module template_nontrivial0 {
  header "template-nontrivial0.h"
  export *
}

module template_nontrivial1 {
  header "template-nontrivial1.h"
  export *
}
