llvm-project/clang/lib/Driver
Puyan Lotfi d694594d76 [clang][IFS] Allow 2 output files when using -o and -c with clang IFS stubs.
This patch allows for -o to be used with -c when compiling with clang
interface stubs enabled. This is because the second file will be an
intermediate ifs stubs file that is the text stub analog of the .o file.
Both get produces in this case, so two files.

Why are we doing this? Because we want to support the case where
interface stubs are used bu first invoking clang like so:

clang -c <other flags> -emit-interface-stubs foo.c -o foo.o
...
clang -emit-interface-stubs <.o files> -o libfoo.so

This should generate N .ifs files, and one .ifso file. Prior to this
patch, using -o with the -c invocation was not possible. Currently the
clang driver supports generating a a.out/.so file at the same time as a
merged ifs file / ifso file, but this is done by checking that the final
job is the IfsMerge job. When -c is used, the final job is a Compile job
so what this patch does is check to figure out of the job type is
TY_IFS_CPP.

Differential Revision: https://reviews.llvm.org/D70763
2019-12-09 14:47:17 -05:00
..
ToolChains [clang][IFS] Allow 2 output files when using -o and -c with clang IFS stubs. 2019-12-09 14:47:17 -05:00
Action.cpp [Clang][OpenMP Offload] Add new tool for wrapping offload device binaries 2019-10-09 20:42:58 +00:00
CMakeLists.txt [clang][driver] Add ProfileData to LLVM_LINK_COMPONENTS 2019-10-31 19:52:41 -07:00
Compilation.cpp
DarwinSDKInfo.cpp
Distro.cpp [Clang] Bypass distro detection on non-Linux hosts 2019-11-28 17:02:06 -05:00
Driver.cpp [clang][IFS] Allow 2 output files when using -o and -c with clang IFS stubs. 2019-12-09 14:47:17 -05:00
DriverOptions.cpp
InputInfo.h
Job.cpp
Multilib.cpp
Phases.cpp [clang][ifs] Clang Interface Stubs ToolChain plumbing. 2019-10-08 15:23:14 +00:00
SanitizerArgs.cpp Reland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists exist 2019-11-21 11:56:09 +01:00
Tool.cpp
ToolChain.cpp AArch64: add arm64_32 support to Clang. 2019-11-12 12:45:18 +00:00
Types.cpp [clang][IFS] Driver Pipeline: generate stubs after standard pipeline (3) 2019-11-20 16:22:50 -05:00
XRayArgs.cpp Reland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists exist 2019-11-21 11:56:09 +01:00