[PATCH] D52773: clang-cl: Add /showFilenames option (PR31957)
Stephen Kelly via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 2 06:37:43 PDT 2018
steveire added inline comments.
================
Comment at: lib/Frontend/CompilerInvocation.cpp:792
Opts.MainFileName = Args.getLastArgValue(OPT_main_file_name);
+ if (Args.hasArg(OPT_echo_main_file_name))
+ llvm::outs() << Opts.MainFileName << "\n";
----------------
hans wrote:
> zturner wrote:
> > steveire wrote:
> > > I'll have to keep a patch around anyway for myself locally to remove this condition. But maybe someone else will benefit from this.
> > >
> > > What do you think about changing CMake to so that this is passed by default when using Clang-CL?
> > >
> > Do you mean llvms cmake? Or cmake itself? Which generator are you using?
> Can't you just configure your build to pass the flag to clang-cl?
>
> I suppose CMake could be made to do that by default when using clang-cl versions that support the flag and using the MSBuild generator, but that's for the CMake community to decide I think. Or perhaps our VS integration could do that, but it gets tricky because it needs to know whether the flag is supported or not.
I mean upstream cmake. My suggestion is independent of the generator, but it would depend on what Brad decides anyway. I don't intend to implement it, just report it.
I only have one clang but I have multiple buildsystems, and I don't want to have to add a new flag too all of them. In each toplevel CMakeLists everyone will need this to make use of the flag:
```
# Have to remember to use "${CMAKE_CXX_SIMULATE_ID}" instead of
# Undecorated "CMAKE_CXX_SIMULATE_ID" because there is a
# variable named "MSVC" and
# the way CMake variables and the "if()" command work requires this.
if (CMAKE_CXX_COMPILER_ID STREQUAL Clang
AND ${CMAKE_CXX_SIMULATE_ID} STREQUAL MSVC)
# CMake does not have explicit Clang-CL support yet.
# It should have a COMPILER_ID for it.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /showFilename")
# etc
endif()
```
Upstream CMake can have the logic to add the flag instead.
https://reviews.llvm.org/D52773
More information about the cfe-commits
mailing list