1fa285df5SRichard Smith // RUN: %clang_cc1 -fmodules -std=c++14 -emit-llvm %s -o - -triple x86_64-linux-gnu | FileCheck %s 2891fc7f3SRichard Smith 3891fc7f3SRichard Smith #pragma clang module build A 4891fc7f3SRichard Smith module A {} 5891fc7f3SRichard Smith #pragma clang module contents 6891fc7f3SRichard Smith #pragma clang module begin A 7891fc7f3SRichard Smith template<int> int n = 42; 8891fc7f3SRichard Smith decltype(n<0>) f(); 9891fc7f3SRichard Smith #pragma clang module end 10891fc7f3SRichard Smith #pragma clang module endbuild 11891fc7f3SRichard Smith 12891fc7f3SRichard Smith #pragma clang module build B 13891fc7f3SRichard Smith module B {} 14891fc7f3SRichard Smith #pragma clang module contents 15891fc7f3SRichard Smith #pragma clang module begin B 16891fc7f3SRichard Smith #pragma clang module import A 17891fc7f3SRichard Smith inline int f() { return n<0>; } 18891fc7f3SRichard Smith #pragma clang module end 19891fc7f3SRichard Smith #pragma clang module endbuild 20891fc7f3SRichard Smith 21891fc7f3SRichard Smith #pragma clang module import B 22891fc7f3SRichard Smith 23*dbc96b51SFangrui Song // CHECK: @_Z1nILi0EE = linkonce_odr global i32 42, comdat 24891fc7f3SRichard Smith int g() { return f(); } 25