1*89ba802bSDave Bartolomeo //===-- Line.cpp ----------------------------------------------------------===// 2*89ba802bSDave Bartolomeo // 3*89ba802bSDave Bartolomeo // The LLVM Compiler Infrastructure 4*89ba802bSDave Bartolomeo // 5*89ba802bSDave Bartolomeo // This file is distributed under the University of Illinois Open Source 6*89ba802bSDave Bartolomeo // License. See LICENSE.TXT for details. 7*89ba802bSDave Bartolomeo // 8*89ba802bSDave Bartolomeo //===----------------------------------------------------------------------===// 9*89ba802bSDave Bartolomeo 10*89ba802bSDave Bartolomeo #include "llvm/DebugInfo/CodeView/Line.h" 11*89ba802bSDave Bartolomeo 12*89ba802bSDave Bartolomeo using namespace llvm; 13*89ba802bSDave Bartolomeo using namespace codeview; 14*89ba802bSDave Bartolomeo 15*89ba802bSDave Bartolomeo LineInfo::LineInfo(uint32_t StartLine, uint32_t EndLine, bool IsStatement) { 16*89ba802bSDave Bartolomeo LineData = StartLine & StartLineMask; 17*89ba802bSDave Bartolomeo uint32_t LineDelta = EndLine - StartLine; 18*89ba802bSDave Bartolomeo LineData |= (LineDelta << EndLineDeltaShift) & EndLineDeltaMask; 19*89ba802bSDave Bartolomeo if (IsStatement) { 20*89ba802bSDave Bartolomeo LineData |= StatementFlag; 21*89ba802bSDave Bartolomeo } 22*89ba802bSDave Bartolomeo } 23