1 // RUN: rm -rf %t 2 // RUN: mkdir %t 3 // RUN: touch %t/Module.pcm 4 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %s -fdisable-module-hash -F %S/Inputs -verify 5 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %s -fdisable-module-hash -F %S/Inputs -DIMPLICIT -verify 6 7 // This tests that after a fatal module loader error, we do not continue parsing. 8 9 #ifdef IMPLICIT 10 11 // expected-error@+1{{Module.pcm' is not a valid precompiled module file}} 12 #import <Module/Module.h> 13 #pragma clang __debug crash; 14 15 #else 16 17 // expected-error@+1{{Module.pcm' is not a valid precompiled module file}} 18 @import Module; 19 #pragma clang __debug crash; 20 21 #endif 22 23 // Also check that libclang does not create a PCH with such an error. 24 // RUN: not c-index-test -write-pch %t.pch -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \ 25 // RUN: %s -Xclang -fdisable-module-hash -F %S/Inputs 2>&1 | FileCheck %s 26 // CHECK: {{^}}Failure: AST deserialization error occurred{{$}} 27