llvm/clang/test/Modules/private.modulemap

// RUN: rm -rf %t
// RUN: cd %S
// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \
// RUN:   -I%S/Inputs/private3 -emit-module -fmodule-name=A -o %t/m.pcm %s
// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \
// RUN:   -I%S/Inputs/private3 -emit-module -fmodule-name=B -o %t/m.pcm %s
// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \
// RUN:   -I%S/Inputs/private3 -emit-module -fmodule-name=C -o %t/m.pcm %s
// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \
// RUN:   -I%S/Inputs/private3 -emit-module -fmodule-name=D -o %t/m.pcm %s

module A {
  header "Inputs/private3/public.h"
  private header "Inputs/private3/private.h"
}
module B {
  header "Inputs/private3/public.h"
  module "private.h" {
    private header "Inputs/private3/private.h"
  }
}
module C {
  module "public.h" {
    header "Inputs/private3/public.h"
  }
  private header "Inputs/private3/private.h"
}
module D {
  module "public.h" {
    header "Inputs/private3/public.h"
  }
  module "private.h" {
    private header "Inputs/private3/private.h"
  }
}