llvm-project/lldb
Davide Italiano d5bbaa6688 [ExpressionParser] Fix crash when evaluating invalid expresssions.
Typical example, illformed comparisons (operator== where LHS and
RHS are not compatible). If a symbol matched `operator==` in any
of the object files lldb inserted a generic function declaration
in the ASTContext on which Sema operates. Maintaining the AST
context invariants is fairly tricky and sometimes resulted in
crashes inside clang (or assertions hit).

The real reason why this feature exists in the first place is
that of allowing users to do something like:
(lldb) call printf("patatino")

even if the debug informations for printf() is not available.
Eventually, we might reconsider this feature in its
entirety, but for now we can't remove it as it would break
a bunch of users. Instead, try to limit it to non-C++ symbols,
where getting the invariants right is hopefully easier.

Now you can't do in lldb anymore
(lldb) call _Zsomethingsomething(1,2,3)

but that doesn't seem to be such a big loss.

<rdar://problem/35645893>

llvm-svn: 327356
2018-03-13 01:40:00 +00:00
..
cmake Install lldb's SB headers (pr36630) 2018-03-08 15:52:46 +00:00
docs Compile the LLDB tests out-of-tree. 2018-01-30 18:29:16 +00:00
examples Fixed up to use a class for the commands, renamed the commands and added a way to just dump the compile unit full paths and optionally their support files with the new "dump-files"command. 2017-11-16 17:14:48 +00:00
include/lldb Re-add change for https://reviews.llvm.org/D42582 with added directories. 2018-03-12 21:17:04 +00:00
lit [ExpressionParser] Fix crash when evaluating invalid expresssions. 2018-03-13 01:40:00 +00:00
lldb.xcodeproj Re-add change for https://reviews.llvm.org/D42582 with added directories. 2018-03-12 21:17:04 +00:00
lldb.xcworkspace Revert r275223, which committed the wrong thing. 2016-07-12 23:31:42 +00:00
packages/Python/lldbsuite Introduce a setting to disable Spotlight while running the test suite 2018-03-12 20:52:36 +00:00
resources
scripts Fix the install location of LLDBWrapPython.cpp when building 2018-03-05 21:08:42 +00:00
source [ExpressionParser] Fix crash when evaluating invalid expresssions. 2018-03-13 01:40:00 +00:00
test [test] Skip a test when using an out-of-tree debugserver 2018-03-08 19:46:39 +00:00
third_party/Python/module *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
tools Re-add change for https://reviews.llvm.org/D42582 with added directories. 2018-03-12 21:17:04 +00:00
unittests llgs-tests: use the auto-parsing form of SendMessage for sending the continue packets 2018-03-04 02:12:18 +00:00
utils *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
www [docs] Update docs for cmake options LLDB_TEST_C_COMPILER and LLDB_TEST_CXX_COMPILER 2018-02-08 05:11:17 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format Updated .clang-format rules so bring LLDB in line with LLVM standards. 2016-09-06 17:19:00 +00:00
.gitignore [dotest] Remove crashinfo hook 2018-01-10 10:18:47 +00:00
CMakeLists.txt [lit] Update how clang and other binaries are found in per-configuration directories 2018-02-21 00:05:51 +00:00
CODE_OWNERS.txt Remove Sean Callanan from the CODE_OWNERS, he won't have time 2017-11-01 01:38:42 +00:00
INSTALL.txt Changed builld-llvm.py to use .json files 2017-02-23 02:21:34 +00:00
LICENSE.TXT
use_lldb_suite_root.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00