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