diff --git a/src/translate_c.cpp b/src/translate_c.cpp index b488baf15f..b708c47505 100644 --- a/src/translate_c.cpp +++ b/src/translate_c.cpp @@ -1700,8 +1700,7 @@ static AstNode *trans_implicit_cast_expr(Context *c, TransScope *scope, const Im emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_LValueBitCast"); return nullptr; case CK_NoOp: - emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_NoOp"); - return nullptr; + return trans_expr(c, ResultUsedYes, scope, stmt->getSubExpr(), TransRValue); case CK_BaseToDerived: emit_warning(c, stmt->getBeginLoc(), "TODO handle C translation cast CK_BaseToDerived"); return nullptr; diff --git a/test/cli.zig b/test/cli.zig index 3486b5a547..00899e4b51 100644 --- a/test/cli.zig +++ b/test/cli.zig @@ -127,5 +127,6 @@ fn testGodboltApi(zig_exe: []const u8, dir_path: []const u8) error!void { const out_asm = try std.io.readFileAlloc(a, example_s_path); assertOrPanic(std.mem.indexOf(u8, out_asm, "square:") != null); - assertOrPanic(std.mem.indexOf(u8, out_asm, "imul\tedi, edi") != null); + assertOrPanic(std.mem.indexOf(u8, out_asm, "mov\teax, edi") != null); + assertOrPanic(std.mem.indexOf(u8, out_asm, "imul\teax, edi") != null); }