clementval added inline comments.

================
Comment at: clang/lib/Driver/ToolChain.cpp:185
       {"flang", "--driver-mode=flang"},
+      {"flang-new", "--driver-mode=flang"},
       {"clang-dxc", "--driver-mode=dxc"},
----------------
awarzynski wrote:
> richard.barton.arm wrote:
> > clementval wrote:
> > > This is counter intuitive. We rename flang-new but we add flang-new here. 
> > > It should be configurable. 
> > This is a list of all the valid prefixes of binaries that the driver 
> > supports. With this change, an additional one will be supported so I don't 
> > think it's an issue to have both flang and flang-new here.
> > 
> > The thing that confuses me is how flang-new works today without this 
> > change, given that "flang" is not a suffix of "flang-new"? @awarzynski , do 
> > you know why that is? Perhaps the line here is not needed at all? Or is 
> > this a bug fix for flang-new that is actually unrelated to this change?
> > This is counter intuitive. 
> 
> I can add a comment to clarify this.
> 
> > It should be configurable.
> 
> It is, in Flang's [[ 
> https://github.com/llvm/llvm-project/blob/main/flang/tools/flang-driver/driver.cpp
>  | driver.cpp ]]. Originally, the suffix was hard-coded as:
> ```
> clang::driver::ParsedClangName targetandMode("flang", "--driver-mode=flang");
> ```
> (i.e. the `clangDriver` library used `flang` internally despite the actual 
> name being `flang-new`). This is now being replaced with (see in 
> "driver.cpp"):
> ```
>  clang::driver::ParsedClangName targetandMode =
>       clang::driver::ToolChain::getTargetAndModeFromProgramName(argv[0]);
> ```
> 
> But the change in "driver.cpp" means that we can no longer make assumptions 
> about the suffix and hence the update here. 
> 
> Like I mentioned earlier, we should not make this file build-time 
> configurable. One possible option would be to try to update Clang's [[ 
> https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Config/config.h.cmake
>  | config.h.cmake ]], but that's would lead to more Flang-specific changes in 
> Clang's core set-up. Also, I'm not convinced it would work here. 
> 
> > @awarzynski , do you know why that is? 
> 
> Yeah, check Flang's "driver.cpp". We should've captured this earlier. The 
> original set-up from ToolChain.cpp predates `flang-new`. And then in 
> "driver.cpp" we just matched what was here. There was a lot of confusion 
> around naming  back then and this has slipped in. 
> 
> > This is counter intuitive. 
> 
> I can add a comment to clarify this.
> 
There should be at least a comment here. 


> Like I mentioned earlier, we should not make this file build-time 
> configurable. One possible option would be to try to update Clang's [[ 
> https://github.com/llvm/llvm-project/blob/main/clang/include/clang/Config/config.h.cmake
>  | config.h.cmake ]], but that's would lead to more Flang-specific changes in 
> Clang's core set-up. Also, I'm not convinced it would work here. 
> 

If it cannot be configurable I think this is a good reason to wait a bit and 
make a direct renaming without all the options and duplicate. 




Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125788/new/

https://reviews.llvm.org/D125788

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to