File: merge_union.0.res.oracle

package info (click to toggle)
frama-c 20220511-manganese-5
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 66,492 kB
  • sloc: ml: 278,834; ansic: 47,093; sh: 4,823; makefile: 3,613; javascript: 2,436; python: 1,919; perl: 897; lisp: 293; xml: 62
file content (54 lines) | stat: -rw-r--r-- 1,404 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[kernel] Parsing merge_union.c (with preprocessing)
[kernel] Parsing merge_union_2.c (with preprocessing)
[kernel] Parsing merge_union_3.c (with preprocessing)
[kernel:linker:drop-conflicting-unused] Warning: 
  Incompatible declaration for G1:
  Definitions of type st are not isomorphic. Reason follows:
  Definitions of struct __anonstruct_st_2 are not isomorphic. Reason follows:
  incompatible attributes in composite types and/or field u
  struct __anonstruct_st_2 {
     char c ;
     un u ;
  };
  struct __anonstruct_st_2 {
     char c  __attribute__((__aligned__(1)));
     un u  __attribute__((__aligned__(1)));
  } __attribute__((__packed__, __aligned__(1)));
  
  First declaration was at merge_union.h:11
  Current declaration is at merge_union.h:11
  Old declaration is unused, silently removing it
/* Generated by Frama-C */
union __anonunion_un_1 {
   char t ;
   short s ;
} __attribute__((__packed__, __aligned__(1)));
typedef union __anonunion_un_1 un;
struct __anonstruct_st_3 {
   char c  __attribute__((__aligned__(1)));
   un u  __attribute__((__aligned__(1)));
} __attribute__((__packed__, __aligned__(1)));
typedef struct __anonstruct_st_3 st_2;
int f(un *u);

#pragma noalign
extern st_2 G1;

int g(un *u)
{
  int __retres;
  f(& G1.u);
  __retres = 0;
  return __retres;
}

#pragma noalign
int main(un *u)
{
  int __retres;
  g(& G1.u);
  __retres = 0;
  return __retres;
}