3 // RUN: split-file %s %t
5 // RUN: %clang_cc1 -std=c++20 -fskip-odr-check-in-gmf %t/A.cppm -emit-module-interface -o %t/A.pcm
6 // RUN: %clang_cc1 -std=c++20 -fskip-odr-check-in-gmf %t/B.cppm -emit-module-interface -o %t/B.pcm
7 // RUN: %clang_cc1 -std=c++20 -fskip-odr-check-in-gmf %t/test.cpp -fprebuilt-module-path=%t -fsyntax-only -verify
15 concept C = requires(const _Tp& __t) {
16 []<class _Up>(const Optional<_Up>&) {}(__t);
24 //--- duplicated_func.h
27 void duplicated_func() {}
33 func<Optional<int>>();
36 //--- test_duplicated_func.h
37 #include "duplicated_func.h"
39 void test_duplicated_func() {
40 duplicated_func<Optional<int>>();
46 #include "test_duplicated_func.h"
48 export using ::test_duplicated_func;
53 #include "test_func.h"
54 #include "test_duplicated_func.h"
56 export using ::test_func;
57 export using ::test_duplicated_func;
60 // expected-no-diagnostics
66 test_duplicated_func();