MaskRay added a comment.

@jansvoboda11

For ELF operating systems (that traditionally use GCC), I think unsupported 
`-m*` options as errors are very desired as that's the GCC behavior and some 
configure system will prefer it.

I think x86 `-m*` options are the most possible options to be misused.

  % clang -c --target=aarch64-unknown-linux-gnu -msse4.2 a.c    # warning 
instead of error, not ideal
  clang: warning: argument unused during compilation: '-msse4.2' 
[-Wunused-command-line-argument]
  % aarch64-linux-gnu-gcc -msse4.2 a.c
  aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-msse4.2’

For macOS universal binary builds (`-arch`), I wonder whether we want to refine 
the current behavior:

  % clang -fdriver-only -c --target=x86_64-apple-darwin -arch arm64 -arch 
x86_64 -mavx512vl a.c   # no warning
  % clang -fdriver-only -c --target=x86_64-apple-darwin -arch arm64 -mavx512vl 
a.c   # no -arch x86_64
  clang: warning: argument unused during compilation: '-mavx512vl' 
[-Wunused-command-line-argument]     # or an error if we make mavx512vl 
TargetSpecific

The `-arch arm64 -mavx512vl ` situation isn't very common. Though 
not-carefully-written CMake may make the mistakes: 
`llvm/lib/Support/BLAKE3/CMakeLists.txt` (fixed by 
f231829304d15dca0dad8bafe35c4277904db602 
<https://reviews.llvm.org/rGf231829304d15dca0dad8bafe35c4277904db602>) and 
in-tree misuse:  tsan (https://github.com/llvm/llvm-project/issues/63270).
(I think the two use sites are unusual.)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151590

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

Reply via email to