From 2928b01afc5f0d84669ac6a70eedab4117d805f3 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 5 Nov 2018 20:03:16 -0500 Subject: [PATCH] fix broken cli test and translate-c: support no-op cast --- src/translate_c.cpp | 3 +-- test/cli.zig | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) 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); }