llvm-project/clang-tools-extra/clangd
Sam McCall 0f80d9f27d [clangd] Remove no-op crash handler, we never set a crash context.
Summary:
I think this was just copied from somewhere with the belief that it actually
did some crash handling.

Of course the question arises: *should* we set one? I don't think so:
 - clangd used to crash a lot, now it's pretty stable, because we found and
   fixed the crashes. I think the long-term effects of crashing hard are good.
 - the implementation can't do any magic, it just uses longjmp to return without
   running any destructors by default. This is unsafe in general (e.g. mutexes
   won't unlock) and will certainly end up leaking memory. Whatever UB caused
   the crash may still stomp all over global state, etc.

I think there's an argument for isolating the background indexer (autoindex)
because it's not directly under the user's control, the crash surface is larger,
and it doesn't particularly need to interact with the rest of clangd.
But there, fork() and communicate through the FS is safer.

Reviewers: ioeric, ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits

Differential Revision: https://reviews.llvm.org/D53034

llvm-svn: 344245
2018-10-11 13:06:10 +00:00
..
benchmarks [clangd] Merge binary + YAML serialization behind a (mostly) common interface. 2018-09-25 18:06:43 +00:00
clients/clangd-vscode [clangd] Fix category in clangd-vscode's package.json 2018-07-23 14:32:12 +00:00
fuzzer [clangd] Fix fuzzer build. 2018-08-04 01:51:10 +00:00
index [clangd] Fix an accident change in r342999. 2018-10-09 15:16:14 +00:00
indexer [clangd] Make binary index format the default, remove dead flag. 2018-10-05 09:05:28 +00:00
tool [clangd] Update the out-of-date yaml-symbol-file flag in clangd. 2018-10-08 10:44:54 +00:00
AST.cpp [clangd] Set SymbolID for sema macros so that they can be merged with index macros. 2018-09-06 09:59:37 +00:00
AST.h [clangd] Set SymbolID for sema macros so that they can be merged with index macros. 2018-09-06 09:59:37 +00:00
CMakeLists.txt [clangd] Cache FS stat() calls when building preamble. 2018-10-02 10:43:55 +00:00
Cancellation.cpp [clangd] Simplify cancellation public API 2018-09-13 11:47:48 +00:00
Cancellation.h [clangd] Simplify cancellation public API 2018-09-13 11:47:48 +00:00
ClangdLSPServer.cpp [clangd] NFC: Migrate to LLVM STLExtras API where possible 2018-10-07 14:49:41 +00:00
ClangdLSPServer.h Introduce completionItemKind capability support. 2018-09-27 17:13:07 +00:00
ClangdServer.cpp [clangd] Make FSProvider const-correct. NFC 2018-10-10 07:46:15 +00:00
ClangdServer.h [clangd] Make FSProvider const-correct. NFC 2018-10-10 07:46:15 +00:00
ClangdUnit.cpp [clangd] Remove no-op crash handler, we never set a crash context. 2018-10-11 13:06:10 +00:00
ClangdUnit.h Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
CodeComplete.cpp Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
CodeComplete.h Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
CodeCompletionStrings.cpp [clangd] Show function documentation in signature help 2018-08-17 09:29:38 +00:00
CodeCompletionStrings.h [clangd] Show function documentation in signature help 2018-08-17 09:29:38 +00:00
Compiler.cpp Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
Compiler.h Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
Context.cpp NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Context.h [clangd] context key constructor is constexpr. NFC 2018-06-15 12:39:21 +00:00
Diagnostics.cpp [clangd] Revert back to previous heuristic for diagnostic range extraction. 2018-10-09 08:41:12 +00:00
Diagnostics.h [clangd] send diagnostic categories only when 'categorySupport' 2018-08-22 20:30:06 +00:00
DraftStore.cpp [clangd] Support incremental document syncing 2018-03-26 14:41:40 +00:00
DraftStore.h [clangd] Support incremental document syncing 2018-03-26 14:41:40 +00:00
FS.cpp Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
FS.h Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
FSProvider.h Fix the qualification of `IntrusiveRefCntPtr` to use `llvm::`. 2018-10-11 08:05:10 +00:00
FileDistance.cpp [clangd] Migrate to LLVM STLExtras range API 2018-10-07 17:21:08 +00:00
FileDistance.h [clangd] NFC: Document URIDistance 2018-09-07 09:18:58 +00:00
FindSymbols.cpp [clangd] Adapt API change after 342451. 2018-09-18 08:52:14 +00:00
FindSymbols.h [clangd] Correct the namespace of ParsedAST forward declaration, NFC. 2018-08-01 12:50:44 +00:00
Function.h [clangd] Replace UniqueFunction with llvm::unique_function. 2018-07-03 20:59:33 +00:00
FuzzyMatch.cpp [clangd] FuzzyMatch exposes an API for its word segmentation. NFC 2018-07-20 08:01:37 +00:00
FuzzyMatch.h [clangd] FuzzyMatch exposes an API for its word segmentation. NFC 2018-07-20 08:01:37 +00:00
GlobalCompilationDatabase.cpp [clangd] Don't double-infer compile commands after r342228 2018-09-14 12:32:08 +00:00
GlobalCompilationDatabase.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
Headers.cpp [clangd] Make IncludeInserter less slow. NFC 2018-09-27 14:27:02 +00:00
Headers.h Lift VFS from clang to llvm (NFC) 2018-10-10 13:27:25 +00:00
JSONRPCDispatcher.cpp [clangd] Allow all LSP methods to signal cancellation via $/cancelRequest 2018-09-13 12:58:36 +00:00
JSONRPCDispatcher.h [clangd] Allow all LSP methods to signal cancellation via $/cancelRequest 2018-09-13 12:58:36 +00:00
Logger.cpp [clangd] Upgrade logging facilities with levels and formatv. 2018-07-11 10:35:11 +00:00
Logger.h [clangd] Fix many typos. NFC 2018-09-01 07:47:03 +00:00
Path.h Restored r303067 and fixed failing test. 2017-05-16 09:38:59 +00:00
Protocol.cpp Introduce completionItemKind capability support. 2018-09-27 17:13:07 +00:00
Protocol.h Introduce completionItemKind capability support. 2018-09-27 17:13:07 +00:00
ProtocolHandlers.cpp [clangd] Allow all LSP methods to signal cancellation via $/cancelRequest 2018-09-13 12:58:36 +00:00
ProtocolHandlers.h [clangd] Allow all LSP methods to signal cancellation via $/cancelRequest 2018-09-13 12:58:36 +00:00
Quality.cpp [clangd] Add "Deprecated" field to Symbol and CodeCompletion. 2018-09-06 18:52:26 +00:00
Quality.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
RIFF.cpp Remove unnecessary semicolon to silence -Wpedantic warning. NFCI. 2018-09-11 13:42:15 +00:00
RIFF.h [clangd] Define a compact binary serialization fomat for symbol slab/index. 2018-09-04 16:16:50 +00:00
SourceCode.cpp [clangd] Support textEdit in addition to insertText. 2018-08-13 08:23:01 +00:00
SourceCode.h [clangd] Support textEdit in addition to insertText. 2018-08-13 08:23:01 +00:00
TUScheduler.cpp [clangd] NFC: Migrate to LLVM STLExtras API where possible 2018-10-07 14:49:41 +00:00
TUScheduler.h [clangd] Fix TUScheduler typos 2018-09-14 00:56:11 +00:00
Threading.cpp [clangd] Use 'const Twine&' instead of 'Twine'. NFC 2018-07-26 16:13:52 +00:00
Threading.h [clangd] Use 'const Twine&' instead of 'Twine'. NFC 2018-07-26 16:13:52 +00:00
Trace.cpp [clangd] Remove JSON library in favor of llvm/Support/JSON 2018-07-09 14:25:59 +00:00
Trace.h [clangd] Remove JSON library in favor of llvm/Support/JSON 2018-07-09 14:25:59 +00:00
URI.cpp [clangd] Mark colon as a safe character when percent-encoding. 2018-10-09 10:29:54 +00:00
URI.h [clangd] Implement proximity path boosting for Dex 2018-09-06 12:54:43 +00:00
XRefs.cpp [clangd] Migrate to LLVM STLExtras range API 2018-10-07 17:21:08 +00:00
XRefs.h [clangd] Implement findReferences function 2018-09-05 10:33:36 +00:00