// RUN: rm -rf %t // RUN: %clang_cc1 -triple %itanium_abi_triple -fmodules -fmodules-cache-path=%t %s -emit-llvm -o - | FileCheck %s // CHECK: @{{.*var.*}} = {{.*}} %union.union_type { i8 1 }, #pragma clang module build bar module bar { header "bar.h" { size 40 mtime 0 } export * } #pragma clang module contents #pragma clang module begin bar union union_type { char h{1}; }; #pragma clang module end #pragma clang module endbuild #pragma clang module build foo module foo { header "foo.h" { size 97 mtime 0 } export * } #pragma clang module contents #pragma clang module begin foo union union_type { char h{1}; }; #pragma clang module import bar template<typename T> union_type var; #pragma clang module end #pragma clang module endbuild #pragma clang module import foo int main() { (void)&var<int>; }