| // RUN: rm -rf %t | |
| // RUN: split-file %s %t | |
| // | |
| // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header \ | |
| // RUN: %t/a.h -o %t/a.pcm | |
| // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header \ | |
| // RUN: %t/b.h -o %t/b.pcm -fmodule-file=%t/a.pcm | |
| // RUN: echo "#define A2 44" >> %t/a.h | |
| // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header \ | |
| // RUN: %t/a.h -o %t/a.v1.pcm | |
| // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header \ | |
| // RUN: %t/b.h -o %t/b.v1.pcm -fmodule-file=%t/a.v1.pcm | |
| // RUN: not diff %t/b.pcm %t/b.v1.pcm &> /dev/null | |
| //--- a.h | |
| #pragma once | |
| #define A 43 | |
| //--- b.h | |
| #pragma once | |
| import "a.h"; | |
| #define B 43 | |
| const int a = A; |