//===- FillFragment.cpp ---------------------------------------------------===//
//
//                     The MCLinker Project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include <mcld/LD/FillFragment.h>
#include <mcld/LD/SectionData.h>
#include <cassert>

using namespace mcld;

//===----------------------------------------------------------------------===//
// FillFragment
//===----------------------------------------------------------------------===//
FillFragment::FillFragment(int64_t pValue,
                           unsigned int pValueSize,
                           uint64_t pSize,
                           SectionData* pSD)
  : Fragment(Fragment::Fillment, pSD), m_Value(pValue), m_ValueSize(pValueSize),
    m_Size(pSize) {
  assert((!m_ValueSize || (m_Size % m_ValueSize) == 0) &&
           "Fill size must be a multiple of the value size!");
}