From 1ab34573197db6efd1eb07b95b836e46f1f88478 Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Wed, 2 May 2018 16:52:07 +0000 Subject: [OPENMP] Enable c++ exceptions outside of the target constructs iff they are enabled for the host. If the compilation for the host enables C++ exceptions, but they are not supported by the device, we still need to allow the code with the exception handling constructs outside of the target regions. llvm-svn: 331372 --- clang/lib/Frontend/CompilerInvocation.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'clang/lib/Frontend/CompilerInvocation.cpp') diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index a6dc167..ddaa164 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -2586,6 +2586,7 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK, // Set the flag to prevent the implementation from emitting device exception // handling code for those requiring so. + Opts.OpenMPHostCXXExceptions = Opts.Exceptions && Opts.CXXExceptions; if (Opts.OpenMPIsDevice && T.isNVPTX()) { Opts.Exceptions = 0; Opts.CXXExceptions = 0; -- cgit v1.1