let test_global_variables () =
let (++) x f = f x; x in
- let fourty_two32 = const_int i32_type 42 in
+ let forty_two32 = const_int i32_type 42 in
group "declarations"; begin
(* CHECK: @GVar01 = external global i32
* CHECK: @QGVar02 = addrspace(3) global i32 42
* CHECK: @QGVar03 = addrspace(3) global i32 42
*)
- let g = define_global "GVar02" fourty_two32 m in
+ let g = define_global "GVar02" forty_two32 m in
let g2 = declare_global i32_type "GVar03" m ++
- set_initializer fourty_two32 in
+ set_initializer forty_two32 in
insist (not (is_declaration g));
insist (not (is_declaration g2));
insist ((global_initializer g) == (global_initializer g2));
- let g = define_qualified_global "QGVar02" fourty_two32 3 m in
+ let g = define_qualified_global "QGVar02" forty_two32 3 m in
let g2 = declare_qualified_global i32_type "QGVar03" 3 m ++
- set_initializer fourty_two32 in
+ set_initializer forty_two32 in
insist (not (is_declaration g));
insist (not (is_declaration g2));
insist ((global_initializer g) == (global_initializer g2));
(* CHECK: GVar04{{.*}}thread_local
*)
group "threadlocal";
- let g = define_global "GVar04" fourty_two32 m ++
+ let g = define_global "GVar04" forty_two32 m ++
set_thread_local true in
insist (is_thread_local g);
(* CHECK: GVar05{{.*}}thread_local(initialexec)
*)
group "threadlocal_mode";
- let g = define_global "GVar05" fourty_two32 m ++
+ let g = define_global "GVar05" forty_two32 m ++
set_thread_local_mode ThreadLocalMode.InitialExec in
insist ((thread_local_mode g) = ThreadLocalMode.InitialExec);
(* CHECK: GVar06{{.*}}externally_initialized
*)
group "externally_initialized";
- let g = define_global "GVar06" fourty_two32 m ++
+ let g = define_global "GVar06" forty_two32 m ++
set_externally_initialized true in
insist (is_externally_initialized g);
(* CHECK-NOWHERE-NOT: GVar07
*)
group "delete";
- let g = define_global "GVar07" fourty_two32 m in
+ let g = define_global "GVar07" forty_two32 m in
delete_global g;
(* CHECK: ConstGlobalVar{{.*}}constant
*)
group "constant";
- let g = define_global "ConstGlobalVar" fourty_two32 m in
+ let g = define_global "ConstGlobalVar" forty_two32 m in
insist (not (is_global_constant g));
set_global_constant true g;
insist (is_global_constant g);
end;
group "metadata"; begin
- (* CHECK: %metadata = add i32 %P1, %P2, !test !0
- * !0 is metadata emitted at EOF.
+ (* CHECK: %metadata = add i32 %P1, %P2, !test !1
+ * !1 is metadata emitted at EOF.
*)
let i = build_add p1 p2 "metadata" atentry in
insist ((has_metadata i) = false);
end;
group "named metadata"; begin
- (* !md is emitted at EOF. *)
+ (* !llvm.module.flags is emitted at EOF. *)
let n1 = const_int i32_type 1 in
- let n2 = mdstring context "metadata test" in
- let md = mdnode context [| n1; n2 |] in
- add_named_metadata_operand m "md" md;
+ let n2 = mdstring context "Debug Info Version" in
+ let md = mdnode context [| n1; n2; n1 |] in
+ add_named_metadata_operand m "llvm.module.flags" md;
- insist ((get_named_metadata m "md") = [| md |])
+ insist ((get_named_metadata m "llvm.module.flags") = [| md |])
end;
group "dbg"; begin
- (* CHECK: %dbg = add i32 %P1, %P2, !dbg !1
- * !1 is metadata emitted at EOF.
+ (* CHECK: %dbg = add i32 %P1, %P2, !dbg !2
+ * !2 is metadata emitted at EOF.
*)
insist ((current_debug_location atentry) = None);
(* End-of-file checks for things like metdata and attributes.
* CHECK: attributes #0 = {{.*}}uwtable{{.*}}
- * CHECK: !md = !{!0}
- * CHECK: !0 = metadata !{i32 1, metadata !"metadata test"}
- * CHECK: !1 = metadata !{i32 2, i32 3, metadata !2, metadata !2}
+ * CHECK: !llvm.module.flags = !{!0}
+ * CHECK: !0 = metadata !{i32 1, metadata !"Debug Info Version", i32 1}
+ * CHECK: !1 = metadata !{i32 1, metadata !"metadata test"}
+ * CHECK: !2 = metadata !{i32 2, i32 3, metadata !3, metadata !3}
*)
(*===-- Pass Managers -----------------------------------------------------===*)