[Darwin][Driver] Don't pass a file as object_path_lto during ThinLTO
authorSteven Wu <stevenwu@apple.com>
Fri, 11 Jan 2019 21:16:04 +0000 (21:16 +0000)
committerSteven Wu <stevenwu@apple.com>
Fri, 11 Jan 2019 21:16:04 +0000 (21:16 +0000)
commitc3399db63d159fe28ce4d5e23c3dd9e305ad8523
treef957967c775a73e6a35a2c65f862d32946833236
parent8da9a7538e6a7549b8b34f903f53bfbf378f4030
[Darwin][Driver] Don't pass a file as object_path_lto during ThinLTO

Summary:
After r327851, Driver::GetTemporaryPath will create the file rather than
just create a potientially unqine filename. If clang driver pass the
file as parameter as -object_path_lto, ld64 will pass it back to libLTO
as GeneratedObjectsDirectory, which is going to cause a LLVM ERROR if it
is not a directory.
Now during thinLTO, pass a temp directory path to linker instread.

rdar://problem/47194182

Reviewers: arphaman, dexonsmith

Reviewed By: arphaman

Subscribers: mehdi_amini, inglorion, jkorous, cfe-commits

Differential Revision: https://reviews.llvm.org/D56608

llvm-svn: 350970
clang/include/clang/Driver/Driver.h
clang/lib/Driver/Driver.cpp
clang/lib/Driver/ToolChains/Darwin.cpp
clang/test/Driver/darwin-ld-lto.c