From: Alex Lorenz Date: Tue, 8 Aug 2017 11:22:21 +0000 (+0000) Subject: Darwin's toolchain should be initialized before openmp offloading X-Git-Tag: llvmorg-6.0.0-rc1~10630 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4003a98eec76915d93b4d7724620adc808b5f216;p=platform%2Fupstream%2Fllvm.git Darwin's toolchain should be initialized before openmp offloading is processed This fixes an 'openmp-offload.c' test failure introduced by r310263. llvm-svn: 310347 --- diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 030b9c6..04090f5 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -3224,6 +3224,12 @@ InputInfo Driver::BuildJobsForActionNoCache( InputInfoList OffloadDependencesInputInfo; bool BuildingForOffloadDevice = TargetDeviceOffloadKind != Action::OFK_None; if (const OffloadAction *OA = dyn_cast(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: