Commit d3a57b96a9

Veikka Tuominen <git@vexu.eu>
2020-12-15 21:40:04
translate-c: detect parenthesized string literals
1 parent b3c1ced
Changed files (2)
src/translate_c.zig
@@ -1797,6 +1797,10 @@ fn exprIsStringLiteral(expr: *const clang.Expr) bool {
             const op_expr = @ptrCast(*const clang.UnaryOperator, expr).getSubExpr();
             return exprIsStringLiteral(op_expr);
         },
+        .ParenExprClass => {
+            const op_expr = @ptrCast(*const clang.ParenExpr, expr).getSubExpr();
+            return exprIsStringLiteral(op_expr);
+        },
         else => return false,
     }
 }
test/run_translated_c.zig
@@ -3,6 +3,13 @@ const tests = @import("tests.zig");
 const nl = std.cstr.line_sep;
 
 pub fn addCases(cases: *tests.RunTranslatedCContext) void {
+    cases.add("parenthesized string literal",
+        \\void foo(const char *s) {}
+        \\int main(void) {
+        \\	foo(("bar"));
+        \\}
+    , "");
+
     cases.add("variable shadowing type type",
         \\#include <stdlib.h>
         \\int main() {