Clang Project

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