150
|
1 // RUN: rm -rf %t
|
|
2
|
|
3 // Build Module and set its timestamp
|
|
4 // RUN: echo '@import Module;' | %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash -fsyntax-only -F %S/Inputs -x objective-c -
|
|
5 // RUN: touch -m -a -t 201101010000 %t/Module.pcm
|
|
6 // RUN: cp %t/Module.pcm %t/Module.pcm.saved
|
|
7 // RUN: wc -c %t/Module.pcm > %t/Module.size.saved
|
|
8
|
|
9 // Build DependsOnModule
|
|
10 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash -fsyntax-only -F %S/Inputs %s
|
|
11 // RUN: diff %t/Module.pcm %t/Module.pcm.saved
|
|
12 // RUN: cp %t/DependsOnModule.pcm %t/DependsOnModule.pcm.saved
|
|
13
|
|
14 // Rebuild Module, reset its timestamp, and verify its size hasn't changed
|
|
15 // RUN: rm %t/Module.pcm
|
|
16 // RUN: echo '@import Module;' | %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash -fsyntax-only -F %S/Inputs -x objective-c -
|
|
17 // RUN: touch -m -a -t 201101010000 %t/Module.pcm
|
|
18 // RUN: wc -c %t/Module.pcm > %t/Module.size
|
|
19 // RUN: diff %t/Module.size %t/Module.size.saved
|
|
20 // RUN: cp %t/Module.pcm %t/Module.pcm.saved.2
|
|
21
|
|
22 // The signature is the hash of the PCM content, we will not rebuild rebuild DependsOnModule.
|
|
23 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash -fsyntax-only -F %S/Inputs %s
|
|
24 // RUN: diff %t/Module.pcm %t/Module.pcm.saved.2
|
|
25 // RUN: diff %t/DependsOnModule.pcm %t/DependsOnModule.pcm.saved
|
|
26
|
|
27 // Rebuild Module, reset its timestamp, and verify its size hasn't changed
|
|
28 // RUN: rm %t/Module.pcm
|
|
29 // RUN: echo '@import Module;' | %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash -fsyntax-only -F %S/Inputs -x objective-c -
|
|
30 // RUN: touch -m -a -t 201101010000 %t/Module.pcm
|
|
31 // RUN: wc -c %t/Module.pcm > %t/Module.size
|
|
32 // RUN: diff %t/Module.size %t/Module.size.saved
|
|
33 // RUN: cp %t/Module.pcm %t/Module.pcm.saved.2
|
|
34
|
|
35 // Verify again with Module pre-imported.
|
|
36 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fdisable-module-hash -fsyntax-only -F %S/Inputs %s
|
|
37 // RUN: diff %t/Module.pcm %t/Module.pcm.saved.2
|
|
38 // RUN: diff %t/DependsOnModule.pcm %t/DependsOnModule.pcm.saved
|
|
39
|
|
40 #ifdef PREIMPORT
|
|
41 @import Module;
|
|
42 #endif
|
|
43 @import DependsOnModule;
|