| ... | @@ -892,6 +892,14 @@ pub const VaListX86_64 = extern struct { | ... | @@ -892,6 +892,14 @@ pub const VaListX86_64 = extern struct { |
| 892 | reg_save_area: *anyopaque, | 892 | reg_save_area: *anyopaque, |
| 893 | }; | 893 | }; |
| 894 | | 894 | |
| | 895 | /// This data structure is used by the Zig language code generation and |
| | 896 | /// therefore must be kept in sync with the compiler implementation. |
| | 897 | pub const VaListXtensa = extern struct { |
| | 898 | __va_stk: *c_int, |
| | 899 | __va_reg: *c_int, |
| | 900 | __va_ndx: c_int, |
| | 901 | }; |
| | 902 | |
| 895 | /// This data structure is used by the Zig language code generation and | 903 | /// This data structure is used by the Zig language code generation and |
| 896 | /// therefore must be kept in sync with the compiler implementation. | 904 | /// therefore must be kept in sync with the compiler implementation. |
| 897 | pub const VaList = switch (builtin.cpu.arch) { | 905 | pub const VaList = switch (builtin.cpu.arch) { |
| ... | @@ -925,6 +933,7 @@ pub const VaList = switch (builtin.cpu.arch) { | ... | @@ -925,6 +933,7 @@ pub const VaList = switch (builtin.cpu.arch) { |
| 925 | .windows => @compileError("disabled due to miscompilations"), // *u8, | 933 | .windows => @compileError("disabled due to miscompilations"), // *u8, |
| 926 | else => VaListX86_64, | 934 | else => VaListX86_64, |
| 927 | }, | 935 | }, |
| | 936 | .xtensa => VaListXtensa, |
| 928 | else => @compileError("VaList not supported for this target yet"), | 937 | else => @compileError("VaList not supported for this target yet"), |
| 929 | }; | 938 | }; |
| 930 | | 939 | |