Home | History | Annotate | Download | only in Modules
      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