Summary: It avoids that locations of array fields are evaluated to the `unknown` location incorrectly by addressing the case in the `eval_lindex` function. Reviewed By: mbouaziz Differential Revision: D7152736 fbshipit-source-id: 2dc825emaster
parent
d6740e94b2
commit
09ae1f96fc
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright (c) 2018 - present Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
struct S1 {
|
||||
int f[2];
|
||||
};
|
||||
|
||||
void array_field_access_Good(struct S1 x, struct S1 y) {
|
||||
int a[10];
|
||||
x.f[0] = 1;
|
||||
y.f[0] = 20;
|
||||
a[x.f[0]] = 0;
|
||||
}
|
||||
|
||||
void array_field_access_Bad(struct S1 x, struct S1 y) {
|
||||
int a[10];
|
||||
y.f[0] = 20;
|
||||
x.f[0] = 1;
|
||||
a[y.f[0]] = 0;
|
||||
}
|
Loading…
Reference in new issue