1*e8bd0db6SManuel Klimek// RUN: rm -rf %t 2*e8bd0db6SManuel Klimek// RUN: cd %S 3*e8bd0db6SManuel Klimek// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \ 4*e8bd0db6SManuel Klimek// RUN: -I%S/Inputs/private3 -emit-module -fmodule-name=A -o %t/m.pcm %s 5*e8bd0db6SManuel Klimek// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \ 6*e8bd0db6SManuel Klimek// RUN: -I%S/Inputs/private3 -emit-module -fmodule-name=B -o %t/m.pcm %s 7*e8bd0db6SManuel Klimek// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \ 8*e8bd0db6SManuel Klimek// RUN: -I%S/Inputs/private3 -emit-module -fmodule-name=C -o %t/m.pcm %s 9*e8bd0db6SManuel Klimek// RUN: %clang_cc1 -fmodules -x c++ -std=c++11 -fmodules-cache-path=%t \ 10*e8bd0db6SManuel Klimek// RUN: -I%S/Inputs/private3 -emit-module -fmodule-name=D -o %t/m.pcm %s 11*e8bd0db6SManuel Klimek 12*e8bd0db6SManuel Klimekmodule A { 13*e8bd0db6SManuel Klimek header "Inputs/private3/public.h" 14*e8bd0db6SManuel Klimek private header "Inputs/private3/private.h" 15*e8bd0db6SManuel Klimek} 16*e8bd0db6SManuel Klimekmodule B { 17*e8bd0db6SManuel Klimek header "Inputs/private3/public.h" 18*e8bd0db6SManuel Klimek module "private.h" { 19*e8bd0db6SManuel Klimek private header "Inputs/private3/private.h" 20*e8bd0db6SManuel Klimek } 21*e8bd0db6SManuel Klimek} 22*e8bd0db6SManuel Klimekmodule C { 23*e8bd0db6SManuel Klimek module "public.h" { 24*e8bd0db6SManuel Klimek header "Inputs/private3/public.h" 25*e8bd0db6SManuel Klimek } 26*e8bd0db6SManuel Klimek private header "Inputs/private3/private.h" 27*e8bd0db6SManuel Klimek} 28*e8bd0db6SManuel Klimekmodule D { 29*e8bd0db6SManuel Klimek module "public.h" { 30*e8bd0db6SManuel Klimek header "Inputs/private3/public.h" 31*e8bd0db6SManuel Klimek } 32*e8bd0db6SManuel Klimek module "private.h" { 33*e8bd0db6SManuel Klimek private header "Inputs/private3/private.h" 34*e8bd0db6SManuel Klimek } 35*e8bd0db6SManuel Klimek} 36