Most of the cases were where a C++ file was being compiled with the C substitution. There were a few cases of the opposite though. LLDB seems to be the only real culprit in the LLVM codebase for these mismatches. Rest of the LLVM presumably sticks at least language-specific options in the common substitutions making the mistakes immediately apparent. I found these by using Clang frontend configuration files containing language-specific options for both C and C++ (e.g. `-std=c2y` and `-std=c++26`).
19 lines
705 B
Plaintext
19 lines
705 B
Plaintext
# REQUIRES: target-x86_64
|
|
# XFAIL: system-windows
|
|
|
|
# JITLink is the Orc-specific JIT linker implementation.
|
|
#
|
|
# RUN: %clangxx -g -S -emit-llvm -fPIC --target=x86_64-unknown-unknown-elf \
|
|
# RUN: -o %t.ll %p/Inputs/jitbp.cpp
|
|
# RUN: %lldb -b -o 'settings set plugin.jit-loader.gdb.enable on' -o 'b jitbp' \
|
|
# RUN: -o 'run --jit-linker=jitlink %t.ll' lli | FileCheck %s
|
|
|
|
# CHECK: Breakpoint 1: no locations (pending).
|
|
# CHECK: (lldb) run {{.*}}
|
|
# CHECK: Process {{.*}} launched: {{.*}}
|
|
# CHECK: Process {{.*}} stopped
|
|
# CHECK: JIT(0x{{.*}})`jitbp() at jitbp.cpp:1:15
|
|
# CHECK: -> 1 int jitbp() { return 0; }
|
|
# CHECK: ^
|
|
# CHECK: 2 int main() { return jitbp(); }
|