1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -iquote %S/Inputs/ASTHash/ -fsyntax-only \ 3 // RUN: -fmodules -fimplicit-module-maps -fmodules-strict-context-hash \ 4 // RUN: -fmodules-cache-path=%t -fdisable-module-hash %s 5 // RUN: cp %t/MyHeader2.pcm %t1.pcm 6 // RUN: rm -rf %t 7 // RUN: %clang_cc1 -nostdinc++ -iquote %S/Inputs/ASTHash/ -fsyntax-only \ 8 // RUN: -fmodules -fimplicit-module-maps -fmodules-strict-context-hash \ 9 // RUN: -fmodules-cache-path=%t -fdisable-module-hash %s 10 // RUN: cp %t/MyHeader2.pcm %t2.pcm 11 // RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t1.pcm > %t1.dump 12 // RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t2.pcm > %t2.dump 13 // RUN: cat %t1.dump %t2.dump | FileCheck %s 14 15 #include "my_header_2.h" 16 17 my_int var = 42; 18 19 // CHECK: <AST_BLOCK_HASH abbrevid={{[0-9]+}}/> blob data = '[[AST_BLOCK_HASH:.*]]' 20 // CHECK: <SIGNATURE abbrevid={{[0-9]+}}/> blob data = '[[SIGNATURE:.*]]' 21 // CHECK: <AST_BLOCK_HASH abbrevid={{[0-9]+}}/> blob data = '[[AST_BLOCK_HASH]]' 22 // CHECK-NOT: <SIGNATURE abbrevid={{[0-9]+}}/> blob data = '[[SIGNATURE]]' 23 // The modules built by this test are designed to yield the same AST but distinct AST files. 24 // If this test fails, it means that either the AST block has become non-relocatable, 25 // or the file signature stopped hashing some parts of the AST file. 26