]> granicus.if.org Git - clang/commitdiff
Darwin's toolchain should be initialized before openmp offloading
authorAlex Lorenz <arphaman@gmail.com>
Tue, 8 Aug 2017 11:22:21 +0000 (11:22 +0000)
committerAlex Lorenz <arphaman@gmail.com>
Tue, 8 Aug 2017 11:22:21 +0000 (11:22 +0000)
is processed

This fixes an 'openmp-offload.c' test failure introduced by r310263.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310347 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Driver.cpp

index 030b9c6cd33fc2f83e12a5a637ce72e91e32ae45..04090f567f2d27427210b7033243ad6a7ee1a5ce 100644 (file)
@@ -3224,6 +3224,12 @@ InputInfo Driver::BuildJobsForActionNoCache(
   InputInfoList OffloadDependencesInputInfo;
   bool BuildingForOffloadDevice = TargetDeviceOffloadKind != Action::OFK_None;
   if (const OffloadAction *OA = dyn_cast<OffloadAction>(A)) {
+    // The 'Darwin' toolchain is initialized only when its arguments are
+    // computed. Get the default arguments for OFK_None to ensure that
+    // initialization is performed before processing the offload action.
+    // FIXME: Remove when darwin's toolchain is initialized during construction.
+    C.getArgsForToolChain(TC, BoundArch, Action::OFK_None);
+
     // The offload action is expected to be used in four different situations.
     //
     // a) Set a toolchain/architecture/kind for a host action: