~ubuntu-branches/ubuntu/trusty/llvm-toolchain-snapshot/trusty-201310232150

« back to all changes in this revision

Viewing changes to clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-27 15:01:57 UTC
  • mfrom: (0.10.1) (0.9.1) (0.8.1) (0.7.1) (0.6.1) (0.5.2)
  • Revision ID: package-import@ubuntu.com-20130527150157-tdkrsjpuvht7v0qx
Tags: 1:3.4~svn182733-1~exp1
* New snapshot release (3.4 release)
* Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
    to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
  * Various packages rename to allow co installations:
    * libclang1 => libclang1-3.4
    * libclang1-dbg => libclang1-3.4-dbg
    * libclang-dev => libclang-3.4-dev
    * libclang-common-dev => libclang-common-3.4-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple x86_64-linux-gnu | FileCheck %s
 
2
 
 
3
int &f();
 
4
 
 
5
// CHECK: @r = thread_local global i32* null
 
6
thread_local int &r = f();
 
7
 
 
8
// CHECK: @_ZTH1r = alias void ()* @__tls_init
 
9
 
 
10
int &g() { return r; }
 
11
 
 
12
// CHECK: define {{.*}} @[[R_INIT:.*]]()
 
13
// CHECK: call i32* @_Z1fv()
 
14
// CHECK: store i32* %{{.*}}, i32** @r, align 8
 
15
 
 
16
// CHECK: define i32* @_Z1gv()
 
17
// CHECK: call i32* @_ZTW1r()
 
18
// CHECK: ret i32* %{{.*}}
 
19
 
 
20
// CHECK: define weak_odr hidden i32* @_ZTW1r() {
 
21
// CHECK: call void @_ZTH1r()
 
22
// CHECK: load i32** @r, align 8
 
23
// CHECK: ret i32* %{{.*}}
 
24
 
 
25
// CHECK: define internal void @__tls_init()
 
26
// CHECK: call void @[[R_INIT]]()