| ... | ... | @@ -311,7 +311,7 @@ pub const BinaryAnnotation = union(enum) { |
| 311 | 311 | prev: ?PartialRange, |
| 312 | 312 | |
| 313 | 313 | const PartialRange = struct { |
| 314 | | line_offset: u32, |
| 314 | line_offset: i32, |
| 315 | 315 | file_id: ?u32, |
| 316 | 316 | code_offset: u32, |
| 317 | 317 | code_length: ?u32, |
| ... | ... | @@ -331,7 +331,7 @@ pub const BinaryAnnotation = union(enum) { |
| 331 | 331 | } |
| 332 | 332 | |
| 333 | 333 | pub const Range = struct { |
| 334 | | line_offset: u32, |
| 334 | line_offset: i32, |
| 335 | 335 | file_id: ?u32, |
| 336 | 336 | code_offset: u32, |
| 337 | 337 | code_length: u32, |
| ... | ... | @@ -364,11 +364,11 @@ pub const BinaryAnnotation = union(enum) { |
| 364 | 364 | self.curr.code_offset += info.delta; |
| 365 | 365 | }, |
| 366 | 366 | .change_line_offset => |delta| { |
| 367 | | self.curr.line_offset +%= @bitCast(delta); |
| 367 | self.curr.line_offset += delta; |
| 368 | 368 | }, |
| 369 | 369 | .change_code_offset_and_line_offset => |info| { |
| 370 | 370 | self.curr.code_offset += info.code_delta; |
| 371 | | self.curr.line_offset +%= @bitCast(info.line_delta); |
| 371 | self.curr.line_offset += info.line_delta; |
| 372 | 372 | }, |
| 373 | 373 | |
| 374 | 374 | // Not emitted by LLVM at the time of writing, but if we get it from elsewhere it should |
| ... | ... | @@ -608,7 +608,7 @@ pub fn getInlineSiteSourceLocation( |
| 608 | 608 | errdefer self.allocator.free(file_name); |
| 609 | 609 | |
| 610 | 610 | return .{ |
| 611 | | .line = inlinee_src_line.source_line_num + range.line_offset, |
| 611 | .line = inlinee_src_line.source_line_num +% @as(u32, @bitCast(range.line_offset)), |
| 612 | 612 | // LLVM doesn't currently emit column information for inlined calls in PDBs. |
| 613 | 613 | .column = 0, |
| 614 | 614 | .file_name = file_name, |