aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
diff options
context:
space:
mode:
authoreinvbri <vince.a.bridgers@ericsson.com>2022-04-24 14:05:11 -0500
committereinvbri <vince.a.bridgers@ericsson.com>2022-05-05 04:53:45 -0500
commitdf5801806d03c22099c85942134ca3004776016b (patch)
treed67d0a457bd568178d4709fe135249ef7f58e91e /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
parent3497a4f396015c56057b6deb4cebe0caa07ab63a (diff)
downloadllvm-df5801806d03c22099c85942134ca3004776016b.zip
llvm-df5801806d03c22099c85942134ca3004776016b.tar.gz
llvm-df5801806d03c22099c85942134ca3004776016b.tar.bz2
[analyzer] Get direct binding for specific punned case
Region store was not able to see through this case to the actual initialized value of STRUCT ff. This change addresses this case by getting the direct binding. This was found and debugged in a downstream compiler, with debug guidance from @steakhal. A positive and negative test case is added. The specific case where this issue was exposed. typedef struct { int a:1; int b[2]; } STRUCT; int main() { STRUCT ff = {0}; STRUCT* pff = &ff; int a = ((int)pff + 1); return a; } Reviewed By: steakhal, martong Differential Revision: https://reviews.llvm.org/D124349
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions