diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-04-28 22:17:59 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-04-28 22:17:59 +0000 |
commit | f5563f573675f1b0b30884185cc52e611e97bd6c (patch) | |
tree | 6c0d74c4d1ca31c07c2830b15b7b7f5d9d7503ea /test/CodeGenCXX/cxx1y-variable-template.cpp | |
parent | ec47c9130c83eabfa9460651da30eefeac297f62 (diff) |
CodeGen: Fix linkage of reference temporaries
Summary:
A reference temporary should inherit the linkage of the variable it
initializes. Otherwise, we may hit cases where a reference temporary
wouldn't have the same value in all translation units.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3515
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@207451 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/cxx1y-variable-template.cpp')
-rw-r--r-- | test/CodeGenCXX/cxx1y-variable-template.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGenCXX/cxx1y-variable-template.cpp b/test/CodeGenCXX/cxx1y-variable-template.cpp index d1e70603e2..cd73817d85 100644 --- a/test/CodeGenCXX/cxx1y-variable-template.cpp +++ b/test/CodeGenCXX/cxx1y-variable-template.cpp @@ -18,7 +18,7 @@ int init_arr(); template<typename T> template<typename U> template<typename V> int Outer<T>::Inner<U>::arr[sizeof(T) + sizeof(U) + sizeof(V)] = { init_arr() }; int *p = Outer<char[100]>::Inner<char[20]>::arr<char[3]>; -// CHECK: @_ZN5OuterIA100_cE5InnerIA20_cE3arrIA3_cEE = weak_odr global [123 x i32] zeroinitializer -// CHECK: @_ZGVN5OuterIA100_cE5InnerIA20_cE3arrIA3_cEE = weak_odr global +// CHECK: @_ZN5OuterIA100_cE5InnerIA20_cE3arrIA3_cEE = linkonce_odr global [123 x i32] zeroinitializer +// CHECK: @_ZGVN5OuterIA100_cE5InnerIA20_cE3arrIA3_cEE = linkonce_odr global // CHECK: call {{.*}}@_Z8init_arrv |