24 lines
742 B
Python
24 lines
742 B
Python
import unittest
|
|
from llvm.core import Module, Type
|
|
import llvm.core as lc
|
|
from .support import TestCase, tests
|
|
|
|
class TestArgAttr(TestCase):
|
|
def test_arg_attr(self):
|
|
m = Module.new('oifjda')
|
|
vptr = Type.pointer(Type.float())
|
|
fnty = Type.function(Type.void(), [vptr] * 5)
|
|
func = m.add_function(fnty, 'foo')
|
|
attrs = [lc.ATTR_STRUCT_RET, lc.ATTR_BY_VAL, lc.ATTR_NEST,
|
|
lc.ATTR_NO_ALIAS, lc.ATTR_NO_CAPTURE]
|
|
for i, attr in enumerate(attrs):
|
|
arg = func.args[i]
|
|
self.assertEqual(i, arg.arg_no)
|
|
arg.add_attribute(attr)
|
|
self.assertTrue(attr in func.args[i])
|
|
|
|
tests.append(TestArgAttr)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|
|
|