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`).
16 lines
336 B
C++
16 lines
336 B
C++
// RUN: %clangxx %s -g -c -o %t --target=x86_64-apple-macosx
|
|
// RUN: lldb-test symbols --name=A::foo --find=variable %t | FileCheck %s
|
|
|
|
// CHECK: Found 1 variables:
|
|
|
|
struct A {
|
|
static int foo;
|
|
};
|
|
int A::foo;
|
|
// NAME-DAG: name = "foo", {{.*}} decl = find-qualified-variable.cpp:[[@LINE-1]]
|
|
|
|
struct B {
|
|
static int foo;
|
|
};
|
|
int B::foo;
|