diff options
author | einvbri <vince.a.bridgers@ericsson.com> | 2022-12-09 19:18:03 -0600 |
---|---|---|
committer | einvbri <vince.a.bridgers@ericsson.com> | 2022-12-11 17:56:51 -0600 |
commit | 443b46e6d3139c1306caddd06efa674dcea9f38f (patch) | |
tree | fd68137481765051dcebd5ec869eaf1cc6656d0c /llvm/lib/CodeGen/StackProtector.cpp | |
parent | 4d1c5b946ad7f10d398b43e7f20a528407fb79b9 (diff) | |
download | llvm-443b46e6d3139c1306caddd06efa674dcea9f38f.zip llvm-443b46e6d3139c1306caddd06efa674dcea9f38f.tar.gz llvm-443b46e6d3139c1306caddd06efa674dcea9f38f.tar.bz2 |
[analyzer] Fix assertion in getAPSIntType
getAPSIntType crashes when analzying a simple case that uses a fixed
point type. getAPSIntType needs to handle fixed point types differently
to get sign information. LIT and Unittests were added since there were
none previously added.
clang: <root>/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:155:
clang::ento::APSIntType clang::ento::BasicValueFactory::getAPSIntType(clang::QualType) const:
Assertion `T->isIntegralOrEnumerationType() || Loc::isLocType(T)' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff66e2387 in raise () from /lib64/libc.so.6
(gdb) bt
at <root>/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:155
at <root>/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h:172
LHS=0x108965a0, op=clang::BO_Shr, RHS=..., resultTy=...) at
<root>/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:213
(this=0x1088e460, state=..., op=clang::BO_Shr, lhs=..., rhs=..., resultTy=...)
at <root>/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp:681
Reviewed By: steakhal
Differential Revision: https://reviews.llvm.org/D139759
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions