summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Windows/DynamicLibrary.inc
diff options
context:
space:
mode:
authorFrederich Munch <colsebas@hotmail.com>2017-06-05 16:26:58 +0000
committerFrederich Munch <colsebas@hotmail.com>2017-06-05 16:26:58 +0000
commitad12580012765c2c6580000688b5166de3b1587d (patch)
tree7dd0545d32a270089b1450c615a9e5b66d118f1d /llvm/lib/Support/Windows/DynamicLibrary.inc
parentdb3b87b2c0b8f238c470e7c007fee0586c1d9a8e (diff)
downloadbcm5719-llvm-ad12580012765c2c6580000688b5166de3b1587d.tar.gz
bcm5719-llvm-ad12580012765c2c6580000688b5166de3b1587d.zip
Close DynamicLibraries in reverse order they were opened.
Summary: Matches C++ destruction ordering better and fixes possible problems of loaded libraries having inter-dependencies. Reviewers: efriedma, v.g.vassilev, chapuni Reviewed By: efriedma Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D33652 llvm-svn: 304720
Diffstat (limited to 'llvm/lib/Support/Windows/DynamicLibrary.inc')
-rw-r--r--llvm/lib/Support/Windows/DynamicLibrary.inc2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Support/Windows/DynamicLibrary.inc b/llvm/lib/Support/Windows/DynamicLibrary.inc
index 0b54b5dfdbc..caf1a0a658d 100644
--- a/llvm/lib/Support/Windows/DynamicLibrary.inc
+++ b/llvm/lib/Support/Windows/DynamicLibrary.inc
@@ -23,7 +23,7 @@
DynamicLibrary::HandleSet::~HandleSet() {
- for (void *Handle : Handles)
+ for (void *Handle : llvm::reverse(Handles))
FreeLibrary(HMODULE(Handle));
// 'Process' should not be released on Windows.
OpenPOWER on IntegriCloud