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`).
27 lines
674 B
Plaintext
27 lines
674 B
Plaintext
# Test that we can successfully ASTImport clang::LambdaExpr nodes.
|
|
# Currently this is not supported in MinimalImport mode (which LLDB
|
|
# uses always).
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: %clangxx_host -g -gdwarf %t/main.cpp -o %t.out
|
|
# RUN: %lldb -o "settings set interpreter.stop-command-source-on-error false" \
|
|
# RUN: -x -b -s %t/commands.input %t.out 2>&1 \
|
|
# RUN: | FileCheck %s
|
|
|
|
#--- main.cpp
|
|
|
|
int main() {
|
|
__builtin_debugtrap();
|
|
}
|
|
|
|
#--- commands.input
|
|
|
|
run
|
|
expression --top-level -- void method(int x) { [x=x] { ; }; }
|
|
target dump typesystem
|
|
|
|
# CHECK: expression
|
|
# CHECK: target dump typesystem
|
|
# CHECK-NOT: FunctionDecl
|
|
# CHECK-NOT: LambdaExpr
|