diff options
author | Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> | 2024-08-01 17:56:15 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-01 17:56:15 +0400 |
commit | 130c135689ec12ab78c53645808524a8d28f7cae (patch) | |
tree | 9360f745b9fb72680bfed3920dbd6873daad906b /clang/lib/Sema/SemaChecking.cpp | |
parent | b9335176db718bf64c72d48107eb9dff28ed979e (diff) | |
download | llvm-130c135689ec12ab78c53645808524a8d28f7cae.zip llvm-130c135689ec12ab78c53645808524a8d28f7cae.tar.gz llvm-130c135689ec12ab78c53645808524a8d28f7cae.tar.bz2 |
[clang] Fix crash with multiple non-parenthsized `sizeof` (#101297)
There are 5 unary operators that can be followed by a non-parenthesized
expression: `sizeof`, `__datasizeof`, `__alignof`, `alignof`,
`_Alignof`. When we nest them too deep, `BalancedDelimiterTracker` does
not help, because there are no parentheses, and we crash. Instead, this
patch recognize chains of those operators, and parse them with
sufficient stack space.
Fixes #45061
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
0 files changed, 0 insertions, 0 deletions