The struct derived from an alias is missing from type hierarchy before this fix:
```cpp
struct Base {};
struct Derived : Base {};
using BaseAlias = Base;
struct DerivedAlias : BaseAlias {};
```
```
Derive from
Base
└╸Derived
```
The expected output is:
```
Derive from
Base
├╸Derived
└╸DerivedAlias
```
To specify arguments that are inserted immediately after the compiler
driver name. For example, initialization options
`{"clang":{"prependArgs":["--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/13"]}}`
transforms `clang -c a.cc` into `clang --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/13 -c a.cc`.
This allows users to provide default arguments that can be overridden as
needed.
Since the introduction of "ColumnLimit: 120" in .clang-format, the
column limit has become 120 characters instead of 80 characters.
This prevents clang-format from generating too much changes even if just
a small portion of a source file or header file is modified.
When the current file is X.cc, there might be multiple X.h.
Use a heuristic to find the best X.h.
Vote for each interesting symbol's definitions (for header) or
declarations (for non-header). Select the file with the most votes.
If `file_id2cnt` is empty, use a simpler heuristic.
This patch implements `textDocument/semanticTokens/{full,range}`. If the
client supports semantic tokens, $ccls/publishSemanticHighlight (now
deprecated) is disabled.
These token modifiers are mostly useful to emphasize certain symbols:
`static, classScope, globalScope, namespaceScope`.
To enable a colorful syntax highlighting scheme, set the
highlight.rainbow initialization option to 10.
https://maskray.me/blog/2024-10-20-ccls-and-lsp-semantic-tokens
Note that the older $ccls/publishSemanticHighlight protocol with
highlight.lsRanges==true (used by vscode-ccls) is no longer supported.
noteBottomOfStack:
Without this, checks against stack space within Clang don't work as
Clang doesn't know where the stack begins.
Needed per-thread, as early as possible.
(on threads using Clang)
Using Clang's desired stack size:
Additionally increase stack size of pthreads to Clang's desired size.
This is presently 8MB, and is used by Clang's stack management
mechanisms to check* if close to stack exhaustion when determining if
there's sufficient space (and warn or run on a new thread with more).
(see runWithSufficientStackSpace)
The constant is available in LLVM 7 onwards.
* (abs(cur - bottom) > DesiredStackSize - threshold)