| ... | ... | @@ -123,10 +123,10 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 123 | 123 | \\pub export fn foo() void { |
| 124 | 124 | \\ while (true) if (true) { |
| 125 | 125 | \\ var a: c_int = 1; |
| 126 | | \\ _ = @TypeOf(a); |
| 126 | \\ _ = &a; |
| 127 | 127 | \\ } else { |
| 128 | 128 | \\ var b: c_int = 2; |
| 129 | | \\ _ = @TypeOf(b); |
| 129 | \\ _ = &b; |
| 130 | 130 | \\ }; |
| 131 | 131 | \\ if (true) if (true) {}; |
| 132 | 132 | \\} |
| ... | ... | @@ -199,7 +199,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 199 | 199 | \\ .B = 0, |
| 200 | 200 | \\ .C = 0, |
| 201 | 201 | \\ }; |
| 202 | | \\ _ = @TypeOf(a); |
| 202 | \\ _ = &a; |
| 203 | 203 | \\ { |
| 204 | 204 | \\ const struct_Foo_1 = extern struct { |
| 205 | 205 | \\ A: c_int = @import("std").mem.zeroes(c_int), |
| ... | ... | @@ -211,7 +211,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 211 | 211 | \\ .B = 0, |
| 212 | 212 | \\ .C = 0, |
| 213 | 213 | \\ }; |
| 214 | | \\ _ = @TypeOf(a_2); |
| 214 | \\ _ = &a_2; |
| 215 | 215 | \\ } |
| 216 | 216 | \\} |
| 217 | 217 | }); |
| ... | ... | @@ -240,24 +240,24 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 240 | 240 | \\ B: c_int, |
| 241 | 241 | \\ C: c_int, |
| 242 | 242 | \\ }; |
| 243 | | \\ _ = @TypeOf(union_unnamed_1); |
| 243 | \\ _ = &union_unnamed_1; |
| 244 | 244 | \\ const Foo = union_unnamed_1; |
| 245 | 245 | \\ var a: Foo = Foo{ |
| 246 | 246 | \\ .A = @as(c_int, 0), |
| 247 | 247 | \\ }; |
| 248 | | \\ _ = @TypeOf(a); |
| 248 | \\ _ = &a; |
| 249 | 249 | \\ { |
| 250 | 250 | \\ const union_unnamed_2 = extern union { |
| 251 | 251 | \\ A: c_int, |
| 252 | 252 | \\ B: c_int, |
| 253 | 253 | \\ C: c_int, |
| 254 | 254 | \\ }; |
| 255 | | \\ _ = @TypeOf(union_unnamed_2); |
| 255 | \\ _ = &union_unnamed_2; |
| 256 | 256 | \\ const Foo_1 = union_unnamed_2; |
| 257 | 257 | \\ var a_2: Foo_1 = Foo_1{ |
| 258 | 258 | \\ .A = @as(c_int, 0), |
| 259 | 259 | \\ }; |
| 260 | | \\ _ = @TypeOf(a_2); |
| 260 | \\ _ = &a_2; |
| 261 | 261 | \\ } |
| 262 | 262 | \\} |
| 263 | 263 | }); |
| ... | ... | @@ -325,7 +325,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 325 | 325 | \\ const bar_1 = struct { |
| 326 | 326 | \\ threadlocal var static: c_int = 2; |
| 327 | 327 | \\ }; |
| 328 | | \\ _ = @TypeOf(bar_1); |
| 328 | \\ _ = &bar_1; |
| 329 | 329 | \\ return 0; |
| 330 | 330 | \\} |
| 331 | 331 | }); |
| ... | ... | @@ -344,7 +344,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 344 | 344 | \\} |
| 345 | 345 | \\pub export fn bar() c_int { |
| 346 | 346 | \\ var a: c_int = 2; |
| 347 | | \\ _ = @TypeOf(a); |
| 347 | \\ _ = &a; |
| 348 | 348 | \\ return 0; |
| 349 | 349 | \\} |
| 350 | 350 | \\pub export fn baz() c_int { |
| ... | ... | @@ -359,7 +359,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 359 | 359 | , &[_][]const u8{ |
| 360 | 360 | \\pub export fn main() void { |
| 361 | 361 | \\ var a: c_int = @as(c_int, @bitCast(@as(c_uint, @truncate(@alignOf(c_int))))); |
| 362 | | \\ _ = @TypeOf(a); |
| 362 | \\ _ = &a; |
| 363 | 363 | \\} |
| 364 | 364 | }); |
| 365 | 365 | |
| ... | ... | @@ -507,7 +507,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 507 | 507 | \\#define bar(x) (&x, +3, 4 == 4, 5 * 6, baz(1, 2), 2 % 2, baz(1,2)) |
| 508 | 508 | , &[_][]const u8{ |
| 509 | 509 | \\pub const foo = blk_1: { |
| 510 | | \\ _ = @TypeOf(foo); |
| 510 | \\ _ = &foo; |
| 511 | 511 | \\ break :blk_1 bar; |
| 512 | 512 | \\}; |
| 513 | 513 | , |
| ... | ... | @@ -729,7 +729,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 729 | 729 | \\pub export fn function(arg_opaque_1: ?*struct_opaque) void { |
| 730 | 730 | \\ var opaque_1 = arg_opaque_1; |
| 731 | 731 | \\ var cast: ?*struct_opaque_2 = @as(?*struct_opaque_2, @ptrCast(opaque_1)); |
| 732 | | \\ _ = @TypeOf(cast); |
| 732 | \\ _ = &cast; |
| 733 | 733 | \\} |
| 734 | 734 | }); |
| 735 | 735 | |
| ... | ... | @@ -764,7 +764,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 764 | 764 | \\pub export fn my_fn() align(128) void {} |
| 765 | 765 | \\pub export fn other_fn() void { |
| 766 | 766 | \\ var ARR: [16]u8 align(16) = undefined; |
| 767 | | \\ _ = @TypeOf(ARR); |
| 767 | \\ _ = &ARR; |
| 768 | 768 | \\} |
| 769 | 769 | }); |
| 770 | 770 | } |
| ... | ... | @@ -801,17 +801,17 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 801 | 801 | , &[_][]const u8{ |
| 802 | 802 | \\pub export fn foo() void { |
| 803 | 803 | \\ var a: c_int = undefined; |
| 804 | | \\ _ = @TypeOf(a); |
| 804 | \\ _ = &a; |
| 805 | 805 | \\ var b: u8 = 123; |
| 806 | | \\ _ = @TypeOf(b); |
| 806 | \\ _ = &b; |
| 807 | 807 | \\ const c: c_int = undefined; |
| 808 | | \\ _ = @TypeOf(c); |
| 808 | \\ _ = &c; |
| 809 | 809 | \\ const d: c_uint = @as(c_uint, @bitCast(@as(c_int, 440))); |
| 810 | | \\ _ = @TypeOf(d); |
| 810 | \\ _ = &d; |
| 811 | 811 | \\ var e: c_int = 10; |
| 812 | | \\ _ = @TypeOf(e); |
| 812 | \\ _ = &e; |
| 813 | 813 | \\ var f: c_uint = 10; |
| 814 | | \\ _ = @TypeOf(f); |
| 814 | \\ _ = &f; |
| 815 | 815 | \\} |
| 816 | 816 | }); |
| 817 | 817 | |
| ... | ... | @@ -870,7 +870,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 870 | 870 | \\ const v2 = struct { |
| 871 | 871 | \\ const static: [5:0]u8 = "2.2.2".*; |
| 872 | 872 | \\ }; |
| 873 | | \\ _ = @TypeOf(v2); |
| 873 | \\ _ = &v2; |
| 874 | 874 | \\} |
| 875 | 875 | }); |
| 876 | 876 | |
| ... | ... | @@ -913,7 +913,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 913 | 913 | \\pub export fn bar() void { |
| 914 | 914 | \\ var func_ptr: ?*anyopaque = @as(?*anyopaque, @ptrCast(&foo)); |
| 915 | 915 | \\ var typed_func_ptr: ?*const fn () callconv(.C) void = @as(?*const fn () callconv(.C) void, @ptrFromInt(@as(c_ulong, @intCast(@intFromPtr(func_ptr))))); |
| 916 | | \\ _ = @TypeOf(typed_func_ptr); |
| 916 | \\ _ = &typed_func_ptr; |
| 917 | 917 | \\} |
| 918 | 918 | }); |
| 919 | 919 | |
| ... | ... | @@ -1360,7 +1360,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1360 | 1360 | , &[_][]const u8{ |
| 1361 | 1361 | \\pub export fn foo() void { |
| 1362 | 1362 | \\ var a: c_int = undefined; |
| 1363 | | \\ _ = @TypeOf(a); |
| 1363 | \\ _ = &a; |
| 1364 | 1364 | \\} |
| 1365 | 1365 | }); |
| 1366 | 1366 | |
| ... | ... | @@ -1599,23 +1599,23 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1599 | 1599 | \\ var p: ?*anyopaque = undefined; |
| 1600 | 1600 | \\ { |
| 1601 | 1601 | \\ var to_char: [*c]u8 = @as([*c]u8, @ptrCast(@alignCast(p))); |
| 1602 | | \\ _ = @TypeOf(to_char); |
| 1602 | \\ _ = &to_char; |
| 1603 | 1603 | \\ var to_short: [*c]c_short = @as([*c]c_short, @ptrCast(@alignCast(p))); |
| 1604 | | \\ _ = @TypeOf(to_short); |
| 1604 | \\ _ = &to_short; |
| 1605 | 1605 | \\ var to_int: [*c]c_int = @as([*c]c_int, @ptrCast(@alignCast(p))); |
| 1606 | | \\ _ = @TypeOf(to_int); |
| 1606 | \\ _ = &to_int; |
| 1607 | 1607 | \\ var to_longlong: [*c]c_longlong = @as([*c]c_longlong, @ptrCast(@alignCast(p))); |
| 1608 | | \\ _ = @TypeOf(to_longlong); |
| 1608 | \\ _ = &to_longlong; |
| 1609 | 1609 | \\ } |
| 1610 | 1610 | \\ { |
| 1611 | 1611 | \\ var to_char: [*c]u8 = @as([*c]u8, @ptrCast(@alignCast(p))); |
| 1612 | | \\ _ = @TypeOf(to_char); |
| 1612 | \\ _ = &to_char; |
| 1613 | 1613 | \\ var to_short: [*c]c_short = @as([*c]c_short, @ptrCast(@alignCast(p))); |
| 1614 | | \\ _ = @TypeOf(to_short); |
| 1614 | \\ _ = &to_short; |
| 1615 | 1615 | \\ var to_int: [*c]c_int = @as([*c]c_int, @ptrCast(@alignCast(p))); |
| 1616 | | \\ _ = @TypeOf(to_int); |
| 1616 | \\ _ = &to_int; |
| 1617 | 1617 | \\ var to_longlong: [*c]c_longlong = @as([*c]c_longlong, @ptrCast(@alignCast(p))); |
| 1618 | | \\ _ = @TypeOf(to_longlong); |
| 1618 | \\ _ = &to_longlong; |
| 1619 | 1619 | \\ } |
| 1620 | 1620 | \\} |
| 1621 | 1621 | }); |
| ... | ... | @@ -1859,11 +1859,11 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 1859 | 1859 | \\ var arr: [10]u8 = [1]u8{ |
| 1860 | 1860 | \\ 1, |
| 1861 | 1861 | \\ } ++ [1]u8{0} ** 9; |
| 1862 | | \\ _ = @TypeOf(arr); |
| 1862 | \\ _ = &arr; |
| 1863 | 1863 | \\ var arr1: [10][*c]u8 = [1][*c]u8{ |
| 1864 | 1864 | \\ null, |
| 1865 | 1865 | \\ } ++ [1][*c]u8{null} ** 9; |
| 1866 | | \\ _ = @TypeOf(arr1); |
| 1866 | \\ _ = &arr1; |
| 1867 | 1867 | \\} |
| 1868 | 1868 | }); |
| 1869 | 1869 | |
| ... | ... | @@ -2107,16 +2107,16 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2107 | 2107 | \\pub var c: c_int = 4; |
| 2108 | 2108 | \\pub export fn foo(arg_c_1: u8) void { |
| 2109 | 2109 | \\ var c_1 = arg_c_1; |
| 2110 | | \\ _ = @TypeOf(c_1); |
| 2110 | \\ _ = &c_1; |
| 2111 | 2111 | \\ var a_2: c_int = undefined; |
| 2112 | 2112 | \\ var b_3: u8 = 123; |
| 2113 | 2113 | \\ b_3 = @as(u8, @bitCast(@as(i8, @truncate(a_2)))); |
| 2114 | 2114 | \\ { |
| 2115 | 2115 | \\ var d: c_int = 5; |
| 2116 | | \\ _ = @TypeOf(d); |
| 2116 | \\ _ = &d; |
| 2117 | 2117 | \\ } |
| 2118 | 2118 | \\ var d: c_uint = @as(c_uint, @bitCast(@as(c_int, 440))); |
| 2119 | | \\ _ = @TypeOf(d); |
| 2119 | \\ _ = &d; |
| 2120 | 2120 | \\} |
| 2121 | 2121 | }); |
| 2122 | 2122 | |
| ... | ... | @@ -2215,7 +2215,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2215 | 2215 | \\ { |
| 2216 | 2216 | \\ var i: c_int = 2; |
| 2217 | 2217 | \\ var b: c_int = 4; |
| 2218 | | \\ _ = @TypeOf(b); |
| 2218 | \\ _ = &b; |
| 2219 | 2219 | \\ while ((i + @as(c_int, 2)) != 0) : (i = 2) { |
| 2220 | 2220 | \\ var a: c_int = 2; |
| 2221 | 2221 | \\ _ = blk: { |
| ... | ... | @@ -2228,7 +2228,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2228 | 2228 | \\ } |
| 2229 | 2229 | \\ } |
| 2230 | 2230 | \\ var i: u8 = 2; |
| 2231 | | \\ _ = @TypeOf(i); |
| 2231 | \\ _ = &i; |
| 2232 | 2232 | \\} |
| 2233 | 2233 | }); |
| 2234 | 2234 | |
| ... | ... | @@ -2465,27 +2465,27 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2465 | 2465 | , &[_][]const u8{ |
| 2466 | 2466 | \\pub export fn escapes() [*c]const u8 { |
| 2467 | 2467 | \\ var a: u8 = '\''; |
| 2468 | | \\ _ = @TypeOf(a); |
| 2468 | \\ _ = &a; |
| 2469 | 2469 | \\ var b: u8 = '\\'; |
| 2470 | | \\ _ = @TypeOf(b); |
| 2470 | \\ _ = &b; |
| 2471 | 2471 | \\ var c: u8 = '\x07'; |
| 2472 | | \\ _ = @TypeOf(c); |
| 2472 | \\ _ = &c; |
| 2473 | 2473 | \\ var d: u8 = '\x08'; |
| 2474 | | \\ _ = @TypeOf(d); |
| 2474 | \\ _ = &d; |
| 2475 | 2475 | \\ var e: u8 = '\x0c'; |
| 2476 | | \\ _ = @TypeOf(e); |
| 2476 | \\ _ = &e; |
| 2477 | 2477 | \\ var f: u8 = '\n'; |
| 2478 | | \\ _ = @TypeOf(f); |
| 2478 | \\ _ = &f; |
| 2479 | 2479 | \\ var g: u8 = '\r'; |
| 2480 | | \\ _ = @TypeOf(g); |
| 2480 | \\ _ = &g; |
| 2481 | 2481 | \\ var h: u8 = '\t'; |
| 2482 | | \\ _ = @TypeOf(h); |
| 2482 | \\ _ = &h; |
| 2483 | 2483 | \\ var i: u8 = '\x0b'; |
| 2484 | | \\ _ = @TypeOf(i); |
| 2484 | \\ _ = &i; |
| 2485 | 2485 | \\ var j: u8 = '\x00'; |
| 2486 | | \\ _ = @TypeOf(j); |
| 2486 | \\ _ = &j; |
| 2487 | 2487 | \\ var k: u8 = '"'; |
| 2488 | | \\ _ = @TypeOf(k); |
| 2488 | \\ _ = &k; |
| 2489 | 2489 | \\ return "'\\\x07\x08\x0c\n\r\t\x0b\x00\""; |
| 2490 | 2490 | \\} |
| 2491 | 2491 | }); |
| ... | ... | @@ -2681,7 +2681,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2681 | 2681 | \\pub export fn foo() c_int { |
| 2682 | 2682 | \\ return blk: { |
| 2683 | 2683 | \\ var a: c_int = 1; |
| 2684 | | \\ _ = @TypeOf(a); |
| 2684 | \\ _ = &a; |
| 2685 | 2685 | \\ break :blk a; |
| 2686 | 2686 | \\ }; |
| 2687 | 2687 | \\} |
| ... | ... | @@ -2785,7 +2785,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2785 | 2785 | \\int bar(void) { return 0; } |
| 2786 | 2786 | , &[_][]const u8{ |
| 2787 | 2787 | \\pub inline fn CALL(arg: anytype) @TypeOf(bar()) { |
| 2788 | | \\ _ = @TypeOf(arg); |
| 2788 | \\ _ = &arg; |
| 2789 | 2789 | \\ return bar(); |
| 2790 | 2790 | \\} |
| 2791 | 2791 | }); |
| ... | ... | @@ -2844,14 +2844,14 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 2844 | 2844 | \\pub export fn foo() void { |
| 2845 | 2845 | \\ if (true) { |
| 2846 | 2846 | \\ var a: c_int = 2; |
| 2847 | | \\ _ = @TypeOf(a); |
| 2847 | \\ _ = &a; |
| 2848 | 2848 | \\ } |
| 2849 | 2849 | \\ if ((blk: { |
| 2850 | 2850 | \\ _ = @as(c_int, 2); |
| 2851 | 2851 | \\ break :blk @as(c_int, 5); |
| 2852 | 2852 | \\ }) != 0) { |
| 2853 | 2853 | \\ var a: c_int = 2; |
| 2854 | | \\ _ = @TypeOf(a); |
| 2854 | \\ _ = &a; |
| 2855 | 2855 | \\ } |
| 2856 | 2856 | \\} |
| 2857 | 2857 | }); |
| ... | ... | @@ -3331,7 +3331,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3331 | 3331 | \\#define a 2 |
| 3332 | 3332 | , &[_][]const u8{ |
| 3333 | 3333 | \\pub inline fn FOO(bar: anytype) @TypeOf(baz(@import("std").zig.c_translation.cast(?*anyopaque, baz))) { |
| 3334 | | \\ _ = @TypeOf(bar); |
| 3334 | \\ _ = &bar; |
| 3335 | 3335 | \\ return baz(@import("std").zig.c_translation.cast(?*anyopaque, baz)); |
| 3336 | 3336 | \\} |
| 3337 | 3337 | , |
| ... | ... | @@ -3471,7 +3471,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3471 | 3471 | , &[_][]const u8{ |
| 3472 | 3472 | \\pub export fn foo(arg_a: [*c]c_int) void { |
| 3473 | 3473 | \\ var a = arg_a; |
| 3474 | | \\ _ = @TypeOf(a); |
| 3474 | \\ _ = &a; |
| 3475 | 3475 | \\} |
| 3476 | 3476 | \\pub export fn bar(arg_a: [*c]const c_int) void { |
| 3477 | 3477 | \\ var a = arg_a; |
| ... | ... | @@ -3831,12 +3831,12 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3831 | 3831 | \\pub export fn bar(arg_x: c_int, arg_y: c_int) c_int { |
| 3832 | 3832 | \\ var x = arg_x; |
| 3833 | 3833 | \\ var y = arg_y; |
| 3834 | | \\ _ = @TypeOf(y); |
| 3834 | \\ _ = &y; |
| 3835 | 3835 | \\ return x; |
| 3836 | 3836 | \\} |
| 3837 | 3837 | , |
| 3838 | 3838 | \\pub inline fn FOO(A: anytype, B: anytype) @TypeOf(A) { |
| 3839 | | \\ _ = @TypeOf(B); |
| 3839 | \\ _ = &B; |
| 3840 | 3840 | \\ return A; |
| 3841 | 3841 | \\} |
| 3842 | 3842 | }); |
| ... | ... | @@ -3931,7 +3931,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3931 | 3931 | \\ var a: S = undefined; |
| 3932 | 3932 | \\ var b: S = undefined; |
| 3933 | 3933 | \\ var c: c_longlong = @divExact(@as(c_longlong, @bitCast(@intFromPtr(a) -% @intFromPtr(b))), @sizeOf(u8)); |
| 3934 | | \\ _ = @TypeOf(c); |
| 3934 | \\ _ = &c; |
| 3935 | 3935 | \\} |
| 3936 | 3936 | }); |
| 3937 | 3937 | } else { |
| ... | ... | @@ -3946,7 +3946,7 @@ pub fn addCases(cases: *tests.TranslateCContext) void { |
| 3946 | 3946 | \\ var a: S = undefined; |
| 3947 | 3947 | \\ var b: S = undefined; |
| 3948 | 3948 | \\ var c: c_long = @divExact(@as(c_long, @bitCast(@intFromPtr(a) -% @intFromPtr(b))), @sizeOf(u8)); |
| 3949 | | \\ _ = @TypeOf(c); |
| 3949 | \\ _ = &c; |
| 3950 | 3950 | \\} |
| 3951 | 3951 | }); |
| 3952 | 3952 | } |