| ... | @@ -1732,6 +1732,7 @@ pub const Object = struct { | ... | @@ -1732,6 +1732,7 @@ pub const Object = struct { |
| 1732 | .liveness = liveness, | 1732 | .liveness = liveness, |
| 1733 | .dg = &dg, | 1733 | .dg = &dg, |
| 1734 | .wip = wip, | 1734 | .wip = wip, |
| | 1735 | .is_naked = fn_info.cc == .Naked, |
| 1735 | .ret_ptr = ret_ptr, | 1736 | .ret_ptr = ret_ptr, |
| 1736 | .args = args.items, | 1737 | .args = args.items, |
| 1737 | .arg_index = 0, | 1738 | .arg_index = 0, |
| ... | @@ -4801,6 +4802,7 @@ pub const FuncGen = struct { | ... | @@ -4801,6 +4802,7 @@ pub const FuncGen = struct { |
| 4801 | air: Air, | 4802 | air: Air, |
| 4802 | liveness: Liveness, | 4803 | liveness: Liveness, |
| 4803 | wip: Builder.WipFunction, | 4804 | wip: Builder.WipFunction, |
| | 4805 | is_naked: bool, |
| 4804 | | 4806 | |
| 4805 | file: Builder.Metadata, | 4807 | file: Builder.Metadata, |
| 4806 | scope: Builder.Metadata, | 4808 | scope: Builder.Metadata, |
| ... | @@ -8846,7 +8848,8 @@ pub const FuncGen = struct { | ... | @@ -8846,7 +8848,8 @@ pub const FuncGen = struct { |
| 8846 | const arg_val = self.args[self.arg_index]; | 8848 | const arg_val = self.args[self.arg_index]; |
| 8847 | self.arg_index += 1; | 8849 | self.arg_index += 1; |
| 8848 | | 8850 | |
| 8849 | if (self.wip.strip) return arg_val; | 8851 | // llvm does not support debug info for naked function arguments |
| | 8852 | if (self.wip.strip or self.is_naked) return arg_val; |
| 8850 | | 8853 | |
| 8851 | const inst_ty = self.typeOfIndex(inst); | 8854 | const inst_ty = self.typeOfIndex(inst); |
| 8852 | if (needDbgVarWorkaround(o)) return arg_val; | 8855 | if (needDbgVarWorkaround(o)) return arg_val; |