mgorny added inline comments.

================
Comment at: clang/test/Driver/config-file3.c:27
 
-//--- Invocation qqq-clang-g++ tries to find config file qqq-clang-g++.cfg 
first.
+//--- Invocation x86_64-unknown-linux-gnu-clang-g++ tries 
x86_64-unknown-linux-gnu-clang++.cfg first.
 //
----------------
sepavloff wrote:
> mgorny wrote:
> > sepavloff wrote:
> > > mgorny wrote:
> > > > arichardson wrote:
> > > > > sepavloff wrote:
> > > > > > Tests must check the case when target prefix is not a real triple 
> > > > > > as in the original test (qqq-clang).
> > > > > It would be quite important for me that this continues to work. I 
> > > > > made use of that in the CheriBSD toolchain when creating [[ 
> > > > > https://github.com/CTSRD-CHERI/cheribuild/blob/master/pycheribuild/projects/cross/llvm.py#L499
> > > > >  | symlinked binaries to easily build for different ABIs]] such as 
> > > > > `cheribsd-riscv64-hybrid-clang++` and 
> > > > > `cheribsd-riscv64-purecap-clang-cpp`. It appears this previously only 
> > > > > worked if the prefix did not start with a valid triple (which is why 
> > > > > I put the OS before the architecture). I think it would also be nice 
> > > > > if the whole prefix was checked even if it starts with a valid 
> > > > > triple, but this does not need to be changed in this patch (haven't 
> > > > > looked at it in detail so this might actually work).
> > > > If the prefix is not a valid triple, then clang ignores it and uses 
> > > > host triple instead. And now we're back to square one. If I check both 
> > > > variants, it's too complex. If I don't, it's bad too.
> > > Our customers use this feature. Target prefix may designate, for example, 
> > > debug build or build with specific framework.
> > How are we supposed to avoid the "absurd" case where x86_64 configs are 
> > loaded for `-m32` invocation then?
> In this case overloading target does not makes sense. You need to analyze 
> `RealTriple` in `Driver::loadDefaultConfigFiles` and if it is wrong, use 
> target prefix as if it is real target.
What do you mean by "wrong"? The target triple is always a correct triple.


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

https://reviews.llvm.org/D134337

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

Reply via email to