From a35ea4c2e92105ed2565f7b79cc8d9ed1a2bdcde Mon Sep 17 00:00:00 2001
From: Jan Rochel <jan.rochel@cea.fr>
Date: Wed, 21 Aug 2024 20:07:14 +0200
Subject: [PATCH] [alias] test case for global variable definitions

This commit modifies one test case, such that aliases originate from
global variable definitions (outside functions). This is a pathological
case for the current state of the analysis as it does not at all take
into account such definitions, and thus misses the aliases.

This will be fixed by the subsequent commit.
---
 src/plugins/alias/tests/basic/assignment3.c   |  6 ++---
 .../tests/basic/oracle/assignment3.res.oracle | 27 ++++---------------
 2 files changed, 7 insertions(+), 26 deletions(-)

diff --git a/src/plugins/alias/tests/basic/assignment3.c b/src/plugins/alias/tests/basic/assignment3.c
index 203e93650c1..d5a05286523 100644
--- a/src/plugins/alias/tests/basic/assignment3.c
+++ b/src/plugins/alias/tests/basic/assignment3.c
@@ -1,10 +1,8 @@
 // address assignment
 // {a, c} are aliased
 
-int main () {
+int b=0, *a=&b, *c=&b;
 
-  int *a=0, b=0, *c=0;
-  a = &b;
-  c = &b;
+int main () {
   return 0;
 }
diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
index 22605c19af0..e429aba77bb 100644
--- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
+++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle
@@ -1,28 +1,11 @@
 [kernel] Parsing assignment3.c (with preprocessing)
 [alias] analysing function: main
-[alias] analysing instruction: int *a = (int *)0;
-[alias] May-aliases after instruction  int *a = (int *)0;  are  <none>
-[alias] May-alias graph after instruction  int *a = (int *)0;  is    <empty>
-[alias] analysing instruction: int b = 0;
-[alias] May-aliases after instruction  int b = 0;  are  <none>
-[alias] May-alias graph after instruction  int b = 0;  is    <empty>
-[alias] analysing instruction: int *c = (int *)0;
-[alias] May-aliases after instruction  int *c = (int *)0;  are  <none>
-[alias] May-alias graph after instruction  int *c = (int *)0;  is    <empty>
-[alias] analysing instruction: a = & b;
-[alias] May-aliases after instruction  a = & b;  are  <none>
-[alias] May-alias graph after instruction  a = & b;  is    0:{ a } → 1:{ b }
-[alias] analysing instruction: c = & b;
-[alias] May-aliases after instruction  c = & b;  are  { a; c }
-[alias] May-alias graph after instruction  c = & b;  is
-  0:{ a } → 5:{ b }   4:{ c } → 5:{ b }
 [alias] analysing instruction: __retres = 0;
-[alias] May-aliases after instruction  __retres = 0;  are  { a; c }
-[alias] May-alias graph after instruction  __retres = 0;  is
-  0:{ a } → 5:{ b }   4:{ c } → 5:{ b }
-[alias] May-aliases at the end of function main: { a; c }
+[alias] May-aliases after instruction  __retres = 0;  are  <none>
+[alias] May-alias graph after instruction  __retres = 0;  is    <empty>
+[alias] May-aliases at the end of function main: <none>
 [alias] May-alias graph at the end of function main:
-  0:{ a } → 5:{ b }   4:{ c } → 5:{ b }
+  <empty>
 [alias] Summary of function main:
-  formals:     returns: __retres    state: { a; c }
+  formals:     returns: __retres    state: <none>
 [alias] Analysis complete
-- 
GitLab