Commit 7f89a1d6 authored by Stefan Behnel's avatar Stefan Behnel

allow unprefixed 'str' literals in C varargs lists

parent 0e1e8803
......@@ -120,6 +120,8 @@ Bugs fixed
* Some complex Python expressions could fail to compile inside of finally
clauses.
* Unprefixed 'str' literals were not supported as C varargs arguments.
Other changes
-------------
......
......@@ -4799,7 +4799,10 @@ class SimpleCallNode(CallNode):
for i in range(max_nargs, actual_nargs):
arg = args[i]
if arg.type.is_pyobject:
arg_ctype = arg.type.default_coerced_ctype()
if arg.type is str_type:
arg_ctype = PyrexTypes.c_char_ptr_type
else:
arg_ctype = arg.type.default_coerced_ctype()
if arg_ctype is None:
error(self.args[i].pos,
"Python object cannot be passed as a varargs parameter")
......
cdef grail(char *blarg, ...):
cdef grail(const char *blarg, ...):
pass
def swallow():
"""
>>> swallow()
"""
grail("spam")
grail("spam", 42)
grail("spam", b"abc")
grail("spam", "abc")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment