diff options
author | yrong <yronglin777@gmail.com> | 2023-07-13 00:45:43 +0800 |
---|---|---|
committer | yronglin <yronglin777@gmail.com> | 2023-07-13 07:58:08 +0800 |
commit | 677a1da6fafddb13aebd4c170c8452029a05858d (patch) | |
tree | 4adaef57e5762c327ad03a2a5a9441cada2dfc8e /llvm/lib/Object/ELFObjectFile.cpp | |
parent | 7d0df44d3903bf5840b409d309c2caabf344e29e (diff) | |
download | llvm-677a1da6fafddb13aebd4c170c8452029a05858d.zip llvm-677a1da6fafddb13aebd4c170c8452029a05858d.tar.gz llvm-677a1da6fafddb13aebd4c170c8452029a05858d.tar.bz2 |
[clang] Fix crash caused by PseudoObjectExprBitfields::NumSubExprs overflow
This patch makes the bit-fields wider, and also implement a small optimization for `PseudoObjectExprBitfields`, when there is no result in `PseudoObjectExpr`, we use 32 bits to store the number of subexpressions, otherwise, we use 16 bits to store the number of subexpressions, and use 16 bits to store the result indexes.
Fixes https://github.com/llvm/llvm-project/issues/63169
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D154784
Diffstat (limited to 'llvm/lib/Object/ELFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions