xref: /llvm-project/clang/test/Modules/merge-template-pattern-visibility.cpp (revision a72a70aeb94c0b4cd4c5ef855cbc42da13fc0463)
17a591a4aSRichard Smith // RUN: rm -rf %t
26f4e2e03SRichard Smith // RUN: %clang_cc1 -fmodules -fno-modules-error-recovery -std=c++14 \
37a591a4aSRichard Smith // RUN:            -fmodule-name=X -emit-module %S/Inputs/merge-template-pattern-visibility/module.modulemap -x c++ \
46f4e2e03SRichard Smith // RUN:            -fmodules-local-submodule-visibility -o %t/X.pcm
5*6561f92bSRichard Smith // RUN: %clang_cc1 -fmodules -fno-modules-error-recovery -std=c++14 \
6*6561f92bSRichard Smith // RUN:            -fmodule-name=Y -emit-module %S/Inputs/merge-template-pattern-visibility/module.modulemap -x c++ \
7*6561f92bSRichard Smith // RUN:            -fmodules-local-submodule-visibility -o %t/Y.pcm
8*6561f92bSRichard Smith // RUN: %clang_cc1 -fmodules -fno-modules-error-recovery -std=c++14 -fmodule-file=%t/X.pcm -fmodule-file=%t/Y.pcm \
9*6561f92bSRichard Smith // RUN:            -fmodules-local-submodule-visibility -verify %s -I%S/Inputs/merge-template-pattern-visibility
10*6561f92bSRichard Smith 
11*6561f92bSRichard Smith #include "b.h"
12*6561f92bSRichard Smith #include "d.h"
13*6561f92bSRichard Smith 
14*6561f92bSRichard Smith // expected-no-diagnostics
g()15*6561f92bSRichard Smith void g() {
16*6561f92bSRichard Smith   CrossModuleMerge::B<int> bi;
17*6561f92bSRichard Smith   CrossModuleMerge::C(0);
18*6561f92bSRichard Smith }
19