diff options
| author | Ilya Biryukov <ibiryukov@google.com> | 2023-03-21 14:06:45 +0100 |
|---|---|---|
| committer | Ilya Biryukov <ibiryukov@google.com> | 2023-03-21 14:06:46 +0100 |
| commit | 282cae0b9a602267ad7ef622f770066491332a11 (patch) | |
| tree | 31a42a6bd1a39c78223b15f5df7145b45d2a2e46 /lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h | |
| parent | a6a788bdfb39cbf66e7196a39785d848ce714338 (diff) | |
[Sema] Fix crash on __fp16 parameters in template instantiations
Fixes #61441.
Currently, Clang stores `nullptr` in the parameter lists inside
`FunctionProtoTypeLoc` if `__fp16` is used without pointer qualifiers.
Any code path that calls `Declarator::setInvalidType()` before
`GetFullTypeForDeclarator` will lead to the same problem downstream.
The relevant code is:
```cpp
if (D.isInvalidType())
return Context.getTrivialTypeSourceInfo(T);
return GetTypeSourceInfoForDeclarator(state, T, TInfo);
```
`GetTypeSourceInfoForDeclarator` sets the parameter `Decl`, but we can't
call it when `isInvalidType() == true` as this causes other assertion
failures that seem harder to fix.
Reviewed By: kadircet
Differential Revision: https://reviews.llvm.org/D146426
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h')
0 files changed, 0 insertions, 0 deletions
