# RUN: split-file %s %t # RUN: %clang_host -g %t/main.cpp -o %t.out # # RUN: %lldb -x -b -o "settings set interpreter.stop-command-source-on-error false" \ # RUN: -s %t/no-target.input 2>&1 | FileCheck %s --check-prefix=CHECK-NO-TARGET # # RUN: %lldb %t.out -x -b -o "settings set interpreter.stop-command-source-on-error false" \ # RUN: -s %t/with-target.input 2>&1 | FileCheck %s --check-prefix=CHECK-TARGET #--- main.cpp int main() { int x = 10; __builtin_debugtrap(); } #--- with-target.input expr blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Falling back to default language. Ran expression as 'Objective C++'. run expr blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Ran expression as 'C++{{.*}}' expr -l objc -- blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Expression evaluation in pure Objective-C not supported. Ran expression as 'Objective C++'. expr -l c -- blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Expression evaluation in pure C not supported. Ran expression as 'ISO C++'. expr -l c++14 -- blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Ran expression as 'C++14' expr -l c++20 -- blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Ran expression as 'C++20' expr -l objective-c++ -- blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Ran expression as 'Objective C++' # D uses TypeSystemClang but running expressions in it isn't supported. Test that we warn about this. expr -l D -- blah # CHECK-TARGET: (lldb) expr # CHECK-TARGET: note: Expression evaluation in D not supported. Falling back to default language. Ran expression as 'Objective C++'. expr -l c++17 -- x = 5 # CHECK-TARGET: (lldb) expr # CHECK-TARGET-NOT: note: expr x = 5 # CHECK-TARGET: (lldb) expr # CHECK-TARGET-NOT: note: #--- no-target.input expr blah # CHECK-NO-TARGET: (lldb) expr # CHECK-NO-TARGET: note: Falling back to default language. Ran expression as 'Objective C++'. expr -l c++ -- 1 + 1 # CHECK-NO-TARGET: (lldb) expr # CHECK-NO-TARGET-NOT: note: expr 1 + 1 # CHECK-NO-TARGET: (lldb) expr # CHECK-NO-TARGET-NOT: note: