| 1 | // RUN: rm -rf %t |
| 2 | // Build A.pcm |
| 3 | // RUN: %clang_cc1 -Werror -Wno-conversion -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs %s -fmodules-disable-diagnostic-validation |
| 4 | // Build pch that imports A.pcm |
| 5 | // RUN: %clang_cc1 -Werror -Wno-conversion -emit-pch -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -o %t.pch -I %S/Inputs -x objective-c-header %S/Inputs/pch-import-module-out-of-date.pch -fmodules-disable-diagnostic-validation |
| 6 | // Make sure that we don't rebuild A.pcm and overwrite the original A.pcm that the pch imports |
| 7 | // RUN: %clang_cc1 -Werror -Wconversion -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs %s -fmodules-disable-diagnostic-validation |
| 8 | // Make sure we don't error out when using the pch |
| 9 | // RUN: %clang_cc1 -Werror -Wno-conversion -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -fsyntax-only -I %S/Inputs -include-pch %t.pch %s -verify -fmodules-disable-diagnostic-validation |
| 10 | |
| 11 | // Build A.pcm |
| 12 | // RUN: %clang_cc1 -Werror -Wno-conversion -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs %s |
| 13 | // Build pch that imports A.pcm |
| 14 | // RUN: %clang_cc1 -Werror -Wno-conversion -emit-pch -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -o %t.pch -I %S/Inputs -x objective-c-header %S/Inputs/pch-import-module-out-of-date.pch |
| 15 | // We will rebuild A.pcm and overwrite the original A.pcm that the pch imports, but the two versions have the same hash. |
| 16 | // RUN: %clang_cc1 -Werror -Wconversion -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs %s |
| 17 | // Make sure we don't error out when using the pch |
| 18 | // RUN: %clang_cc1 -Werror -Wno-conversion -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -fsyntax-only -I %S/Inputs -include-pch %t.pch %s -verify |
| 19 | |
| 20 | // expected-no-diagnostics |
| 21 | |
| 22 | @import DiagOutOfDate; |
| 23 | |