| ... | ... | @@ -861,7 +861,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 861 | 861 | "Hello, World!\n", |
| 862 | 862 | ); |
| 863 | 863 | try case.files.append(.{ |
| 864 | | .src = |
| 864 | .src = |
| 865 | 865 | \\pub fn print() void { |
| 866 | 866 | \\ asm volatile ("syscall" |
| 867 | 867 | \\ : |
| ... | ... | @@ -924,7 +924,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 924 | 924 | }, |
| 925 | 925 | ); |
| 926 | 926 | try case.files.append(.{ |
| 927 | | .src = |
| 927 | .src = |
| 928 | 928 | \\// dummy comment to make print be on line 2 |
| 929 | 929 | \\fn print() void { |
| 930 | 930 | \\ asm volatile ("syscall" |
| ... | ... | @@ -1819,4 +1819,43 @@ pub fn addCases(ctx: *TestContext) !void { |
| 1819 | 1819 | ":2:28: error: cannot set address space of local variable 'foo'", |
| 1820 | 1820 | }); |
| 1821 | 1821 | } |
| 1822 | |
| 1823 | { |
| 1824 | var case = ctx.exe("address space pointer coercions", linux_x64); |
| 1825 | case.addError( |
| 1826 | \\fn entry(a: *addrspace(.gs) i32) *i32 { |
| 1827 | \\ return a; |
| 1828 | \\} |
| 1829 | \\pub fn main() void { _ = entry; } |
| 1830 | , &[_][]const u8{ |
| 1831 | ":2:12: error: expected *i32, found *addrspace(.gs) i32", |
| 1832 | }); |
| 1833 | |
| 1834 | case.addError( |
| 1835 | \\fn entry(a: *addrspace(.gs) i32) *addrspace(.fs) i32 { |
| 1836 | \\ return a; |
| 1837 | \\} |
| 1838 | \\pub fn main() void { _ = entry; } |
| 1839 | , &[_][]const u8{ |
| 1840 | ":2:12: error: expected *addrspace(.fs) i32, found *addrspace(.gs) i32", |
| 1841 | }); |
| 1842 | |
| 1843 | case.addError( |
| 1844 | \\fn entry(a: ?*addrspace(.gs) i32) *i32 { |
| 1845 | \\ return a.?; |
| 1846 | \\} |
| 1847 | \\pub fn main() void { _ = entry; } |
| 1848 | , &[_][]const u8{ |
| 1849 | ":2:13: error: expected *i32, found *addrspace(.gs) i32", |
| 1850 | }); |
| 1851 | |
| 1852 | case.addError( |
| 1853 | \\fn entry(a: *addrspace(.gs) i32) *i32 { |
| 1854 | \\ return &a.*; |
| 1855 | \\} |
| 1856 | \\pub fn main() void { _ = entry; } |
| 1857 | , &[_][]const u8{ |
| 1858 | ":2:12: error: expected *i32, found *addrspace(.gs) i32", |
| 1859 | }); |
| 1860 | } |
| 1822 | 1861 | } |