2015-06-06 22:15:06 +08:00
|
|
|
# RUN: %python -m artiq.py2llvm.typing +diag %s >%t
|
|
|
|
# RUN: OutputCheck %s --file-to-check=%t
|
|
|
|
|
|
|
|
a = 1
|
|
|
|
b = []
|
|
|
|
|
2015-06-11 08:55:06 +08:00
|
|
|
# CHECK-L: ${LINE:+1}: error: cannot unify int(width='a) with list(elt='b)
|
2015-06-06 22:15:06 +08:00
|
|
|
a = b
|
2015-06-11 08:55:06 +08:00
|
|
|
|
|
|
|
# CHECK-L: ${LINE:+1}: error: cannot unify int(width='a) with list(elt='b)
|
|
|
|
[1, []]
|
2015-06-11 09:22:31 +08:00
|
|
|
# CHECK-L: note: a list element of type int(width='a)
|
2015-06-11 08:55:06 +08:00
|
|
|
# CHECK-L: note: a list element of type list(elt='b)
|
2015-06-11 09:20:33 +08:00
|
|
|
|
|
|
|
# CHECK-L: ${LINE:+1}: error: cannot unify int(width='a) with bool
|
|
|
|
1 and False
|
|
|
|
# CHECK-L: note: an operand of type int(width='a)
|
|
|
|
# CHECK-L: note: an operand of type bool
|
2015-06-12 13:59:41 +08:00
|
|
|
|
2015-06-14 17:07:13 +08:00
|
|
|
# CHECK-L: ${LINE:+1}: error: expected unary '+' operand to be of numeric type, not list(elt='a)
|
2015-06-13 18:45:09 +08:00
|
|
|
+[]
|
|
|
|
|
2015-06-14 17:07:13 +08:00
|
|
|
# CHECK-L: ${LINE:+1}: error: expected '~' operand to be of integer type, not float
|
2015-06-13 18:45:09 +08:00
|
|
|
~1.0
|
2015-06-13 18:50:56 +08:00
|
|
|
|
|
|
|
# CHECK-L: ${LINE:+1}: error: type int(width='a) does not have an attribute 'x'
|
|
|
|
(1).x
|