Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the threads comment in config.hh w/ the actual core count used #600

Open
wants to merge 79 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
c8a55c8
Update wiki links and delete comparison with cquery
MaskRay Jan 4, 2019
c37417b
completion: if preamble size changes, rebuild it
MaskRay Jan 13, 2019
d556a08
Add -log-file=stderr and make it default
MaskRay Jan 21, 2019
6a51722
Drop support for clang 6
MaskRay Jan 21, 2019
1f0a509
Implement initialization option compilationDatabaseCommand on Windows
MaskRay Jan 21, 2019
e9a9fc8
cmake: delete SYSTEM_CLANG and auto-download mechanism
MaskRay Jan 22, 2019
cfac08b
Fix completion result sorting in VSCode (#210)
Riatre Jan 30, 2019
8a1177d
Log {Request,Notification}Message, and timestamp change due to depend…
MaskRay Jan 29, 2019
065071c
textDocument/signatureHelp: enable documentation
Riatre Oct 13, 2018
983b403
Fix is_local for vars with non-auto storage period
Riatre Oct 15, 2018
4fd6e11
Compute CompletionItemKind from Declaration instead of CursorKind
MaskRay Feb 2, 2019
f54a350
GetFallback: append clang.extraArgs
MaskRay Feb 10, 2019
7bc952e
Add initialization option `capabilities.*` and index.maxInitializerLines
MaskRay Feb 10, 2019
4f9e7b2
indexer: change Pos computation from byte offset to UTF-8 encoded cod…
MaskRay Feb 16, 2019
7e0d8a4
Use DiagnosticRelatedInformation if client supports publishDiagnostic…
LeszekSwirski Feb 21, 2019
f700ac7
Add cache.{hierarchicalPath,retainInMemory}
MaskRay Feb 21, 2019
9438be3
indexer: index TemplateTypeParmDecl and ParmVarDecl in declarations f…
MaskRay Feb 22, 2019
dd9d210
Make hover more detailed (e.g. include inheritance info)
MaskRay Feb 22, 2019
cafd2d4
Change Pos::line from int16_t to uint16_t
MaskRay Feb 23, 2019
3594b66
working_files: normalize \r\n and \n to \n
MaskRay Mar 2, 2019
bae9ecf
Add .github/ISSUE_TEMPLATE
MaskRay Mar 2, 2019
75684f0
textDocument/rename: mitigate edits in the same place and edits in ma…
MaskRay Mar 2, 2019
fcfd0dd
stdin: synthesize an "exit" NotificationMessage in abnormal termination
MaskRay Mar 4, 2019
38f4a8a
Make clang.excludeArgs accept glob patterns
MaskRay Mar 5, 2019
be391ee
Misc
MaskRay Mar 3, 2019
09b6f64
cmake: add option to use system rapidjson if exists
MaskRay Mar 9, 2019
5c9b055
Add excludeRole to documentSymbol and override declaration's range/se…
MaskRay Mar 9, 2019
bbb28c9
cmake: use {LLVM,Clang}Config.cmake
MaskRay Mar 10, 2019
c74d3df
If the workspace folder is a symlink, convert paths relative to it (#…
MaskRay Mar 10, 2019
89ec8ed
Add initialization option index.name.suppressUnwrittenScope (default:…
MaskRay Mar 10, 2019
4d68101
Change containers of Query*::Def fields from std::vector to ccls::Vec
MaskRay Mar 15, 2019
5853071
Enhance the output of --version with Git describe results. (#342)
madscientist Mar 24, 2019
752012f
Add initialization option index.initialNoLinkage: false
MaskRay Mar 25, 2019
193eacc
Adapt clang rC357037: removal of setVirtualFileSystem
MaskRay Mar 27, 2019
539ca22
Add error checking of object deserialization; ignore non-object initi…
MaskRay Mar 29, 2019
1d3fba2
Set RetainRemappedFileBuffers to true
MaskRay Mar 29, 2019
b1bcd0e
Set RetainCommentsFromSystemHeaders to true
MaskRay Apr 12, 2019
ea8baa6
Adapt clang rC358696: removal of OutputIsBinary
MaskRay Apr 19, 2019
137a9cd
Append '/' before populating folder.dot_ccls
Riatre Apr 28, 2019
bd0006a
JsonWriter: write "null" if VersionedTextDocumentIdentifier.version i…
MaskRay Apr 30, 2019
4dd97d4
Refactor FindEntry and use best-fit .ccls
MaskRay Apr 29, 2019
d472ffc
Adapt llvm rL360179: Option may have multiple OptionCategory's
MaskRay May 8, 2019
7f291c6
Set Diag::concerned if any of its Notes is concerned
MaskRay May 12, 2019
d55fd00
utils.hh: work around MSVC STL bug
MaskRay Jun 18, 2019
2d11cc2
threaded_queue.hh: fix -Wpessimizing-move (#409)
torokati44 Jun 18, 2019
6d0a096
Adapt rL364464: clang::FrontendAction::Execute returns llvm::Error in…
MaskRay Jun 27, 2019
73b75a2
pipeline: report changed arg
MaskRay Jun 27, 2019
e89e310
project: support %cu directive and strip -M* options
MaskRay Jun 28, 2019
0ca7d35
Only add include directories for LLVM, clang & rapidjson if they are …
dcermak Jun 27, 2019
034bd16
Change RequestId::value from int to std::string to allow non-numeric …
Riatre Jul 16, 2019
7e7a120
$ccls/fileInfo: optionally dump dependencies, includes and skipped_ra…
MaskRay Jul 20, 2019
d965bcd
Support indexing non-existent files in index.onChange:true mode
MaskRay Jul 20, 2019
9ff1897
project: improve ComputeGuessScore heuristics
MaskRay Jul 20, 2019
6528dcb
Construct SourceManager with UserFilesAreVolatile
MaskRay Jul 31, 2019
5200f43
Support override CLANG_RESOURCE_DIR
zhsj Aug 11, 2019
373e502
project: allow absolute compilationDatabaseDirectory
MaskRay Aug 17, 2019
1ca8d45
textDocument/definition: don't jump to the type definition
MaskRay Aug 22, 2019
91abea0
:boom: Rename FunctionName -> functionName, VarName -> var_name
MaskRay Aug 22, 2019
d2b904a
indexer: llvm::sys::fs::UniqueID -> clang::FileID
MaskRay Aug 22, 2019
a655ca9
indexer: disable warnings and skip processed function bodies
MaskRay Aug 22, 2019
718e2be
project: strip -Xclang <arg>
MaskRay Sep 12, 2019
330e633
completion: don't reuse cache if the buffer line has changed
MaskRay Sep 27, 2019
eabce35
Add initialization option completion.placeholder; change client.snipp…
MaskRay Oct 7, 2019
050a16c
Fix some clang-tidy warnings
MaskRay Oct 11, 2019
464ccd6
Infer -target and --driver-mode from argv[0]
MaskRay Nov 1, 2019
a7a982a
cmake: support CLANG_LINK_CLANG_DYLIB
MaskRay Nov 1, 2019
468a2fb
indexer: fix getAdjustedDecl for explicit instantiations; fix incorre…
MaskRay Nov 9, 2019
bd609e8
initialize: implement serverInfo (LSP 3.15.0)
nemethf Nov 11, 2019
cef0203
indexer: add name for anonymous Enum
Nov 15, 2019
86e340c
Adapt llvmorg-10-init-12036-g3b9715cb2193: handleDeclOccurence -> han…
MaskRay Dec 17, 2019
98f25b5
textDocument/documentSymbol: support unopened files (#548)
jlahoda Dec 22, 2019
ed64919
position: support line numbers larger than INT16_MAX (but <= UINT16_M…
adizero Dec 27, 2019
e2284a3
project: decrease score if .c is matched against .hh (#549)
MaskRay Dec 22, 2019
64e3e8f
Set indexer threads' priority to ThreadPriority::Background (#538)
eklitzke Dec 3, 2019
1834f81
Adapt D73392 - split of llvm/Support/Allocator.h
MaskRay Jan 25, 2020
b4af654
Adapt llvmorg-11-init-1314-g777180a32b6: StringRef's conversion to st…
MaskRay Jan 29, 2020
41e7d6a
Simplify: hide unrelated options
condy0919 Feb 10, 2020
5a08ff9
Add missing headers to adapt llvmorg-11-init-5501-g213aea4c583 and ll…
MaskRay Mar 12, 2020
f3a9ede
Update the threads comment in config.hh w/ the actual core count used
eklitzke Mar 24, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ install:
- 7z x llvm.tar
- git submodule update --init --recursive
build_script:
- cmake -G"Visual Studio 15 2017 Win64" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DSYSTEM_CLANG=ON -DCLANG_ROOT=C:\projects\ccls\llvm+clang-7.0.0-win64-msvc-release
- cmake -G"Visual Studio 15 2017 Win64" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:\projects\ccls\llvm+clang-7.0.0-win64-msvc-release
- cmake --build build --target ccls --config Release

artifacts:
Expand Down
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Here are some things you should try before filing a bug report:

+ For client issues related to [emacs-ccls](https://github.com/MaskRay/emacs-ccls) or [vscode-ccls](https://github.com/MaskRay/vscode-ccls), report in their own repository.
+ For build problems, check https://github.com/MaskRay/ccls/wiki/Build
+ Check https://github.com/MaskRay/ccls/wiki/Debugging
+ Check [the FAQ](https://github.com/MaskRay/ccls/wiki/FAQ) to see if your issue is mentioned.

If none of those help, remove this section and fill out the four sections in the template below.

---

### Observed behavior

Describe what happened. Any aids you can include (that you think could be relevant) are a tremendous help.

* `compile_commands.json` or `.ccls` ([wiki/Project-Setup](https://github.com/MaskRay/ccls/wiki/Project-Setup))
* Reduce to A minimal set of `.c` `.cc` `.h` `.hh` files that can still demonstrate the issue.
* Consider a screencast gif.

### Expected behavior

Describe what you expected to happen.

### Steps to reproduce

1. Select these example steps,
2. Delete them,
3. And replace them with precise steps to reproduce your issue.

### System information

* ccls version (`git describe --tags --long`):
* clang version:
* OS:
* Editor:
* Language client (and version):
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ build
debug
release
/compile_commands.json
!.github/
209 changes: 113 additions & 96 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,46 +1,34 @@
cmake_minimum_required(VERSION 3.8)
project(ccls LANGUAGES CXX)

list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
include(DefaultCMakeBuildType)

# Required Clang version
set(CLANG_DOWNLOAD_LOCATION ${CMAKE_BINARY_DIR}
CACHE STRING "Downloaded Clang location")
option(SYSTEM_CLANG "Use system installation of Clang instead of \
downloading Clang" OFF)
option(ASAN "Compile with address sanitizers" OFF)
option(LLVM_ENABLE_RTTI "-fno-rtti if OFF. This should match LLVM libraries" OFF)
option(CLANG_USE_BUNDLED_LIBC++ "Let Clang use bundled libc++" OFF)
option(USE_SHARED_LLVM "Link against libLLVM.so instead separate LLVM{Option,Support,...}" OFF)
option(USE_SYSTEM_RAPIDJSON "Use system RapidJSON instead of the git submodule if exists" ON)

# Sources for the executable are specified at end of CMakeLists.txt
add_executable(ccls "")

### Compile options
### Default build type

set(DEFAULT_CMAKE_BUILD_TYPE Release)

# CMake default compile flags:
# MSVC + Clang(Windows):
# debug: /MDd /Zi /Ob0 /Od /RTC1
# release: /MD /O2 /Ob2 /DNDEBUG
# GCC + Clang(Linux):
# debug: -g
# release: -O3 -DNDEBUG
# CMAKE_BUILD_TYPE is not available if a multi-configuration generator is used
# (eg Visual Studio generators)
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${DEFAULT_CMAKE_BUILD_TYPE}' as none \
was specified.")
set(CMAKE_BUILD_TYPE ${DEFAULT_CMAKE_BUILD_TYPE}
CACHE STRING "Choose the type of build." FORCE)

# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE
PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo)
endif()

### Compile options

# Enable C++17 (Required)
set_property(TARGET ccls PROPERTY CXX_STANDARD 17)
set_property(TARGET ccls PROPERTY CXX_STANDARD_REQUIRED ON)
# Disable gnu extensions except for Cygwin which needs them to build properly
if(NOT CYGWIN)
set_property(TARGET ccls PROPERTY CXX_EXTENSIONS OFF)
endif()

if(NOT LLVM_ENABLE_RTTI)
# releases.llvm.org libraries are compiled with -fno-rtti
# The mismatch between lib{clang,LLVM}* and ccls can make libstdc++ std::make_shared return nullptr
# _Sp_counted_ptr_inplace::_M_get_deleter
target_compile_options(ccls PRIVATE -fno-rtti)
endif()
set_property(TARGET ccls PROPERTY CXX_EXTENSIONS OFF)

# CMake sets MSVC for both MSVC and Clang(Windows)
if(MSVC)
Expand Down Expand Up @@ -76,44 +64,49 @@ else()
target_compile_options(ccls PRIVATE
$<$<CONFIG:Debug>:-fno-limit-debug-info>)
endif()

if(ASAN)
target_compile_options(ccls PRIVATE -fsanitize=address,undefined)
# target_link_libraries also takes linker flags
target_link_libraries(ccls PRIVATE -fsanitize=address,undefined)
endif()
endif()

### Download Clang if required

if(NOT SYSTEM_CLANG)
message(STATUS "Using downloaded Clang")

include(DownloadAndExtractClang)
download_and_extract_clang(${CLANG_DOWNLOAD_LOCATION})
# Used by FindClang
set(CLANG_ROOT ${DOWNLOADED_CLANG_DIR})

if(${CMAKE_CXX_COMPILER_ID} STREQUAL Clang AND CLANG_USE_BUNDLED_LIBC++)
message(STATUS "Using bundled libc++")
target_compile_options(ccls PRIVATE -nostdinc++ -cxx-isystem ${CLANG_ROOT}/include/c++/v1)
if(${CMAKE_SYSTEM_NAME} STREQUAL Linux)
# Don't use -stdlib=libc++ because while ccls is linked with libc++, bundled clang+llvm require libstdc++
target_link_libraries(ccls PRIVATE -L${CLANG_ROOT}/lib c++ c++abi)
### Libraries

# FreeBSD defaults to -stdlib=libc++ and uses system libcxxrt.a
endif()
endif()
find_package(Clang REQUIRED)

if(CLANG_LINK_CLANG_DYLIB)
target_link_libraries(ccls PRIVATE clang-cpp)
else()
message(STATUS "Using system Clang")
target_link_libraries(ccls PRIVATE
clangIndex
clangFormat
clangTooling
clangToolingInclusions
clangToolingCore
clangFrontend
clangParse
clangSerialization
clangSema
clangAST
clangLex
clangDriver
clangBasic
)
endif()

### Libraries
if(LLVM_LINK_LLVM_DYLIB)
target_link_libraries(ccls PRIVATE LLVM)
else()
# In llvm 7, clangDriver headers reference LLVMOption
target_link_libraries(ccls PRIVATE LLVMOption LLVMSupport)
endif()

# See cmake/FindClang.cmake
find_package(Clang 6.0.0)
target_link_libraries(ccls PRIVATE Clang::Clang)
if(NOT LLVM_ENABLE_RTTI)
# releases.llvm.org libraries are compiled with -fno-rtti
# The mismatch between lib{clang,LLVM}* and ccls can make libstdc++ std::make_shared return nullptr
# _Sp_counted_ptr_inplace::_M_get_deleter
if(MSVC)
target_compile_options(ccls PRIVATE /GR-)
else()
target_compile_options(ccls PRIVATE -fno-rtti)
endif()
endif()

# Enable threading support
set(THREADS_PREFER_PTHREAD_FLAG ON)
Expand All @@ -129,51 +122,56 @@ endif()

### Definitions

target_compile_definitions(ccls PRIVATE
DEFAULT_RESOURCE_DIRECTORY=R"\(${Clang_RESOURCE_DIR}\)")
# Find Clang resource directory with Clang executable.

### Includes

target_include_directories(ccls PRIVATE src)
target_include_directories(ccls SYSTEM PRIVATE
third_party
third_party/rapidjson/include)
if(NOT CLANG_RESOURCE_DIR)
find_program(CLANG_EXECUTABLE clang)
if(NOT CLANG_EXECUTABLE)
message(FATAL_ERROR "clang executable not found.")
endif()

### Install
execute_process(
COMMAND ${CLANG_EXECUTABLE} -print-resource-dir
RESULT_VARIABLE CLANG_FIND_RESOURCE_DIR_RESULT
OUTPUT_VARIABLE CLANG_RESOURCE_DIR
ERROR_VARIABLE CLANG_FIND_RESOURCE_DIR_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE
)

install(TARGETS ccls RUNTIME DESTINATION bin)
if(CLANG_FIND_RESOURCE_DIR_RESULT)
message(FATAL_ERROR "Error retrieving Clang resource directory with Clang \
executable. Output:\n ${CLANG_FIND_RESOURCE_DIR_ERROR}")
endif()
endif()

if(NOT SYSTEM_CLANG AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL Windows)
set_property(SOURCE src/utils.cc APPEND PROPERTY COMPILE_DEFINITIONS
CLANG_RESOURCE_DIRECTORY=R"\(${CLANG_RESOURCE_DIR}\)")

if(${CMAKE_SYSTEM_NAME} MATCHES Linux|FreeBSD)
set_property(TARGET ccls APPEND PROPERTY
INSTALL_RPATH $ORIGIN/../lib)
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Darwin)
set_property(TARGET ccls APPEND PROPERTY
INSTALL_RPATH @loader_path/../lib)
endif()
### Includes

file(GLOB LIBCLANG_PLUS_SYMLINKS
${DOWNLOADED_CLANG_DIR}/lib/libclang.[so,dylib]*)
install(FILES ${LIBCLANG_PLUS_SYMLINKS} DESTINATION lib)
if(USE_SYSTEM_RAPIDJSON)
find_package(RapidJSON QUIET)
endif()

# Allow running from build Windows by copying libclang.dll to build directory
if(NOT SYSTEM_CLANG AND ${CMAKE_SYSTEM_NAME} STREQUAL Windows)
add_custom_command(TARGET ccls
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${DOWNLOADED_CLANG_DIR}/bin/libclang.dll
$<TARGET_FILE_DIR:ccls>
COMMENT "Copying libclang.dll to build directory ...")
if(NOT RapidJSON_FOUND)
set(RapidJSON_INCLUDE_DIRS third_party/rapidjson/include)
endif()

### Tools
target_include_directories(ccls PRIVATE src)

foreach(include_dir third_party
${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS} ${RapidJSON_INCLUDE_DIRS})
get_filename_component(include_dir_realpath ${include_dir} REALPATH)
# Don't add as SYSTEM if they are in CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
# It would reorder the system search paths and cause issues with libstdc++'s
# use of #include_next. See https://github.com/MaskRay/ccls/pull/417
if(NOT "${include_dir_realpath}" IN_LIST CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES)
target_include_directories(ccls SYSTEM PRIVATE ${include_dir})
endif()
endforeach()

# We use glob here since source files are already manually added with
# target_sources further down
file(GLOB SOURCES src/*.cc src/*.h src/serializers/*.cc src/serializers/*.h
src/messages/*.h src/messages/*.cc)
### Install

install(TARGETS ccls RUNTIME DESTINATION bin)

### Sources

Expand Down Expand Up @@ -225,3 +223,22 @@ target_sources(ccls PRIVATE
src/messages/textDocument_signatureHelp.cc
src/messages/workspace.cc
)

### Obtain CCLS version information from Git
### This only happens when cmake is re-run!

if(NOT CCLS_VERSION)
execute_process(COMMAND git describe --tag --long HEAD
OUTPUT_VARIABLE CCLS_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")

if(NOT CCLS_VERSION)
set(CCLS_VERSION "<unknown>")
endif()
endif()

set_property(SOURCE src/main.cc APPEND PROPERTY
COMPILE_DEFINITIONS CCLS_VERSION=\"${CCLS_VERSION}\")
set_property(SOURCE src/messages/initialize.cc APPEND PROPERTY
COMPILE_DEFINITIONS CCLS_VERSION=\"${CCLS_VERSION}\")
25 changes: 3 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ccls, which originates from [cquery](https://github.com/cquery-project/cquery),
* formatting
* hierarchies: [call (caller/callee) hierarchy](src/messages/ccls_call.cc), [inheritance (base/derived) hierarchy](src/messages/ccls_inheritance.cc), [member hierarchy](src/messages/ccls_member.cc)
* [symbol rename](src/messages/textDocument_rename.cc)
* [document symbols](src/messages/textDocument_documentSymbol.cc) and approximate search of [workspace symbol](src/messages/workspace_symbol.cc)
* [document symbols](src/messages/textDocument_document.cc) and approximate search of [workspace symbol](src/messages/workspace.cc)
* [hover information](src/messages/textDocument_hover.cc)
* diagnostics and code actions (clang FixIts)
* semantic highlighting and preprocessor skipped regions
Expand All @@ -21,28 +21,9 @@ It has a global view of the code base and support a lot of cross reference featu
It starts indexing the whole project (including subprojects if exist) parallelly when you open the first file, while the main thread can serve requests before the indexing is complete.
Saving files will incrementally update the index.

Compared with cquery, it makes use of C++17 features, has less third-party dependencies and slimmed-down code base.
It leverages Clang C++ API as [clangd](https://clang.llvm.org/extra/clangd.html) does, which provides better support for code completion and diagnostics.
Refactoring is a non-goal as it can be provided by clang-include-fixer and other Clang based tools.

The comparison with cquery as noted on 2018-07-15:

| | cquery | ccls |
|------------ |--------------------------------|------------------------------|
| third_party | more | fewer |
| C++ | C++14 | C++17 |
| clang API | libclang (C) | clang/llvm C++ |
| Filesystem | AbsolutePath + custom routines | llvm/Support |
| index | libclang | clangIndex, some enhancement |
| pipeline | index merge+id remapping | simpler and more robust |

cquery has system include path detection (through running the compiler driver) while ccls uses clangDriver.

# >>> [Getting started](../../wiki/Getting-started) (CLICK HERE) <<<
# >>> [Getting started](../../wiki/Home) (CLICK HERE) <<<

* [Build](../../wiki/Build)
* [Emacs](../../wiki/Emacs)
* [LanguageClient-neovim](../../wiki/LanguageClient-neovim)
* [FAQ](../../wiki/FAQ)

ccls can index itself (~180MiB RSS when ide, noted on 2018-09-01), FreeBSD, glibc, Linux, LLVM (~1800MiB RSS), musl (~60MiB RSS), ... with decent memory footprint. See [wiki/compile_commands.json](../../wiki/compile_commands.json) for examples.
ccls can index itself (~180MiB RSS when idle, noted on 2018-09-01), FreeBSD, glibc, Linux, LLVM (~1800MiB RSS), musl (~60MiB RSS), ... with decent memory footprint. See [wiki/Project-Setup](../../wiki/Project-Setup) for examples.
1 change: 0 additions & 1 deletion clang_archive_hashes/LLVM-7.0.0-win64.exe.SHA256

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

14 changes: 0 additions & 14 deletions cmake/DefaultCMakeBuildType.cmake

This file was deleted.

Loading