xref: /aosp_15_r20/external/clang/test/PCH/verify_pch.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// Setup:
2*67e74705SXin Li// RUN: rm -rf %t
3*67e74705SXin Li// RUN: mkdir -p %t/usr/include
4*67e74705SXin Li// RUN: echo '// empty' > %t/usr/include/sys_header.h
5*67e74705SXin Li// RUN: cp %s %t.h
6*67e74705SXin Li//
7*67e74705SXin Li// Precompile
8*67e74705SXin Li// RUN: %clang_cc1 -isystem %t/usr/include -x objective-c-header -emit-pch -o %t.pch %t.h
9*67e74705SXin Li
10*67e74705SXin Li// Verify successfully
11*67e74705SXin Li// RUN: %clang_cc1 -isystem %t/usr/include -verify-pch %t.pch
12*67e74705SXin Li
13*67e74705SXin Li// Incompatible lang options ignored
14*67e74705SXin Li// RUN: %clang_cc1 -isystem %t/usr/include -x objective-c -fno-builtin -verify-pch %t.pch
15*67e74705SXin Li
16*67e74705SXin Li// Stale dependency
17*67e74705SXin Li// RUN: echo ' ' >> %t.h
18*67e74705SXin Li// RUN: not %clang_cc1 -isystem %t/usr/include -verify-pch %t.pch 2> %t.log.2
19*67e74705SXin Li// RUN: FileCheck -check-prefix=CHECK-STALE-DEP %s < %t.log.2
20*67e74705SXin Li// CHECK-STALE-DEP: file '{{.*}}.h' has been modified since the precompiled header '{{.*}}.pch' was built
21*67e74705SXin Li
22*67e74705SXin Li// Stale dependency in system header
23*67e74705SXin Li// RUN: %clang_cc1 -isystem %t/usr/include -x objective-c-header -emit-pch -o %t.pch %t.h
24*67e74705SXin Li// RUN: %clang_cc1 -isystem %t/usr/include -verify-pch %t.pch
25*67e74705SXin Li// RUN: echo ' ' >> %t/usr/include/sys_header.h
26*67e74705SXin Li// RUN: not %clang_cc1 -isystem %t/usr/include -verify-pch %t.pch 2> %t.log.3
27*67e74705SXin Li// RUN: FileCheck -check-prefix=CHECK-STALE-SYS-H %s < %t.log.3
28*67e74705SXin Li// CHECK-STALE-SYS-H: file '{{.*}}sys_header.h' has been modified since the precompiled header '{{.*}}.pch' was built
29*67e74705SXin Li
30*67e74705SXin Li#include <sys_header.h>
31