aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-24 23:03:41 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-12-21 01:23:56 +0100
commit696b243a5ae0b532c5505d53ae176fc3ac501579 (patch)
tree8af2170101d28441df2610eba91857aa8fcf222f /validation
parent26d547eeb3dff8cad58d314fcc7805b9862eadf5 (diff)
downloadsparse-dev-696b243a5ae0b532c5505d53ae176fc3ac501579.tar.gz
fix: evaluate_dereference() unexamined base type
Examination of a pointer type doesn't examine the corresponding base type (this base type may not yet be complete). So, this examination must be done later, when the base type is needed. However, in some cases it's possible to call evaluate_dereference() while the base type is still unexamined. Fix this by adding the missing examine_symbol_type() on the base type. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation')
-rw-r--r--validation/linear/deref-ptr-ptr.c1
-rw-r--r--validation/linear/unexamined-base-type.c1
2 files changed, 0 insertions, 2 deletions
diff --git a/validation/linear/deref-ptr-ptr.c b/validation/linear/deref-ptr-ptr.c
index 022595d7..963acd36 100644
--- a/validation/linear/deref-ptr-ptr.c
+++ b/validation/linear/deref-ptr-ptr.c
@@ -6,7 +6,6 @@ char *foo(char **pfmt)
/*
* check-name: deref-ptr-ptr
* check-command: test-linearize -m64 -Wno-decl $file
- * check-known-to-fail
*
* check-output-excludes: load[^.]
* check-output-contains: load\.
diff --git a/validation/linear/unexamined-base-type.c b/validation/linear/unexamined-base-type.c
index a138ba13..96aee3f0 100644
--- a/validation/linear/unexamined-base-type.c
+++ b/validation/linear/unexamined-base-type.c
@@ -28,7 +28,6 @@ static void bar(struct s *d, struct s *s1, struct s *s2)
* ^^^ !! WRONG !!
* and.32 %r6 <- %r5, $1
* ret.32 %r6
- * check-known-to-fail
*
* check-output-ignore
* check-output-excludes: load[^.]