Some small style updates as drive-by. Reviewed By: ChuanqiXu Differential Revision: https://reviews.llvm.org/D153038
56 lines
1.7 KiB
C++
56 lines
1.7 KiB
C++
// RUN: rm -rf %t
|
|
// RUN: split-file %s %t
|
|
// RUN: cd %t
|
|
//
|
|
// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/b.cppm -o %t/b.pcm
|
|
// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/a.cppm -fmodule-file=b=%t/b.pcm \
|
|
// RUN: -o %t/a.pcm
|
|
// RUN: %clang_cc1 -std=c++20 %t/user.cpp -fmodule-file=a=%t/a.pcm -verify -fsyntax-only
|
|
// RUN: %clang_cc1 -std=c++20 %t/user.cpp -fmodule-file=a=%t/a.pcm -verify -fsyntax-only \
|
|
// RUN: -Wno-read-modules-implicitly -DNO_DIAG
|
|
// RUN: %clang_cc1 -std=c++20 %t/user.cpp -fmodule-file=a=%t/a.pcm -fmodule-file=b=%t/b.pcm \
|
|
// RUN: -DNO_DIAG -verify -fsyntax-only
|
|
//
|
|
// RUN: %clang_cc1 -std=c++20 %t/a.pcm -S -emit-llvm -o - 2>&1 | FileCheck %t/a.cppm
|
|
// RUN: %clang_cc1 -std=c++20 %t/a.pcm -fmodule-file=b=%t/b.pcm -S -emit-llvm -o - 2>&1 \
|
|
// RUN: | FileCheck %t/a.cppm -check-prefix=CHECK-CORRECT
|
|
//
|
|
// RUN: mkdir -p %t/tmp
|
|
// RUN: mv %t/b.pcm %t/tmp/b.pcm
|
|
// RUN: not %clang_cc1 -std=c++20 %t/a.pcm -S -emit-llvm -o - 2>&1 \
|
|
// RUN: | FileCheck %t/a.cppm -check-prefix=CHECK-ERROR
|
|
// RUN: %clang_cc1 -std=c++20 %t/a.pcm -S -emit-llvm -o - 2>&1 -fmodule-file=b=%t/tmp/b.pcm \
|
|
// RUN: | FileCheck %t/a.cppm -check-prefix=CHECK-CORRECT
|
|
|
|
//--- b.cppm
|
|
export module b;
|
|
export int b() {
|
|
return 43;
|
|
}
|
|
|
|
//--- a.cppm
|
|
export module a;
|
|
import b;
|
|
export int a() {
|
|
return b() + 43;
|
|
}
|
|
|
|
// CHECK: it is deprecated to read module 'b' implicitly;
|
|
|
|
// CHECK-CORRECT-NOT: warning
|
|
// CHECK-CORRECT-NOT: error
|
|
|
|
// CHECK-ERROR: error: module file{{.*}}not found: module file not found
|
|
|
|
|
|
//--- user.cpp
|
|
#ifdef NO_DIAG
|
|
// expected-no-diagnostics
|
|
#else
|
|
// expected-warning@+2 {{it is deprecated to read module 'b' implicitly;}}
|
|
#endif
|
|
import a;
|
|
int use() {
|
|
return a();
|
|
}
|