| ... | ... | @@ -406,7 +406,9 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void { |
| 406 | 406 | var it = proto_node.params.iterator(0); |
| 407 | 407 | while (it.next()) |p| { |
| 408 | 408 | const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*); |
| 409 | | const param_name = tokenSlice(c, param.name_token.?); |
| 409 | const param_name = tokenSlice(c, param.name_token orelse |
| 410 | return failDecl(c, fn_decl_loc, fn_name, "function {} parameter has no name", .{fn_name}) |
| 411 | ); |
| 410 | 412 | |
| 411 | 413 | const checked_param_name = if (try scope.createAlias(rp.c, param_name)) |a| blk: { |
| 412 | 414 | try block_scope.variables.push(.{ .name = param_name, .alias = a }); |
| ... | ... | @@ -4387,8 +4389,8 @@ fn parseCPrimaryExpr(rp: RestorePoint, it: *ctok.TokenList.Iterator, source_loc: |
| 4387 | 4389 | rp, |
| 4388 | 4390 | error.UnsupportedTranslation, |
| 4389 | 4391 | source_loc, |
| 4390 | | "unable to translate C expr", |
| 4391 | | .{}, |
| 4392 | "unable to translate C expr, unexpected token: {}", |
| 4393 | .{tok.id}, |
| 4392 | 4394 | ), |
| 4393 | 4395 | } |
| 4394 | 4396 | } |
| ... | ... | @@ -4473,10 +4475,17 @@ fn parseCSuffixOpExpr(rp: RestorePoint, it: *ctok.TokenList.Iterator, source_loc |
| 4473 | 4475 | call_node.rtoken = try appendToken(rp.c, .RParen, ")"); |
| 4474 | 4476 | node = &call_node.base; |
| 4475 | 4477 | }, |
| 4476 | | else => { |
| 4478 | .Eof => { |
| 4477 | 4479 | _ = it.prev(); |
| 4478 | 4480 | return node; |
| 4479 | 4481 | }, |
| 4482 | else => return revertAndWarn( |
| 4483 | rp, |
| 4484 | error.UnsupportedTranslation, |
| 4485 | source_loc, |
| 4486 | "unable to translate C expr, unexpected token: {}", |
| 4487 | .{tok.id}, |
| 4488 | ), |
| 4480 | 4489 | } |
| 4481 | 4490 | } |
| 4482 | 4491 | } |