Commit c5560a14 authored by Robert Bradshaw's avatar Robert Bradshaw

Fix for comma operator bug.

parent 7619f085
...@@ -2094,7 +2094,7 @@ def p_c_simple_declarator(s, ctx, empty, is_type, cmethod_flag, ...@@ -2094,7 +2094,7 @@ def p_c_simple_declarator(s, ctx, empty, is_type, cmethod_flag,
error(s.position(), "Declarator should be empty") error(s.position(), "Declarator should be empty")
s.next() s.next()
cname = p_opt_cname(s) cname = p_opt_cname(s)
if name != "operator" and s.sy == '=' and assignable: if name != 'operator' and s.sy == '=' and assignable:
s.next() s.next()
rhs = p_test(s) rhs = p_test(s)
else: else:
...@@ -2102,10 +2102,12 @@ def p_c_simple_declarator(s, ctx, empty, is_type, cmethod_flag, ...@@ -2102,10 +2102,12 @@ def p_c_simple_declarator(s, ctx, empty, is_type, cmethod_flag,
error(s.position(), "Empty declarator") error(s.position(), "Empty declarator")
name = "" name = ""
cname = None cname = None
print pos, ctx.__dict__
if cname is None and ctx.namespace is not None: if cname is None and ctx.namespace is not None:
cname = ctx.namespace + "::" + name cname = ctx.namespace + "::" + name
if name == 'operator' and ctx.visibility == 'extern': if name == 'operator' and ctx.visibility == 'extern' and nonempty:
op = s.sy op = s.sy
if op in '+-*/<=>!%&|([^~,':
s.next() s.next()
# Handle diphthong operators. # Handle diphthong operators.
if op == '(': if op == '(':
......
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