summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mcld/Fragment/Fragment.h2
-rw-r--r--include/mcld/LD/SectionData.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/include/mcld/Fragment/Fragment.h b/include/mcld/Fragment/Fragment.h
index 76a5028..3e84811 100644
--- a/include/mcld/Fragment/Fragment.h
+++ b/include/mcld/Fragment/Fragment.h
@@ -24,7 +24,7 @@ class SectionData;
/** \class Fragment
* \brief Fragment is the minimun linking unit of MCLinker.
*/
-class Fragment : public llvm::ilist_node<Fragment> {
+class Fragment : public llvm::ilist_node_with_parent<Fragment, SectionData> {
public:
enum Type { Alignment, Fillment, Region, Target, Stub, Null };
diff --git a/include/mcld/LD/SectionData.h b/include/mcld/LD/SectionData.h
index 22cda34..82027c2 100644
--- a/include/mcld/LD/SectionData.h
+++ b/include/mcld/LD/SectionData.h
@@ -61,6 +61,10 @@ class SectionData {
bool empty() const { return m_Fragments.empty(); }
+ static FragmentListType SectionData::*getSublistAccess(Fragment *) {
+ return &SectionData::m_Fragments;
+ }
+
reference front() { return m_Fragments.front(); }
const_reference front() const { return m_Fragments.front(); }
reference back() { return m_Fragments.back(); }