22 lines
		
	
	
		
			748 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			748 B
		
	
	
	
		
			C++
		
	
	
	
| //===-- Line.cpp ----------------------------------------------------------===//
 | |
| //
 | |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 | |
| // See https://llvm.org/LICENSE.txt for license information.
 | |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #include "llvm/DebugInfo/CodeView/Line.h"
 | |
| 
 | |
| using namespace llvm;
 | |
| using namespace codeview;
 | |
| 
 | |
| LineInfo::LineInfo(uint32_t StartLine, uint32_t EndLine, bool IsStatement) {
 | |
|   LineData = StartLine & StartLineMask;
 | |
|   uint32_t LineDelta = EndLine - StartLine;
 | |
|   LineData |= (LineDelta << EndLineDeltaShift) & EndLineDeltaMask;
 | |
|   if (IsStatement) {
 | |
|     LineData |= StatementFlag;
 | |
|   }
 | |
| }
 |