diff options
author | Lang Hames <lhames@gmail.com> | 2017-08-30 00:47:42 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2017-08-30 00:47:42 +0000 |
commit | 5409d95d5b6247d0e6995b3c662f20b18e885be6 (patch) | |
tree | 894589cd5f65425d718f7bed2dc2ed59357a2374 /clang/lib/Serialization/ModuleManager.cpp | |
parent | b1efc9b410eaa946a46bd20eb989aea126889916 (diff) | |
download | llvm-5409d95d5b6247d0e6995b3c662f20b18e885be6.zip llvm-5409d95d5b6247d0e6995b3c662f20b18e885be6.tar.gz llvm-5409d95d5b6247d0e6995b3c662f20b18e885be6.tar.bz2 |
[Orc] Fix member variable ordering issue in OrcMCJITReplacement.
https://reviews.llvm.org/D36888
From that review description:
When an OrcMCJITReplacement object gets destructed, LazyEmitLayer may still
contain a shared_ptr of a module, which requires ShouldDelete in the deleter.
But ShouldDelete gets destructed before LazyEmitLayer due to the order of
declaration in OrcMCJITReplacement, which leads to a crash, when the destructor
of LazyEmitLayer is executed. Changing the order of declaration fixes this.
Patch by Moritz Kroll. Thanks Moritz!
llvm-svn: 312086
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions