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