summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonas Hahnfeld <hahnjo@hahnjo.de>2017-08-14 07:44:05 +0000
committerJonas Hahnfeld <hahnjo@hahnjo.de>2017-08-14 07:44:05 +0000
commit21b60edb053cabc80492d27740ff1786581102f6 (patch)
treedc45b34533c7feff8270677ba9de3fed31e0d310
parent37c7b08710be264a216bf474dc5118df5e86ea40 (diff)
downloadbcm5719-llvm-21b60edb053cabc80492d27740ff1786581102f6.tar.gz
bcm5719-llvm-21b60edb053cabc80492d27740ff1786581102f6.zip
Fix memory leak in ToolChain::TranslateOpenMPTargetArgs
rL310433 introduced a code path where DAL is not returned and must be freed. This change allows to run openmp-offload.c when Clang is built with ASan. llvm-svn: 310817
-rw-r--r--clang/lib/Driver/ToolChain.cpp6
-rw-r--r--clang/test/Driver/openmp-offload.c3
2 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index c7c377971e5..0476d156f56 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -859,7 +859,11 @@ ToolChain::TranslateOpenMPTargetArgs(const llvm::opt::DerivedArgList &Args,
NewArgAdded = true;
}
- return NewArgAdded ? DAL : nullptr;
+ if (NewArgAdded) {
+ return DAL;
+ } else {
+ delete DAL;
+ }
}
return nullptr;
diff --git a/clang/test/Driver/openmp-offload.c b/clang/test/Driver/openmp-offload.c
index 423e92a0c7b..d43aa331c9d 100644
--- a/clang/test/Driver/openmp-offload.c
+++ b/clang/test/Driver/openmp-offload.c
@@ -2,9 +2,6 @@
/// Perform several driver tests for OpenMP offloading
///
-// Until this test is stabilized on all local configurations.
-// UNSUPPORTED: linux
-
// REQUIRES: clang-driver
// REQUIRES: x86-registered-target
// REQUIRES: powerpc-registered-target
OpenPOWER on IntegriCloud