summaryrefslogtreecommitdiff
path: root/test/Bindings
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2009-05-06 12:21:17 +0000
committerDuncan Sands <baldrick@free.fr>2009-05-06 12:21:17 +0000
commite149e9960ba0726f4b084763f7ef95afa12d9a88 (patch)
treec144c4b0a0cf3bb4b3e7d55726690106df2adcf8 /test/Bindings
parenta9cad0e7e09e6d34de2fccb4f1294b7f0b8f3b68 (diff)
downloadllvm-e149e9960ba0726f4b084763f7ef95afa12d9a88.tar.gz
llvm-e149e9960ba0726f4b084763f7ef95afa12d9a88.tar.bz2
llvm-e149e9960ba0726f4b084763f7ef95afa12d9a88.tar.xz
OCaml parameter attribute bindings from PR2752.
Incomplete, but better than nothing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71081 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Bindings')
-rw-r--r--test/Bindings/Ocaml/vmcore.ml12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/Bindings/Ocaml/vmcore.ml b/test/Bindings/Ocaml/vmcore.ml
index 82c917fcd7..5c3dd74dc2 100644
--- a/test/Bindings/Ocaml/vmcore.ml
+++ b/test/Bindings/Ocaml/vmcore.ml
@@ -626,7 +626,13 @@ let test_params () =
let p2 = param f 1 in
set_value_name "One" p1;
set_value_name "Two" p2;
-
+ add_param_attr p1 Attribute.Sext;
+ add_param_attr p2 Attribute.Noalias;
+ remove_param_attr p2 Attribute.Noalias;
+ add_function_attr f Attribute.Nounwind;
+ add_function_attr f Attribute.Noreturn;
+ remove_function_attr f Attribute.Noreturn;
+
insist (Before p1 = param_begin f);
insist (Before p2 = param_succ p1);
insist (At_end f = param_succ p2);
@@ -988,6 +994,10 @@ let test_builder () =
insist (not (is_tail_call ci));
set_tail_call true ci;
insist (is_tail_call ci);
+ add_instruction_param_attr ci 0 Attribute.Nounwind;
+ add_instruction_param_attr ci 1 Attribute.Sext;
+ add_instruction_param_attr ci 2 Attribute.Noalias;
+ remove_instruction_param_attr ci 2 Attribute.Noalias;
let inst46 = build_icmp Icmp.Eq p1 p2 "Inst46" atentry in
ignore (build_select inst46 p1 p2 "Inst47" atentry);