// RUN: rm -rf %t // RUN: mkdir %t // RUN: touch %t/Module.pcm // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %s -fdisable-module-hash -F %S/Inputs -verify // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %s -fdisable-module-hash -F %S/Inputs -DIMPLICIT -verify // This tests that after a fatal module loader error, we do not continue parsing. #ifdef IMPLICIT // expected-error@+1{{Module.pcm' is not a valid precompiled module file}} #import <Module/Module.h> #pragma clang __debug crash; #else // expected-error@+1{{Module.pcm' is not a valid precompiled module file}} @import Module; #pragma clang __debug crash; #endif // Also check that libclang does not create a PCH with such an error. // RUN: not c-index-test -write-pch %t.pch -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \ // RUN: %s -Xclang -fdisable-module-hash -F %S/Inputs 2>&1 | FileCheck %s // CHECK: {{^}}Failure: AST deserialization error occurred{{$}}