pawosm-arm wrote:

> I don't think it is correct to say that the option was ignored. It may still 
> be read by the compiler driver (which generates the link line). In fact it 
> probably _should_ be processed by the compiler driver in order to set the C++ 
> standard library correctly - otherwise you could just not set this in your 
> `LDFLAGS`.

But this (ignoring) is exactly that is happening. Contrary to classic flang, 
flang-new cannot be used to mix C++ and Fortran code in one compiler 
invocation, and working on this patch I've even found a test case guarding that 
controversial decision (`driver-error-cc1.cpp`). This is something that would 
probably trigger further discussion as angry users may soon emerge as 
flang-new's popularity grows, but for now, I've found that even if I have a 
project for which its Makefile builds C++ and Fortran sources separately, it 
fails at link time if I'm trying to use specific standard C++ library by 
setting designated CMake flag (which in turn, sets C++ and linker flags for the 
project globally). I could go through all CMake generated link.txt files and 
adjust the flags, but this exposes a terrible user experience as: 1) the user 
must be experienced enough to know how this must be modified 2) it introduces 
annoying extra step between cmake invocation and make/ninja invocation.

Using this flag for compilation of a Fortran code will display a warining:
```
flang-new: warning: argument unused during compilation: '-stdlib=platform' 
[-Wunused-command-line-argument]
```
...and this is expected. Using this flag for linking will not do anything, 
looking at `-###` output with and without using this flag shows no difference, 
ergo it is being ingored.


https://github.com/llvm/llvm-project/pull/110598
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to