mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 03:56:42 +00:00

1. With a Clang that doesn't default to GNU extensions they need to be enabled explicitly. 2. The X86 directory lit config sets it already, there's no reason for this test to do it by itself. 3. The C frontend executable will fail if there's for example a Clang resource file for the C++ mode that sets C++-specific options: ``` + /home/tambre/dev/llvm/build/bin/clang --target=x86_64-unknown-linux-gnu -fPIE -fuse-ld=lld -Wl,--unresolved-symbols=ignore-all -pie -fPIC -shared /home/tambre/dev/llvm/bolt/test/R_ABS.pic.lld.cpp -o /home/tambre/dev/llvm/build/tools/bolt/test/Output/R_ABS.pic.lld.cpp.tmp.so -Wl,-q -fuse-ld=lld clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] error: invalid argument '-std=c23' not allowed with 'C++' ```
15 lines
495 B
Plaintext
15 lines
495 B
Plaintext
## Tests the optimization of functions that just do a tail call in the beginning.
|
|
|
|
## This test has commands that rely on shell capabilities that won't execute
|
|
## correctly on Windows e.g. unsupported parameter expansion
|
|
REQUIRES: shell
|
|
|
|
RUN: %clangxx %cxxflags -O2 %S/Inputs/jmp_opt{,2,3}.cpp -o %t
|
|
RUN: llvm-bolt -inline-small-functions %t -o %t.bolt
|
|
RUN: llvm-objdump -d %t.bolt --print-imm-hex | FileCheck %s
|
|
|
|
CHECK: <main>:
|
|
CHECK-NOT: call
|
|
CHECK: xorl %eax, %eax
|
|
CHECK: retq
|