summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kuperstein <michael.m.kuperstein@intel.com>2013-12-15 11:50:45 +0000
committerMichael Kuperstein <michael.m.kuperstein@intel.com>2013-12-15 11:50:45 +0000
commit7631b0eba40b0996cfd0b7fa614fbde0bcdb872a (patch)
treeaf8c93d339950e4d1da93beaa2aa2876834dfb27
parent56b5cc91afcbc1eeb9c84cae83d2d50beba391f0 (diff)
downloadbcm5719-llvm-7631b0eba40b0996cfd0b7fa614fbde0bcdb872a.tar.gz
bcm5719-llvm-7631b0eba40b0996cfd0b7fa614fbde0bcdb872a.zip
Ensure bitcode encoding of global variable attributes stays stable. Patch by Boaz Ouriel.
llvm-svn: 197340
-rw-r--r--llvm/test/Bitcode/global-variables.3.2.ll41
-rw-r--r--llvm/test/Bitcode/global-variables.3.2.ll.bcbin0 -> 536 bytes
2 files changed, 41 insertions, 0 deletions
diff --git a/llvm/test/Bitcode/global-variables.3.2.ll b/llvm/test/Bitcode/global-variables.3.2.ll
new file mode 100644
index 00000000000..549d025549b
--- /dev/null
+++ b/llvm/test/Bitcode/global-variables.3.2.ll
@@ -0,0 +1,41 @@
+; RUN: llvm-dis < %s.bc| FileCheck %s
+
+; global-variables.3.2.ll.bc was generated by passing this file to llvm-as-3.2.
+; The test checks that LLVM does not silently misread global variables attributes of
+; older bitcode files.
+
+@global.var = global i32 1
+; CHECK: @global.var = global i32 1
+
+@constant.var = constant i32 1
+; CHECK: @constant.var = constant i32 1
+
+@noinit.var = global float undef
+; CHECK: @noinit.var = global float undef
+
+@section.var = global i32 1, section "foo"
+; CHECK: @section.var = global i32 1, section "foo"
+
+@align.var = global i64 undef, align 8
+; CHECK: @align.var = global i64 undef, align 8
+
+@unnamed_addr.var = unnamed_addr global i8 1
+; CHECK: @unnamed_addr.var = unnamed_addr global i8 1
+
+@default_addrspace.var = addrspace(0) global i8 1
+; CHECK: @default_addrspace.var = global i8 1
+
+@non_default_addrspace.var = addrspace(1) global i8* undef
+; CHECK: @non_default_addrspace.var = addrspace(1) global i8* undef
+
+@initialexec.var = thread_local(initialexec) global i32 0, align 4
+; CHECK: @initialexec.var = thread_local(initialexec) global i32 0, align 4
+
+@localdynamic.var = thread_local(localdynamic) constant i32 0, align 4
+; CHECK: @localdynamic.var = thread_local(localdynamic) constant i32 0, align 4
+
+@localexec.var = thread_local(localexec) constant i32 0, align 4
+; CHECK: @localexec.var = thread_local(localexec) constant i32 0, align 4
+
+@string.var = private unnamed_addr constant [13 x i8] c"hello world\0A\00"
+; CHECK: @string.var = private unnamed_addr constant [13 x i8] c"hello world\0A\00"
diff --git a/llvm/test/Bitcode/global-variables.3.2.ll.bc b/llvm/test/Bitcode/global-variables.3.2.ll.bc
new file mode 100644
index 00000000000..c105f2fb183
--- /dev/null
+++ b/llvm/test/Bitcode/global-variables.3.2.ll.bc
Binary files differ
OpenPOWER on IntegriCloud