|  | // RUN: %clang_cc1 -fmodules -std=c++14 -emit-llvm %s -o - -triple x86_64-linux-gnu | FileCheck %s | 
|  |  | 
|  | #pragma clang module build A | 
|  | module A {} | 
|  | #pragma clang module contents | 
|  | #pragma clang module begin A | 
|  | template<int> int n = 42; | 
|  | decltype(n<0>) f(); | 
|  | #pragma clang module end | 
|  | #pragma clang module endbuild | 
|  |  | 
|  | #pragma clang module build B | 
|  | module B {} | 
|  | #pragma clang module contents | 
|  | #pragma clang module begin B | 
|  | #pragma clang module import A | 
|  | inline int f() { return n<0>; } | 
|  | #pragma clang module end | 
|  | #pragma clang module endbuild | 
|  |  | 
|  | #pragma clang module import B | 
|  |  | 
|  | // CHECK: @_Z1nILi0EE = linkonce_odr global i32 42, comdat | 
|  | int g() { return f(); } |