26 lines · c
1// RUN: rm -rf %t2// 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 %s5// RUN: cp %t/MyHeader2.pcm %t1.pcm6// RUN: rm -rf %t7// 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 %s10// RUN: cp %t/MyHeader2.pcm %t2.pcm11// RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t1.pcm > %t1.dump12// RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t2.pcm > %t2.dump13// RUN: cat %t1.dump %t2.dump | FileCheck %s14 15#include "my_header_2.h"16 17my_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