summaryrefslogtreecommitdiff
path: root/include/llvm
diff options
context:
space:
mode:
authorCharles Davis <cdavis@mines.edu>2011-05-26 02:45:47 +0000
committerCharles Davis <cdavis@mines.edu>2011-05-26 02:45:47 +0000
commitca93138e11f404a19553049a569f1fa6ad491b67 (patch)
tree9885677b07ab9b37121327581d51b57cb4fe635b /include/llvm
parentaa4e6afc9be330770e0b5d41e79aa26c3115bcca (diff)
downloadllvm-ca93138e11f404a19553049a569f1fa6ad491b67.tar.gz
llvm-ca93138e11f404a19553049a569f1fa6ad491b67.tar.bz2
llvm-ca93138e11f404a19553049a569f1fa6ad491b67.tar.xz
Test .seh_startchained and .seh_endchained parsing.
Rework how the MCWin64EHUnwindInfo instances are stored. Fix issues with chained unwind areas exposed by the test that were related to this. The ChainedParent field had the wrong address, because when the chained unwind info was added, the addresses shifted around. Now we store the pointers to the structures, which are now allocated from the MC heap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132106 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r--include/llvm/MC/MCStreamer.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h
index 9dd8d4b533..c05a9251dc 100644
--- a/include/llvm/MC/MCStreamer.h
+++ b/include/llvm/MC/MCStreamer.h
@@ -58,7 +58,7 @@ namespace llvm {
MCDwarfFrameInfo *getCurrentFrameInfo();
void EnsureValidFrame();
- std::vector<MCWin64EHUnwindInfo> W64UnwindInfos;
+ std::vector<MCWin64EHUnwindInfo *> W64UnwindInfos;
MCWin64EHUnwindInfo *CurrentW64UnwindInfo;
void setCurrentW64UnwindInfo(MCWin64EHUnwindInfo *Frame);
void EnsureValidW64UnwindInfo();
@@ -101,7 +101,7 @@ namespace llvm {
}
MCWin64EHUnwindInfo &getW64UnwindInfo(unsigned i) {
- return W64UnwindInfos[i];
+ return *W64UnwindInfos[i];
}
/// @name Assembly File Formatting.