diff --git a/convert.ml b/convert.ml
index c251a175190468813a87a5d093c75ab6897d1e73..fb58f938d0cbf572a444c8dfd0471883a0b0515a 100644
--- a/convert.ml
+++ b/convert.ml
@@ -3640,6 +3640,9 @@ and convert_class_component (env, implicits, types, fields, others) meth =
       in
       if is_static typ.qualifier then begin
         let attrs = add_fc_destructor_attr env typ [] in
+        (* we have actually an extern declaration in C sense: its definition
+           might reside in another translation unit. *)
+        let base = SpecStorage EXTERN :: base in
         let name = Convert_env.qualify env name in
         let cname,_= Convert_env.typedef_normalize env name TStandard in
         let cname = Mangling.mangle cname TStandard None in
diff --git a/tests/basic/oracle/aggregate.res.oracle b/tests/basic/oracle/aggregate.res.oracle
index 3fb24a20a6b9cd5e74697a22a030a39998404122..0ac5b64a23c75e5de15b31ce0367a4567157f15b 100644
--- a/tests/basic/oracle/aggregate.res.oracle
+++ b/tests/basic/oracle/aggregate.res.oracle
@@ -4,16 +4,12 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "B" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
   a[0..1] ∈ {0}
   b[0].x ∈ {7}
    [0].y ∈ {0}
@@ -59,10 +55,8 @@ struct B {
 };
 void A::Dtor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this, int _x, int _y)
 {
@@ -82,10 +76,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "B",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/anonymous_struct.res.oracle b/tests/basic/oracle/anonymous_struct.res.oracle
index 72812c7267150a27cd7a4f1eeb633b394ca8c673..9a80fe139b26c348f320ee9ac59a845f0941f9ec 100644
--- a/tests/basic/oracle/anonymous_struct.res.oracle
+++ b/tests/basic/oracle/anonymous_struct.res.oracle
@@ -30,10 +30,8 @@ struct anonymous_class_1 {
 struct A {
    struct anonymous_class_1 anonymous_2 ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void A::Ctor(struct A const *this);
 
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
diff --git a/tests/basic/oracle/array_field.res.oracle b/tests/basic/oracle/array_field.res.oracle
index e6b189ccba58e2b9dcfc442cce1153448ef056ae..5642641f31bc863838d57f64156af46716d4a33e 100644
--- a/tests/basic/oracle/array_field.res.oracle
+++ b/tests/basic/oracle/array_field.res.oracle
@@ -31,10 +31,8 @@ void *malloc(unsigned int size);
 
 void free(void *ptr);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void ArrayFieldTest::Ctor(struct ArrayFieldTest const *this)
 {
diff --git a/tests/basic/oracle/bitfields.res.oracle b/tests/basic/oracle/bitfields.res.oracle
index e9f35560dd4c179654314a13ea2956694e31d9d3..f77fbb9d35b6455c419a959f22d345e9bbad22ea 100644
--- a/tests/basic/oracle/bitfields.res.oracle
+++ b/tests/basic/oracle/bitfields.res.oracle
@@ -34,10 +34,8 @@ union anonymous_union_1 {
 struct C {
    union anonymous_union_1 anonymous_3 ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 long get_b(struct C *this)
 {
diff --git a/tests/basic/oracle/brace_or_equal_initializer.res.oracle b/tests/basic/oracle/brace_or_equal_initializer.res.oracle
index 87203f868a8a0743be44b854fc9c161f5be69866..1b405e5eab3136ea8e4358fab91de2347b5848eb 100644
--- a/tests/basic/oracle/brace_or_equal_initializer.res.oracle
+++ b/tests/basic/oracle/brace_or_equal_initializer.res.oracle
@@ -29,10 +29,8 @@ struct Foo {
    int c ;
    int t[3] ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this, int x)
 {
diff --git a/tests/basic/oracle/c_link.res.oracle b/tests/basic/oracle/c_link.res.oracle
index 7d0032c420ff804ef469cfb77ae8983ca84f8c23..f6e1a847e3d86afd454b8fbea68e00871b6b3d39 100644
--- a/tests/basic/oracle/c_link.res.oracle
+++ b/tests/basic/oracle/c_link.res.oracle
@@ -39,10 +39,8 @@ struct Foo *operator=(struct Foo *this, struct Foo *__frama_c_arg_0);
 
 void Foo::Dtor(struct Foo const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this)
 {
@@ -76,10 +74,8 @@ void Bar::Ctor(struct Bar const *this, struct Bar const *__frama_c_arg_0);
 
 void Bar::Dtor(struct Bar const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Bar::Ctor(struct Bar const *this)
 {
diff --git a/tests/basic/oracle/default_args.res.oracle b/tests/basic/oracle/default_args.res.oracle
index fbb0b2383d369c771c3e6299f6803b088aa799b2..8dd5f1132341ac5cc2c8e78f26a555aec3d0600d 100644
--- a/tests/basic/oracle/default_args.res.oracle
+++ b/tests/basic/oracle/default_args.res.oracle
@@ -30,10 +30,8 @@ void A::Ctor(struct A const *this);
 
 void A::Dtor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this)
 {
diff --git a/tests/basic/oracle/delete_all_kind.res.oracle b/tests/basic/oracle/delete_all_kind.res.oracle
index 7f14756a78efb0c3f631e4c362ec4f6233df859a..3075633ec98d3b7b7b8e1f2c02ddf0d340593a24 100644
--- a/tests/basic/oracle/delete_all_kind.res.oracle
+++ b/tests/basic/oracle/delete_all_kind.res.oracle
@@ -47,10 +47,8 @@ void A::Ctor(struct A const *this);
 
 void A::Dtor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void A::delete(void *ptr)
 {
   return;
@@ -96,10 +94,8 @@ void B::Ctor(struct B const *this);
 
 void B::Dtor(struct B const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void B::Ctor(struct B const *this)
 {
diff --git a/tests/basic/oracle/forWithSimpleDecl.res.oracle b/tests/basic/oracle/forWithSimpleDecl.res.oracle
index a2531087d94aa63175883b5e06d657e76a92018a..b8947399ddbb904e425bd73066c7fcb5c1ed2904 100644
--- a/tests/basic/oracle/forWithSimpleDecl.res.oracle
+++ b/tests/basic/oracle/forWithSimpleDecl.res.oracle
@@ -29,10 +29,8 @@ struct s {
 };
 void s::Ctor(struct s const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void s::Ctor(struct s const *this)
 {
diff --git a/tests/basic/oracle/forward.res.oracle b/tests/basic/oracle/forward.res.oracle
index 58de17928613fe6743ff7cb77844a07079c69192..2f9a76bee2d8f41917889a2c4b715cdad98231cf 100644
--- a/tests/basic/oracle/forward.res.oracle
+++ b/tests/basic/oracle/forward.res.oracle
@@ -29,19 +29,15 @@ struct B {
 struct A {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "B",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/gnu_body.res.oracle b/tests/basic/oracle/gnu_body.res.oracle
index 317391c9bf84bfd5bbdbf7530afc11c5d81bb7af..be20db822a763d5aa2772fafd7c4222df2636d5b 100644
--- a/tests/basic/oracle/gnu_body.res.oracle
+++ b/tests/basic/oracle/gnu_body.res.oracle
@@ -30,10 +30,8 @@ int f(int x);
 
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 int t3(struct A const *this);
 
 int id(struct A const *this, int x);
diff --git a/tests/basic/oracle/incomplete_type.res.oracle b/tests/basic/oracle/incomplete_type.res.oracle
index 79a2e8fa6c95a8fcfbe31e6cd7050b3a52310e0c..288f9c53dc30a0804e52d1628bec12d92679e6c7 100644
--- a/tests/basic/oracle/incomplete_type.res.oracle
+++ b/tests/basic/oracle/incomplete_type.res.oracle
@@ -39,10 +39,8 @@ void A::Ctor(struct A const *this);
 
 void A::Dtor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this)
 {
@@ -62,10 +60,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void B::Ctor(struct B const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void m_fn1(struct B *this, struct A **p1, long __frama_c_arg_1,
            unsigned int __frama_c_arg_2);
 
diff --git a/tests/basic/oracle/init.res.oracle b/tests/basic/oracle/init.res.oracle
index 31566ce055cb4131e2f53fca19588644acc9e591..c9baccadd71f549820265aca2272ddc756e26fdd 100644
--- a/tests/basic/oracle/init.res.oracle
+++ b/tests/basic/oracle/init.res.oracle
@@ -31,19 +31,15 @@ struct myStruct {
    myArray a ;
 };
 typedef struct myStruct myStruct;
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "myStruct",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/method_translation_order_2064.res.oracle b/tests/basic/oracle/method_translation_order_2064.res.oracle
index 3a268c232b6253c04fabb99221e9c23c639710a7..34f3757c644ed689fad8b536d5314a5917aca9ba 100644
--- a/tests/basic/oracle/method_translation_order_2064.res.oracle
+++ b/tests/basic/oracle/method_translation_order_2064.res.oracle
@@ -26,10 +26,8 @@ struct Point;
 struct Point {
    int xx ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     requires \valid(p); */
 void bar(struct Point *this, struct Point *p)
diff --git a/tests/basic/oracle/namespace.res.oracle b/tests/basic/oracle/namespace.res.oracle
index d991804cd36647649bc569f6eae2386d50b78cee..6b109c8899c5826c706385338a197fe16de14f79 100644
--- a/tests/basic/oracle/namespace.res.oracle
+++ b/tests/basic/oracle/namespace.res.oracle
@@ -35,10 +35,8 @@ union anonymous_union_2 {
 struct A {
    union anonymous_union_2 anonymous_1 ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 _Bool is_zero(struct A *this);
 
 _Bool is_foo(struct A *this);
diff --git a/tests/basic/oracle/new.res.oracle b/tests/basic/oracle/new.res.oracle
index 070fabddc9fb7fbbb613ac16f131d8a52f32e748..40ee018260c94b746ee32ba2f891b075b4365a7b 100644
--- a/tests/basic/oracle/new.res.oracle
+++ b/tests/basic/oracle/new.res.oracle
@@ -51,10 +51,8 @@ int glob(void)
 
 void Base::Ctor(struct Base const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Base::Ctor(struct Base const *this)
 {
@@ -68,11 +66,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void *A::new(unsigned int size);
 
 void m_fn2(struct A *this);
@@ -102,10 +97,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void B::Ctor(struct B const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void *B::new(unsigned int size)
 {
   void *__retres;
diff --git a/tests/basic/oracle/new_all_kind.res.oracle b/tests/basic/oracle/new_all_kind.res.oracle
index f66444674f4b0b14983fb8640394b655b51b2e96..ea911addb23b8f44e2f32ae736e44a0a9c786a87 100644
--- a/tests/basic/oracle/new_all_kind.res.oracle
+++ b/tests/basic/oracle/new_all_kind.res.oracle
@@ -33,10 +33,8 @@ struct A {
 };
 void *malloc(unsigned int size);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this)
 {
diff --git a/tests/basic/oracle/new_array.res.oracle b/tests/basic/oracle/new_array.res.oracle
index 54bd9489223413abddc9b88ae4186c9a988756a1..050ccc1ec294693e00065db4b02595781aa09d90 100644
--- a/tests/basic/oracle/new_array.res.oracle
+++ b/tests/basic/oracle/new_array.res.oracle
@@ -49,10 +49,8 @@ int glob(void)
 
 void Base::Ctor(struct Base const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Base::Ctor(struct Base const *this)
 {
@@ -66,11 +64,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void *A::new[](unsigned int size);
 
 void m_fn2(struct A *this);
@@ -109,10 +104,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void B::Ctor(struct B const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void *B::new[](unsigned int size)
 {
   void *__retres;
diff --git a/tests/basic/oracle/opt.res.oracle b/tests/basic/oracle/opt.res.oracle
index 08cda74676f4dbd8e1d999cb07db98dafa4c7de9..4b43bf3ece60b624066e8d9ce4c42fa1997b4649 100644
--- a/tests/basic/oracle/opt.res.oracle
+++ b/tests/basic/oracle/opt.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct option {
    int val ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "option",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/placement_new.res.oracle b/tests/basic/oracle/placement_new.res.oracle
index 29c6ca16dbc09a7158bd41c2359af117ef838dd7..e381dcf664a42d6c6da3f64f83dac79de09af1e0 100644
--- a/tests/basic/oracle/placement_new.res.oracle
+++ b/tests/basic/oracle/placement_new.res.oracle
@@ -1109,10 +1109,8 @@ int posix_memalign(void **memptr, size_t alignment, size_t size);
  */
 int mkstemp(char *templat);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void T::Ctor(struct T const *this)
 {
@@ -1125,11 +1123,10 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-int id;
+extern int id;
+
 void *U::new(size_t s, int x)
 {
   void *tmp;
diff --git a/tests/basic/oracle/pre_processed.res.oracle b/tests/basic/oracle/pre_processed.res.oracle
index 5a2462bb34fb53b905f5e0b774df9bcb32143bf3..b861598d4ef1b377c5f922e71c1db14d4b7c26a0 100644
--- a/tests/basic/oracle/pre_processed.res.oracle
+++ b/tests/basic/oracle/pre_processed.res.oracle
@@ -26,10 +26,8 @@ struct A;
 struct A {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this, int _x)
 {
diff --git a/tests/basic/oracle/ptr_array_decls.res.oracle b/tests/basic/oracle/ptr_array_decls.res.oracle
index b81974baace76487f555d643d858b1da425ee199..c230879b35de89527d5cde0e5cbaa3d95d068a13 100644
--- a/tests/basic/oracle/ptr_array_decls.res.oracle
+++ b/tests/basic/oracle/ptr_array_decls.res.oracle
@@ -26,10 +26,8 @@ struct S0 {
    int f0 ;
    int f1 ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "S0",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/ref_field.res.oracle b/tests/basic/oracle/ref_field.res.oracle
index 427d5f77b60d439001c876a28a350f1931c0a4f2..179038c61f78a3a81841028ac8fc6843baaf927e 100644
--- a/tests/basic/oracle/ref_field.res.oracle
+++ b/tests/basic/oracle/ref_field.res.oracle
@@ -30,10 +30,8 @@ struct T;
 struct T {
    int j ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(r); */
 void S::Ctor(struct S const *this, int *r)
@@ -54,10 +52,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(r); */
 void T::Ctor(struct T const *this, int *r)
diff --git a/tests/basic/oracle/sizeof.res.oracle b/tests/basic/oracle/sizeof.res.oracle
index a77e0e794df935e508ed6726f6ba9bab3ebfe427..387b3e23058e44173a02907cfc49914638c5ccb6 100644
--- a/tests/basic/oracle/sizeof.res.oracle
+++ b/tests/basic/oracle/sizeof.res.oracle
@@ -38,10 +38,8 @@ struct C {
 };
 void C::Ctor(struct C const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void C::Ctor(struct C const *this)
 {
diff --git a/tests/basic/oracle/static.res.oracle b/tests/basic/oracle/static.res.oracle
index d3fa880f31cde59eaea8b71c3c31342e44fbf9c3..5eba2f069abbe8dd89d92ebe53310e99a3f143ce 100644
--- a/tests/basic/oracle/static.res.oracle
+++ b/tests/basic/oracle/static.res.oracle
@@ -22,11 +22,10 @@ struct _frama_c_rtti_name_info_node {
    int number_of_base_classes ;
    struct _frama_c_vmt *pvmt ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-int volatile y;
+extern int volatile y;
+
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/static_1.res.oracle b/tests/basic/oracle/static_1.res.oracle
index 61de7cab154f418685b16be82e3de40f3948f626..277ce302ba255ff0f1f050dd352b4b4a9fbd6892 100644
--- a/tests/basic/oracle/static_1.res.oracle
+++ b/tests/basic/oracle/static_1.res.oracle
@@ -29,10 +29,8 @@ struct _frama_c_rtti_name_info_node {
    int number_of_base_classes ;
    struct _frama_c_vmt *pvmt ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 int cache;
 
 int get(void)
diff --git a/tests/basic/oracle/static_forward_decl.res.oracle b/tests/basic/oracle/static_forward_decl.res.oracle
index 3b75b0c1c41dcf2e3924c508d5503a15b43ce8a4..aee10a844f8a302f5818ba104ce65daf6902c48d 100644
--- a/tests/basic/oracle/static_forward_decl.res.oracle
+++ b/tests/basic/oracle/static_forward_decl.res.oracle
@@ -25,13 +25,12 @@ struct _frama_c_rtti_name_info_node {
 struct S {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 unsigned int f(struct S *this);
 
-unsigned int c;
+extern unsigned int c;
+
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "S",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/static_variable_bts1760.res.oracle b/tests/basic/oracle/static_variable_bts1760.res.oracle
index c926f0fcbec51838f2f590e336a429c722133b9a..2b2a1c497f29fc83b754450b1b98227298421621 100644
--- a/tests/basic/oracle/static_variable_bts1760.res.oracle
+++ b/tests/basic/oracle/static_variable_bts1760.res.oracle
@@ -32,10 +32,8 @@ void foo(void)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void bar(struct C *this);
 
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
diff --git a/tests/basic/oracle/switch_constexpr.res.oracle b/tests/basic/oracle/switch_constexpr.res.oracle
index e6c95afbfca96247efda0dc5afc558a563a4ec28..1cc545074c96f2daa12c439a74af1b810d772d03 100644
--- a/tests/basic/oracle/switch_constexpr.res.oracle
+++ b/tests/basic/oracle/switch_constexpr.res.oracle
@@ -26,10 +26,8 @@ struct A;
 struct A {
    int m ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this, _Bool b)
 {
diff --git a/tests/basic/oracle/template_inherits.res.oracle b/tests/basic/oracle/template_inherits.res.oracle
index 24b29b240fdb24a8b0f7de94e3c50f830f3f30a7..d5e746a80cb5a5e3f7c3f5694acb1aca30ad3da9 100644
--- a/tests/basic/oracle/template_inherits.res.oracle
+++ b/tests/basic/oracle/template_inherits.res.oracle
@@ -34,10 +34,8 @@ void free(void *ptr);
 
 void A<B>::Dtor(struct A<B> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void m_fn1(struct A<B> *this);
 
 /*@ requires \valid_read(this); */
@@ -48,11 +46,8 @@ void A<B>::Dtor(struct A<B> const *this)
 
 void B::Dtor(struct B const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void B::Dtor(struct B const *this)
 {
diff --git a/tests/basic/oracle/test008.res.oracle b/tests/basic/oracle/test008.res.oracle
index 4bedcb95858c278ff365523f89d4fb3a32c83cfc..f9477d69a315fcc9fc3e19d3a4bae9886eddee93 100644
--- a/tests/basic/oracle/test008.res.oracle
+++ b/tests/basic/oracle/test008.res.oracle
@@ -33,10 +33,8 @@ int f(int x)
   return __retres;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this, int a)
 {
diff --git a/tests/basic/oracle/union.res.oracle b/tests/basic/oracle/union.res.oracle
index f2ed737b7bae8c773a16ee8794f1e25c60c0afcf..f3246b5d17cac2cfae6ae92d20ff7aab1b930dc9 100644
--- a/tests/basic/oracle/union.res.oracle
+++ b/tests/basic/oracle/union.res.oracle
@@ -26,10 +26,8 @@ union foo {
    int i ;
    void *p ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 int as_int_pointer(union foo *this);
 
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
diff --git a/tests/basic/oracle/union3.res.oracle b/tests/basic/oracle/union3.res.oracle
index 55faf5097087d2967573a8cf085249d99a7c856b..983de1f3a119a389916e15c66f388605320a3d56 100644
--- a/tests/basic/oracle/union3.res.oracle
+++ b/tests/basic/oracle/union3.res.oracle
@@ -29,10 +29,8 @@ union anonymous_union_1 {
 struct foo {
    union anonymous_union_1 anonymous_2 ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "foo",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/basic/oracle/union_packed.res.oracle b/tests/basic/oracle/union_packed.res.oracle
index a171f5a52963f98d8d24ec4b95d2d68d1aeb98b2..f58957bc6f1692d4f5d00211350dcf1009cb1449 100644
--- a/tests/basic/oracle/union_packed.res.oracle
+++ b/tests/basic/oracle/union_packed.res.oracle
@@ -40,10 +40,8 @@ struct A {
 };
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct A nil(void);
 
 struct A one(void);
diff --git a/tests/basic/oracle/use_of_temps_bts1544.res.oracle b/tests/basic/oracle/use_of_temps_bts1544.res.oracle
index 101a4a136a8e76e78bc7cd8f26d735390f622afc..b5b021b3e2cfe270c9c21f1db31ac4efb0f6d95e 100644
--- a/tests/basic/oracle/use_of_temps_bts1544.res.oracle
+++ b/tests/basic/oracle/use_of_temps_bts1544.res.oracle
@@ -30,10 +30,8 @@ void cl::Ctor(struct cl const *this, struct cl const *__frama_c_arg_0);
 
 void cl::Dtor(struct cl const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \separated(this, __frama_c_arg_0);
     requires \valid_read(this);
     requires \valid_read(__frama_c_arg_0);
diff --git a/tests/basic/oracle/vd.res.oracle b/tests/basic/oracle/vd.res.oracle
index b6a0f0a5c6d614e4f40478c82e5df26e0d2e3d4c..21862dc232f18829d5d5a7962d75cf396ff5a9bf 100644
--- a/tests/basic/oracle/vd.res.oracle
+++ b/tests/basic/oracle/vd.res.oracle
@@ -28,10 +28,8 @@ struct A {
 };
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 int f(struct A *this)
 {
diff --git a/tests/basic/oracle/vla.res.oracle b/tests/basic/oracle/vla.res.oracle
index 2efa367b1f299cae1543b2d20fb23c282afc16d9..954627381bee555a2dde15ef81905ab7dff06a92 100644
--- a/tests/basic/oracle/vla.res.oracle
+++ b/tests/basic/oracle/vla.res.oracle
@@ -27,10 +27,8 @@ typedef long Paddr;
 struct A {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void m_fn1(struct A const *this, Paddr __frama_c_arg_0,
            unsigned int __frama_c_arg_1);
 
diff --git a/tests/bugs/oracle/issue11.res.oracle b/tests/bugs/oracle/issue11.res.oracle
index e42f07bc5e9e238635c2d2202163c7b411bf6180..36e99bc397c751da07b785a0c15db7abb7f93772 100644
--- a/tests/bugs/oracle/issue11.res.oracle
+++ b/tests/bugs/oracle/issue11.res.oracle
@@ -38,10 +38,8 @@ struct b<char> {
 };
 void b<void>::Ctor(struct b<void> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void b<void>::Ctor(struct b<void> const *this)
 {
@@ -55,10 +53,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void b<char>::Ctor(struct b<char> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void b<char>::Ctor(struct b<char> const *this)
 {
diff --git a/tests/bugs/oracle/issue23.res.oracle b/tests/bugs/oracle/issue23.res.oracle
index 4648dadf04088fda5cbde5edf8fd672077dcb197..9ec4dda33c86121ed0cde3979964ff1e9de1522d 100644
--- a/tests/bugs/oracle/issue23.res.oracle
+++ b/tests/bugs/oracle/issue23.res.oracle
@@ -30,11 +30,10 @@ struct _frama_c_rtti_name_info_node {
    int number_of_base_classes ;
    struct _frama_c_vmt *pvmt ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-int i;
+extern int i;
+
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "C",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/class/oracle/array_init.res.oracle b/tests/class/oracle/array_init.res.oracle
index c9c49aca536f429e4fb55935cca73d5ff5919d16..dc511d236cfdaad74414badedf4de5c2d8c944d8 100644
--- a/tests/class/oracle/array_init.res.oracle
+++ b/tests/class/oracle/array_init.res.oracle
@@ -29,10 +29,8 @@ struct A {
 };
 void A::Dtor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this, int _x, int _y)
 {
diff --git a/tests/class/oracle/array_object_bts1739.res.oracle b/tests/class/oracle/array_object_bts1739.res.oracle
index f6e7fb6ff7b85f5f8faf24c23050d6d32725b54c..9d1c8f4a500de8939be534735613416c93ab030b 100644
--- a/tests/class/oracle/array_object_bts1739.res.oracle
+++ b/tests/class/oracle/array_object_bts1739.res.oracle
@@ -28,10 +28,8 @@ struct vector {
 };
 void vector::Ctor(struct vector const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void vector::Ctor(struct vector const *this)
 {
diff --git a/tests/class/oracle/cast_op.res.oracle b/tests/class/oracle/cast_op.res.oracle
index 006bf33b7b9d89f4ec7735246fd2f887cce307db..137df2d8e18a61ea413a4e452ac2076a81c498e7 100644
--- a/tests/class/oracle/cast_op.res.oracle
+++ b/tests/class/oracle/cast_op.res.oracle
@@ -26,10 +26,8 @@ struct A;
 struct A {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this)
 {
diff --git a/tests/class/oracle/class_global.res.oracle b/tests/class/oracle/class_global.res.oracle
index f4c72920df2511623fa41657e2e94cfced7a8e79..32f22f75526a6201891dc3e5bf9191318fbd7e72 100644
--- a/tests/class/oracle/class_global.res.oracle
+++ b/tests/class/oracle/class_global.res.oracle
@@ -33,10 +33,8 @@ struct Foo {
 };
 void Bar::Dtor(struct Bar const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Bar::Ctor(struct Bar const *this, int x)
 {
@@ -57,10 +55,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void Foo::Dtor(struct Foo const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this)
 {
diff --git a/tests/class/oracle/cleanups.res.oracle b/tests/class/oracle/cleanups.res.oracle
index 391e59e914b00846d99bc4603842cfe99fe40e89..267c1e25bf559e03ffcea9c28b585c3d75a272fd 100644
--- a/tests/class/oracle/cleanups.res.oracle
+++ b/tests/class/oracle/cleanups.res.oracle
@@ -52,10 +52,8 @@ char *strdup(char const *__frama_c_arg_0);
 
 void StringRepository::Dtor(struct StringRepository const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void StringRepository::Ctor(struct StringRepository const *this,
                             char *support)
@@ -92,10 +90,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void String::Ctor(struct String const *this, char const *support)
 {
diff --git a/tests/class/oracle/constr.res.oracle b/tests/class/oracle/constr.res.oracle
index 9bc61b0334192fe4b29e80a61fb00cd2e90803d9..6f0a9e5aac3854c5c06012ea2a7b49c934291b63 100644
--- a/tests/class/oracle/constr.res.oracle
+++ b/tests/class/oracle/constr.res.oracle
@@ -30,10 +30,8 @@ struct Foo *operator=(struct Foo *this, struct Foo *__frama_c_arg_0);
 
 void Foo::Dtor(struct Foo const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this, int a)
 {
diff --git a/tests/class/oracle/default_arg.res.oracle b/tests/class/oracle/default_arg.res.oracle
index dfc620095bcbf32411ad63a104aa00e5302b18d1..4630019b53e2ac47274dcca453b8abb067082881 100644
--- a/tests/class/oracle/default_arg.res.oracle
+++ b/tests/class/oracle/default_arg.res.oracle
@@ -30,10 +30,8 @@ void Foo::Ctor(struct Foo const *this, struct Foo const *__frama_c_arg_0);
 
 void Foo::Dtor(struct Foo const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this)
 {
diff --git a/tests/class/oracle/default_const_bts1527.res.oracle b/tests/class/oracle/default_const_bts1527.res.oracle
index 07d201ba55d38e62a20d7d01bfa2c0f7f99f3099..abac4421f1056d3f8b589a91a2a126622af324c4 100644
--- a/tests/class/oracle/default_const_bts1527.res.oracle
+++ b/tests/class/oracle/default_const_bts1527.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Point2 {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Point2::Ctor(struct Point2 const *this)
 {
diff --git a/tests/class/oracle/destructor_custom_2004.res.oracle b/tests/class/oracle/destructor_custom_2004.res.oracle
index 455d75a1fe94bf0e582c9830ac97c5ece68bfd0e..b6bb6cb0011271136e05a0d3afa33635c1c46d0b 100644
--- a/tests/class/oracle/destructor_custom_2004.res.oracle
+++ b/tests/class/oracle/destructor_custom_2004.res.oracle
@@ -28,10 +28,8 @@ struct cls {
 };
 void cls::Ctor(struct cls const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void cls::Dtor(struct cls const *this)
 {
diff --git a/tests/class/oracle/diamond_inheritance.res.oracle b/tests/class/oracle/diamond_inheritance.res.oracle
index 9b8920ff9b9e03066a89faab4606242d9dd7e811..1f9553bb670e74c42ca7c5309325dbfe3dd398bb 100644
--- a/tests/class/oracle/diamond_inheritance.res.oracle
+++ b/tests/class/oracle/diamond_inheritance.res.oracle
@@ -341,10 +341,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
    .rtti_info = & _frama_c_rtti_name_info};
 void basic_stringbuf<char>::Dtor(struct basic_stringbuf<char> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void basic_stringbuf<char>::Ctor(struct basic_stringbuf<char> const *this,
                                  enum openmode mode)
@@ -384,7 +382,6 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
@@ -479,7 +476,6 @@ void basic_istringstream<char>::Dtor(struct basic_istringstream<char> const *thi
 
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[2];
@@ -597,7 +593,6 @@ struct _frama_c_vmt _frama_c_vmt_header =
    .rtti_info = & _frama_c_rtti_name_info};
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
@@ -694,7 +689,6 @@ void basic_ostringstream<char>::Dtor(struct basic_ostringstream<char> const *thi
 
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[2];
@@ -814,7 +808,6 @@ struct _frama_c_vmt _frama_c_vmt_header;
 
 struct _frama_c_vmt _frama_c_vmt_header_for_shift_2;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[3];
@@ -1002,7 +995,6 @@ struct _frama_c_vmt _frama_c_vmt_header;
 
 struct _frama_c_vmt _frama_c_vmt_header_for_shift_2;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[3];
diff --git a/tests/class/oracle/empty_class_bts1547.res.oracle b/tests/class/oracle/empty_class_bts1547.res.oracle
index a47c29216fa98d6f838bd20640f778e835d4b123..95b0c2cfb4390ebc91ed2de860b2c46a1cc57dfb 100644
--- a/tests/class/oracle/empty_class_bts1547.res.oracle
+++ b/tests/class/oracle/empty_class_bts1547.res.oracle
@@ -32,10 +32,8 @@ struct vector {
 };
 void allocator::Ctor(struct allocator const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void allocator::Ctor(struct allocator const *this)
 {
@@ -49,10 +47,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void vector::Ctor(struct vector const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void foo(struct vector *this);
 
 /*@ requires \valid_read(this); */
diff --git a/tests/class/oracle/explicit_destructor_bts1528.res.oracle b/tests/class/oracle/explicit_destructor_bts1528.res.oracle
index a27f1d959be7d000c5379df3ba3301dfd8faa525..38679d24dbd7254211835b786399188e78c2c22f 100644
--- a/tests/class/oracle/explicit_destructor_bts1528.res.oracle
+++ b/tests/class/oracle/explicit_destructor_bts1528.res.oracle
@@ -29,10 +29,8 @@ struct Point {
 void Point::Ctor(struct Point const *this,
                  struct Point const *__frama_c_arg_0);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Point::Dtor(struct Point const *this)
 {
diff --git a/tests/class/oracle/loop_local_var_bts1521.res.oracle b/tests/class/oracle/loop_local_var_bts1521.res.oracle
index aeafd8e6d103316a5ca8c2917800053168c60898..b581f8c078e005c7a11e81e96f382447b5a6745a 100644
--- a/tests/class/oracle/loop_local_var_bts1521.res.oracle
+++ b/tests/class/oracle/loop_local_var_bts1521.res.oracle
@@ -29,10 +29,8 @@ struct iterator {
 void iterator::Ctor(struct iterator const *this,
                     struct iterator const *__frama_c_arg_0);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \separated(this, __frama_c_arg_0);
     requires \valid_read(this);
     requires \valid_read(__frama_c_arg_0);
diff --git a/tests/class/oracle/names.res.oracle b/tests/class/oracle/names.res.oracle
index e4f99465d9a1224661023e2bb846cc5821174040..7d982ed858c0a67fbd2deb5bddc231c70cadd782 100644
--- a/tests/class/oracle/names.res.oracle
+++ b/tests/class/oracle/names.res.oracle
@@ -28,10 +28,8 @@ struct A {
 };
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 int g(struct A *this);
 
 /*@ requires \valid_read(this); */
diff --git a/tests/class/oracle/namespace.res.oracle b/tests/class/oracle/namespace.res.oracle
index f40c950272e19bad335586cce621a03f090bfa91..ad6ee89950ad3dad2aee6647810c63e79d8d11ba 100644
--- a/tests/class/oracle/namespace.res.oracle
+++ b/tests/class/oracle/namespace.res.oracle
@@ -28,19 +28,15 @@ struct A {
 struct B {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 int foo(struct B *this, struct A x)
 {
diff --git a/tests/class/oracle/ostream_bts1752.res.oracle b/tests/class/oracle/ostream_bts1752.res.oracle
index 7d1b3f1faeba98f695632a2ddf2241e4597a4e62..5544de75fa60efb2b4f5a25447df6fda72044683 100644
--- a/tests/class/oracle/ostream_bts1752.res.oracle
+++ b/tests/class/oracle/ostream_bts1752.res.oracle
@@ -32,10 +32,8 @@ void ostream::Ctor(struct ostream const *this);
 
 void ostream::Dtor(struct ostream const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 struct ostream operator<<(struct ostream *this, char const *__frama_c_arg_0);
 
diff --git a/tests/class/oracle/overload_const_bts1541.res.oracle b/tests/class/oracle/overload_const_bts1541.res.oracle
index ebb3aed5c23b9db15e59af217f84dfbe11ead29d..5dc8cd89dadf708edf28d8df2b803486b57f6c27 100644
--- a/tests/class/oracle/overload_const_bts1541.res.oracle
+++ b/tests/class/oracle/overload_const_bts1541.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct array {
    int elems[9] ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     ensures \valid(\result); */
 int *operator[](struct array *this, int i)
diff --git a/tests/class/oracle/rt_val.res.oracle b/tests/class/oracle/rt_val.res.oracle
index 492396530317b993279cf0ec0db5349c753eaed3..83acd73d682511ba433871c44c4ae47a87a471f7 100644
--- a/tests/class/oracle/rt_val.res.oracle
+++ b/tests/class/oracle/rt_val.res.oracle
@@ -28,10 +28,8 @@ struct Foo {
 };
 void Foo::Dtor(struct Foo const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo::Ctor(struct Foo const *this, int _x)
 {
diff --git a/tests/class/oracle/simple_classe.res.oracle b/tests/class/oracle/simple_classe.res.oracle
index 4c4157ca956b280e60167a90ea2ca7efa3b6741e..d234b99a4bb3ffc60fd4bd7bb417bc084173d7ae 100644
--- a/tests/class/oracle/simple_classe.res.oracle
+++ b/tests/class/oracle/simple_classe.res.oracle
@@ -30,10 +30,8 @@ struct Point {
 void Point::Ctor(struct Point const *this,
                  struct Point const *__frama_c_arg_0);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Point::Ctor(struct Point const *this)
 {
diff --git a/tests/class/oracle/simple_private.res.oracle b/tests/class/oracle/simple_private.res.oracle
index 51fdc7657aad7c2a50a549d881b23d52cdf3e070..5f62b8b6d468a2db3d2daa11318832c341d8cd02 100644
--- a/tests/class/oracle/simple_private.res.oracle
+++ b/tests/class/oracle/simple_private.res.oracle
@@ -26,10 +26,8 @@ struct A;
 struct A {
    int v ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ predicate P(struct A \this) = \this.v ≡ 0;
  */
 /*@ type invariant Pos(struct A \this) = \this.v ≥ 0;
diff --git a/tests/class/oracle/typedef_in_class_bts1540.res.oracle b/tests/class/oracle/typedef_in_class_bts1540.res.oracle
index 8fe42fb9f7aa96272c54e2b933eed4d7fd6f5019..f34add65dea0d2da30e87c5b6729eb396c5236d8 100644
--- a/tests/class/oracle/typedef_in_class_bts1540.res.oracle
+++ b/tests/class/oracle/typedef_in_class_bts1540.res.oracle
@@ -27,10 +27,8 @@ typedef int *reference;
 struct array {
    pointer x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     requires \valid(x); */
 void foo(struct array *this, reference x)
diff --git a/tests/class/oracle/used_before_decl_bts1526.res.oracle b/tests/class/oracle/used_before_decl_bts1526.res.oracle
index 21f738c9ffc57604bf8be7e2ba200cefb5358443..b164e8097f081193092f1b35f9e7d641ac628571 100644
--- a/tests/class/oracle/used_before_decl_bts1526.res.oracle
+++ b/tests/class/oracle/used_before_decl_bts1526.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct intQueue {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 int tryEnqueue(struct intQueue *this);
 
 /*@ requires \valid(this); */
diff --git a/tests/class/oracle/virtual_inheritance.res.oracle b/tests/class/oracle/virtual_inheritance.res.oracle
index 1c7b55ae6ba1d8f358540f139a68f5298f2ded6f..0b32e829b8cc49cd5bc028be068bd7ccace8114b 100644
--- a/tests/class/oracle/virtual_inheritance.res.oracle
+++ b/tests/class/oracle/virtual_inheritance.res.oracle
@@ -307,10 +307,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
    .rtti_info = & _frama_c_rtti_name_info};
 void basic_stringbuf<char>::Dtor(struct basic_stringbuf<char> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void basic_stringbuf<char>::Ctor(struct basic_stringbuf<char> const *this,
                                  enum openmode mode)
@@ -335,7 +333,6 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
@@ -420,7 +417,6 @@ void basic_istringstream<char>::Dtor(struct basic_istringstream<char> const *thi
 
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[2];
diff --git a/tests/class/oracle/virtual_inheritance_2077.res.oracle b/tests/class/oracle/virtual_inheritance_2077.res.oracle
index 92051dbeb3ec39a4641efd32c79199e8f44c4316..23c76028db32f7a6eea94d67147eacce0c90610d 100644
--- a/tests/class/oracle/virtual_inheritance_2077.res.oracle
+++ b/tests/class/oracle/virtual_inheritance_2077.res.oracle
@@ -45,20 +45,15 @@ struct D {
    struct _frama_c_vmt *pvmt ;
    struct A _frama_c__Z1A ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "B",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -66,7 +61,6 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
@@ -317,7 +311,6 @@ struct _frama_c_vmt _frama_c_vmt_header =
    .rtti_info = & _frama_c_rtti_name_info};
 struct _frama_c_vmt _frama_c_vmt_header;
 
-struct _frama_c_vmt _frama_c_vmt_header_for_shift_0;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
 struct _frama_c_rtti_name_info_content _frama_c_base_classes[3];
diff --git a/tests/exn/oracle/exn_typedef.res.oracle b/tests/exn/oracle/exn_typedef.res.oracle
index fac5691655a585866d99e7fb0e0fbe7abde69a41..826ea00154ed5343ebbdfde60653e0229b0b0d2d 100644
--- a/tests/exn/oracle/exn_typedef.res.oracle
+++ b/tests/exn/oracle/exn_typedef.res.oracle
@@ -68,10 +68,8 @@ struct __fc_exn_struct __fc_exn =
    .exn_kind = 0,
    .exn_obj = {.__fc_S_ZN9templatedE1BIiE = {._frama_c__ZN9templatedE1AIiE = {
                                              .x = 0}}}};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this, int _x)
 {
@@ -79,11 +77,8 @@ void A::Ctor(struct A const *this, int _x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void B::Ctor(struct B const *this, int _x)
 {
@@ -91,11 +86,8 @@ void B::Ctor(struct B const *this, int _x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void E::Ctor(struct E const *this, int _x)
 {
@@ -256,10 +248,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A<int>::Ctor(struct A<int> const *this, int _x)
 {
@@ -272,11 +262,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void B<int>::Ctor(struct B<int> const *this, int _x)
 {
diff --git a/tests/exn/oracle/inheritance_catch.res.oracle b/tests/exn/oracle/inheritance_catch.res.oracle
index 5e8f1e1c05d2451c0c4b897226021fd2a6e1f5ab..14d77c6150afdeeb7df3c25be4882b8fc31e1b3b 100644
--- a/tests/exn/oracle/inheritance_catch.res.oracle
+++ b/tests/exn/oracle/inheritance_catch.res.oracle
@@ -61,10 +61,8 @@ struct __fc_exn_struct __fc_exn =
    .exn_kind = 0,
    .exn_obj = {.__fc_S_Z1D = {._frama_c__Z1B = {._frama_c__Z1A = {.x = 0}},
                               ._frama_c__Z1C = {._frama_c__Z1A = {.x = 0}}}}};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this, int _x)
 {
@@ -77,11 +75,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void B::Ctor(struct B const *this, int _x)
 {
@@ -94,11 +89,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void C::Ctor(struct C const *this, int _x)
 {
@@ -111,11 +103,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[2];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void D::Ctor(struct D const *this, int _x)
 {
diff --git a/tests/pp/oracle/keyword.res.oracle b/tests/pp/oracle/keyword.res.oracle
index 868858814b70a11dd83f7b16dd131b319c4d3eaf..222c2e545d43646439dee0de1d9980c0e7bb426b 100644
--- a/tests/pp/oracle/keyword.res.oracle
+++ b/tests/pp/oracle/keyword.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct A {
    char *p ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/pp/oracle/sstruct.res.oracle b/tests/pp/oracle/sstruct.res.oracle
index 179cacdb2ecd518f6d145e976ed822d25ad8d665..d6ce36127d132fa3a4be5e6825c6a64ad01748e1 100644
--- a/tests/pp/oracle/sstruct.res.oracle
+++ b/tests/pp/oracle/sstruct.res.oracle
@@ -32,28 +32,22 @@ union tu {
    int z ;
    float f ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "tm",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "tc",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "tu",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/addrof_field.res.oracle b/tests/specs/oracle/addrof_field.res.oracle
index 4978169fde87aa54a635eea7b2dd8b52d443cd3f..1ae801fb6900835a58028b23855170d6d2ee070d 100644
--- a/tests/specs/oracle/addrof_field.res.oracle
+++ b/tests/specs/oracle/addrof_field.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct A {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/annot_in_class_bts1610.res.oracle b/tests/specs/oracle/annot_in_class_bts1610.res.oracle
index 9c0295e1707381b15d57bf103fe8d4907fed822c..6e7c559228413468c0254e5d378c34a420e8546f 100644
--- a/tests/specs/oracle/annot_in_class_bts1610.res.oracle
+++ b/tests/specs/oracle/annot_in_class_bts1610.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Queue {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "Queue",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/class.res.oracle b/tests/specs/oracle/class.res.oracle
index b8db25c78a8d24f84c78c90158d888fb6f2df37f..f7d3ae18740d67a23309cfc771e7536f489fee04 100644
--- a/tests/specs/oracle/class.res.oracle
+++ b/tests/specs/oracle/class.res.oracle
@@ -26,10 +26,8 @@ struct A {
    int x ;
    int y ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ predicate foo(struct A \this) ;
  */
 /*@ logic int bar(struct A \this) ;
diff --git a/tests/specs/oracle/class_name_as_type_bts_1511.res.oracle b/tests/specs/oracle/class_name_as_type_bts_1511.res.oracle
index fd1fd8c1e1c36545eb65be0cdee5560552308dab..b9b59c6566e831e177c80ddff3f2e1557302d896 100644
--- a/tests/specs/oracle/class_name_as_type_bts_1511.res.oracle
+++ b/tests/specs/oracle/class_name_as_type_bts_1511.res.oracle
@@ -26,10 +26,8 @@ struct Cl;
 struct Cl {
    int a ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@
 logic _Bool non0(struct Cl \this, struct Cl x) = (_Bool)(x.a ≢ 0? 1: 0);
  */
diff --git a/tests/specs/oracle/clean_local_env_bts1605.res.oracle b/tests/specs/oracle/clean_local_env_bts1605.res.oracle
index 87ac43a56463f6b208d3f579b87b5fa6ce3388c9..a3c834ce98d8b604b1f00231f3acf61ecc99dfe9 100644
--- a/tests/specs/oracle/clean_local_env_bts1605.res.oracle
+++ b/tests/specs/oracle/clean_local_env_bts1605.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Queue {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "Queue",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/contract_with_ref_bts1517.res.oracle b/tests/specs/oracle/contract_with_ref_bts1517.res.oracle
index 8a85a5e1a09d1b37fdbb237ebaa526bb7dc96d4c..24dd44cfbdd0f9a4bf258b1170b407d162b9f783 100644
--- a/tests/specs/oracle/contract_with_ref_bts1517.res.oracle
+++ b/tests/specs/oracle/contract_with_ref_bts1517.res.oracle
@@ -26,10 +26,8 @@ struct Point2;
 struct Point2 {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     requires \valid(p);
     requires p->x < 1000; */
diff --git a/tests/specs/oracle/external_logic_def_bts1512.res.oracle b/tests/specs/oracle/external_logic_def_bts1512.res.oracle
index 11630ae80860ffd5343c1d329deb899dc2acbce1..ff55471dd0d623fdf70d23df8ba40d12d4c90379 100644
--- a/tests/specs/oracle/external_logic_def_bts1512.res.oracle
+++ b/tests/specs/oracle/external_logic_def_bts1512.res.oracle
@@ -26,10 +26,8 @@ struct Cl;
 struct Cl {
    int a ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 _Bool non0(struct Cl *this, struct Cl x);
 
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
diff --git a/tests/specs/oracle/field_name_bts1513.res.oracle b/tests/specs/oracle/field_name_bts1513.res.oracle
index 0b568ad5f4f5c9560e0826d3b80786cdda268407..7345b2cc6b6af7b82cacb875c27df906a15ec4ed 100644
--- a/tests/specs/oracle/field_name_bts1513.res.oracle
+++ b/tests/specs/oracle/field_name_bts1513.res.oracle
@@ -26,10 +26,8 @@ struct Point2;
 struct Point2 {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \separated(this, p);
     requires \valid_read(this);
     requires \valid_read(p);
diff --git a/tests/specs/oracle/function_ptr.res.oracle b/tests/specs/oracle/function_ptr.res.oracle
index cedfe96d5d87aaa4d08d0b5b0dfcb09b85187153..3ad1470061fccc967b419ac3cc45dca951a827aa 100644
--- a/tests/specs/oracle/function_ptr.res.oracle
+++ b/tests/specs/oracle/function_ptr.res.oracle
@@ -26,10 +26,8 @@ struct A;
 struct A {
    void (*f)(void) ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void f1(void)
 {
   return;
diff --git a/tests/specs/oracle/global_or_class_annot.res.oracle b/tests/specs/oracle/global_or_class_annot.res.oracle
index 89fde1e98838a55014088df59766e28922156aa8..019d4d74bb0690dbea2b081a359123dc44c60859 100644
--- a/tests/specs/oracle/global_or_class_annot.res.oracle
+++ b/tests/specs/oracle/global_or_class_annot.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct S {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "S",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/inv.res.oracle b/tests/specs/oracle/inv.res.oracle
index f6586f22870293824b4afda372954abac86367bd..c0f8d875884951a1518e7178f447f2f1c8af2554 100644
--- a/tests/specs/oracle/inv.res.oracle
+++ b/tests/specs/oracle/inv.res.oracle
@@ -27,10 +27,8 @@ struct A {
 };
 /*@ type foo;
  */
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "A",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/logic_defs.res.oracle b/tests/specs/oracle/logic_defs.res.oracle
index a4d02f066441a970924d1051725c3fe3a04a87ee..dc97895fa268f5b487f23f1a1bccc9193f4ffda7 100644
--- a/tests/specs/oracle/logic_defs.res.oracle
+++ b/tests/specs/oracle/logic_defs.res.oracle
@@ -28,10 +28,8 @@ struct A {
 };
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this)
 {
diff --git a/tests/specs/oracle/logic_label.res.oracle b/tests/specs/oracle/logic_label.res.oracle
index 20a4eb23b180f86b0e382c82912c52c4f4d57cfa..3fd1a57c633ebbb7d8e9011979321976c3e12556 100644
--- a/tests/specs/oracle/logic_label.res.oracle
+++ b/tests/specs/oracle/logic_label.res.oracle
@@ -41,10 +41,8 @@ axiomatic a {
   }
 
 */
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     ensures foo(&\old(this)->x) ≡ foo(\at(&this->x,Pre));
  */
diff --git a/tests/specs/oracle/logic_member_function.res.oracle b/tests/specs/oracle/logic_member_function.res.oracle
index a17a4e33a8ca8ae9ede7e4fc06640dd3c0b865bb..68c1ceab7120db5fcc889144243969373f62bf0c 100644
--- a/tests/specs/oracle/logic_member_function.res.oracle
+++ b/tests/specs/oracle/logic_member_function.res.oracle
@@ -29,10 +29,8 @@ struct A {
 union U {
    int i ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ logic int V(struct A \this) = \this.val;
  */
 /*@ requires \valid_read(this); */
@@ -77,10 +75,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ predicate foo(union U \this) = \this.i ≡ 0;
 
 */
diff --git a/tests/specs/oracle/loop_inv_in_class_bts1543.res.oracle b/tests/specs/oracle/loop_inv_in_class_bts1543.res.oracle
index 1d4faff734edbed28912dbdd6fe3683a5cbfec16..1574008b0ca68cd0e10de69db36492adb75da849 100644
--- a/tests/specs/oracle/loop_inv_in_class_bts1543.res.oracle
+++ b/tests/specs/oracle/loop_inv_in_class_bts1543.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct int_array3 {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 void foo(struct int_array3 *this)
 {
diff --git a/tests/specs/oracle/multiple_decls.res.oracle b/tests/specs/oracle/multiple_decls.res.oracle
index d9827b0551fddee1bbd5365078e4f1e3417035d4..bf0e6c18e3fa98baa82523e7a79c64808b439890 100644
--- a/tests/specs/oracle/multiple_decls.res.oracle
+++ b/tests/specs/oracle/multiple_decls.res.oracle
@@ -30,10 +30,8 @@ struct Point {
 struct Queue {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void foo(struct Point *this);
 
 /*@ requires \valid(this); */
@@ -55,10 +53,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void pop(struct Queue *this);
 
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
diff --git a/tests/specs/oracle/new_with_ptr_fields_bts1613.res.oracle b/tests/specs/oracle/new_with_ptr_fields_bts1613.res.oracle
index aa0cf7b9650338601a9589e935bdb5b1d7915b9d..84a4899e4c4f71c0587881940ffaaba72ad9a506 100644
--- a/tests/specs/oracle/new_with_ptr_fields_bts1613.res.oracle
+++ b/tests/specs/oracle/new_with_ptr_fields_bts1613.res.oracle
@@ -31,10 +31,8 @@ void *malloc(unsigned int size);
 
 void node::Ctor(struct node const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void node::Ctor(struct node const *this)
 {
diff --git a/tests/specs/oracle/operator_definition_bts1508.res.oracle b/tests/specs/oracle/operator_definition_bts1508.res.oracle
index 370ba3c459a4a2c5362251fec637b0761bbbc620..8451e17b240ac76d59bfb899e0dc0cced768a06b 100644
--- a/tests/specs/oracle/operator_definition_bts1508.res.oracle
+++ b/tests/specs/oracle/operator_definition_bts1508.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Cl {
    int a ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "Cl",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/parenthesis-bts1509.res.oracle b/tests/specs/oracle/parenthesis-bts1509.res.oracle
index 2729d6b2a4451be50f8cc8f0f64696dcae25c89c..c24afaeb400118ac7693cf9273a4df906dae98a2 100644
--- a/tests/specs/oracle/parenthesis-bts1509.res.oracle
+++ b/tests/specs/oracle/parenthesis-bts1509.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Cl {
    int a ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "Cl",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/specs/oracle/result_bts1515.res.oracle b/tests/specs/oracle/result_bts1515.res.oracle
index b76cd5e8a57e91d3e81c2fc09f981088b9a04e78..c4b6f153275515df8bfef50b4ab6bb4c7cd8aae8 100644
--- a/tests/specs/oracle/result_bts1515.res.oracle
+++ b/tests/specs/oracle/result_bts1515.res.oracle
@@ -26,10 +26,8 @@ struct Point2;
 struct Point2 {
    
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     ensures \valid(\result);
     ensures *\result ≡ *\old(this);
diff --git a/tests/specs/oracle/this_in_spec_bts1534.res.oracle b/tests/specs/oracle/this_in_spec_bts1534.res.oracle
index aab705c2439601f733d97aa9463b179fc67d1806..cffe4027dc69049e02beddb45012122f88ed9692 100644
--- a/tests/specs/oracle/this_in_spec_bts1534.res.oracle
+++ b/tests/specs/oracle/this_in_spec_bts1534.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct foo {
    int a ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     assigns \result;
     assigns \result \from *this; */
diff --git a/tests/specs/oracle/typedef_acsl_2056.res.oracle b/tests/specs/oracle/typedef_acsl_2056.res.oracle
index 1d6f790ca320cf96840449a08daa79b95b445391..f16e4880940b795dc7ea719d15b8981606ab9a07 100644
--- a/tests/specs/oracle/typedef_acsl_2056.res.oracle
+++ b/tests/specs/oracle/typedef_acsl_2056.res.oracle
@@ -26,10 +26,8 @@ typedef int value_type;
 struct A {
    int val ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ logic value_type data(struct A \this) = (value_type)\this.val;
  */
 /*@ requires \valid(this);
diff --git a/tests/stl/oracle/stl_algorithm.res.oracle b/tests/stl/oracle/stl_algorithm.res.oracle
index cb1bcd15932e014f92ca3a84c003627cd395ff70..50bb0f11128dd75e256007dd587bc2f731213751 100644
--- a/tests/stl/oracle/stl_algorithm.res.oracle
+++ b/tests/stl/oracle/stl_algorithm.res.oracle
@@ -157,10 +157,8 @@ struct array<int,2> {
 };
 void initializer_list<int>::Dtor(struct initializer_list<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void initializer_list<int>::Ctor(struct initializer_list<int> const *this)
 {
@@ -203,11 +201,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -216,11 +211,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -229,81 +221,59 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__and",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ ensures \valid(\result); */
 type declval<int*&>(void);
 
@@ -323,165 +293,120 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_move_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -512,10 +437,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -546,10 +469,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void pair<int*,int*>::Dtor(struct pair<int*,int*> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(y);
     requires \valid_read(x);
@@ -2073,10 +1994,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(t); */
 void reference_wrapper<bool*,<abst>>::Ctor(struct reference_wrapper<bool*,<abst>> const *this,
@@ -2118,10 +2037,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void reference_wrapper<bool&,<abst>>::Dtor(struct reference_wrapper<bool&,<abst>> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(t); */
 void reference_wrapper<bool&,<abst>>::Ctor(struct reference_wrapper<bool&,<abst>> const *this,
@@ -2174,11 +2091,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "reference_wrapper",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -2188,10 +2102,8 @@ void __bool_binop<int,std::__less>::Ctor(struct __bool_binop<int,std::__less> co
 
 void __bool_binop<int,std::__less>::Dtor(struct __bool_binop<int,std::__less> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 _Bool operator()(struct __bool_binop<int,std::__less> const *this,
                  int const *x, int const *y);
 
@@ -2222,10 +2134,8 @@ void __bool_binop<int,std::__equal_to>::Ctor(struct __bool_binop<int,std::__equa
 
 void __bool_binop<int,std::__equal_to>::Dtor(struct __bool_binop<int,std::__equal_to> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 _Bool operator()(struct __bool_binop<int,std::__equal_to> const *this,
                  int const *x, int const *y);
 
@@ -2287,11 +2197,8 @@ void equal_to<int>::Ctor(struct equal_to<int> const *this,
 
 void equal_to<int>::Dtor(struct equal_to<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void equal_to<int>::Ctor(struct equal_to<int> const *this)
 {
@@ -2348,11 +2255,8 @@ void less<int>::Ctor(struct less<int> const *this);
 
 void less<int>::Dtor(struct less<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void less<int>::Ctor(struct less<int> const *this)
 {
@@ -2374,10 +2278,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void unary_negate<bool*,<abst>>::Dtor(struct unary_negate<bool*,<abst>> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(pred); */
 void unary_negate<bool*,<abst>>::Ctor(struct unary_negate<bool*,<abst>> const *this,
@@ -2414,10 +2316,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void unary_negate<std::reference_wrapper<bool&,<abst>>>::Dtor(struct unary_negate<std::reference_wrapper<bool&,<abst>>> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(pred); */
 void unary_negate<std::reference_wrapper<bool&,<abst>>>::Ctor(struct unary_negate<std::reference_wrapper<bool&,<abst>>> const *this,
@@ -2513,29 +2413,16 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "input_iterator_tag",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -2561,19 +2448,15 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "iterator_traits",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "iterator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -3088,10 +2971,8 @@ int *copy<int*,int*>(int *first, int *last, int *result)
   return result;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(l); */
 void array<int,5>::Ctor(struct array<int,5> const *this,
@@ -3221,10 +3102,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(l); */
 void array<int,2>::Ctor(struct array<int,2> const *this,
diff --git a/tests/stl/oracle/stl_atomic.res.oracle b/tests/stl/oracle/stl_atomic.res.oracle
index 8fdbaf405c90b9ad41d5704be0b4383487c4c4c3..a400d5bdd50990064bfc5128d3141cabe59efa5f 100644
--- a/tests/stl/oracle/stl_atomic.res.oracle
+++ b/tests/stl/oracle/stl_atomic.res.oracle
@@ -165,11 +165,8 @@ struct atomic_flag {
    _Bool __flag ;
 };
 typedef struct atomic_flag atomic_flag;
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -178,11 +175,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -191,39 +185,26 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -243,10 +224,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -275,10 +254,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct atomic<int*> const volatile *this);
 
@@ -432,10 +409,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<bool> const volatile *this);
 
@@ -630,10 +605,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<char> const volatile *this);
 
@@ -828,10 +801,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<signed char> const volatile *this);
 
@@ -1064,10 +1035,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<unsigned char> const volatile *this);
 
@@ -1301,10 +1270,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<short> const volatile *this);
 
@@ -1499,10 +1466,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<unsigned short> const volatile *this);
 
@@ -1738,10 +1703,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void __atomic<int>::Ctor(struct __atomic<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<int> const volatile *this);
 
@@ -1941,10 +1904,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<unsigned int> const volatile *this);
 
@@ -2178,10 +2139,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<long> const volatile *this);
 
@@ -2376,10 +2335,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<unsigned long> const volatile *this);
 
@@ -2613,10 +2570,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<long long> const volatile *this);
 
@@ -2835,10 +2790,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<unsigned long long> const volatile *this);
 
@@ -3072,10 +3025,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<char16_t> const volatile *this);
 
@@ -3308,10 +3259,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<char32_t> const volatile *this);
 
@@ -3542,10 +3491,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 _Bool is_lock_free(struct __atomic<wchar_t> const volatile *this);
 
@@ -3740,11 +3687,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<bool>::Ctor(struct atomic<bool> const *this, _Bool x)
 {
@@ -3752,11 +3696,8 @@ void atomic<bool>::Ctor(struct atomic<bool> const *this, _Bool x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<char>::Ctor(struct atomic<char> const *this, char x)
 {
@@ -3764,11 +3705,8 @@ void atomic<char>::Ctor(struct atomic<char> const *this, char x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<signed char>::Ctor(struct atomic<signed char> const *this,
                                signed char x)
@@ -3777,11 +3715,8 @@ void atomic<signed char>::Ctor(struct atomic<signed char> const *this,
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<unsigned char>::Ctor(struct atomic<unsigned char> const *this,
                                  unsigned char x)
@@ -3790,11 +3725,8 @@ void atomic<unsigned char>::Ctor(struct atomic<unsigned char> const *this,
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<short>::Ctor(struct atomic<short> const *this, short x)
 {
@@ -3802,11 +3734,8 @@ void atomic<short>::Ctor(struct atomic<short> const *this, short x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<unsigned short>::Ctor(struct atomic<unsigned short> const *this,
                                   unsigned short x)
@@ -3817,11 +3746,8 @@ void atomic<unsigned short>::Ctor(struct atomic<unsigned short> const *this,
 
 void atomic<int>::Ctor(struct atomic<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<int>::Ctor(struct atomic<int> const *this, int x)
 {
@@ -3836,11 +3762,8 @@ void atomic<int>::Ctor(struct atomic<int> const *this)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<unsigned int>::Ctor(struct atomic<unsigned int> const *this,
                                 unsigned int x)
@@ -3849,11 +3772,8 @@ void atomic<unsigned int>::Ctor(struct atomic<unsigned int> const *this,
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<long>::Ctor(struct atomic<long> const *this, long x)
 {
@@ -3861,11 +3781,8 @@ void atomic<long>::Ctor(struct atomic<long> const *this, long x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<unsigned long>::Ctor(struct atomic<unsigned long> const *this,
                                  unsigned long x)
@@ -3874,11 +3791,8 @@ void atomic<unsigned long>::Ctor(struct atomic<unsigned long> const *this,
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<long long>::Ctor(struct atomic<long long> const *this, int x)
 {
@@ -3887,11 +3801,8 @@ void atomic<long long>::Ctor(struct atomic<long long> const *this, int x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<unsigned long long>::Ctor(struct atomic<unsigned long long> const *this,
                                       unsigned long long x)
@@ -3900,11 +3811,8 @@ void atomic<unsigned long long>::Ctor(struct atomic<unsigned long long> const *t
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<char16_t>::Ctor(struct atomic<char16_t> const *this,
                             unsigned short x)
@@ -3913,11 +3821,8 @@ void atomic<char16_t>::Ctor(struct atomic<char16_t> const *this,
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<char32_t>::Ctor(struct atomic<char32_t> const *this,
                             unsigned int x)
@@ -3926,11 +3831,8 @@ void atomic<char32_t>::Ctor(struct atomic<char32_t> const *this,
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void atomic<wchar_t>::Ctor(struct atomic<wchar_t> const *this, int x)
 {
@@ -3938,10 +3840,8 @@ void atomic<wchar_t>::Ctor(struct atomic<wchar_t> const *this, int x)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 _Bool test_and_set(struct atomic_flag volatile *this,
                    memory_order __frama_c_arg_0);
diff --git a/tests/stl/oracle/stl_bool.res.oracle b/tests/stl/oracle/stl_bool.res.oracle
index 6bb2643b923b313847ea2c75dbef05c0b15e3aaf..7e211fabb5be160c9421110c90824735557d0997 100644
--- a/tests/stl/oracle/stl_bool.res.oracle
+++ b/tests/stl/oracle/stl_bool.res.oracle
@@ -72,11 +72,8 @@ struct bad_function_call;
 struct bad_function_call {
    struct exception _frama_c__ZN3stdE9exception ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -85,11 +82,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -98,39 +92,26 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -150,10 +131,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -1708,29 +1687,16 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "input_iterator_tag",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -1756,10 +1722,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "iterator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/stl/oracle/stl_functional.res.oracle b/tests/stl/oracle/stl_functional.res.oracle
index fd7d8e7118aa015352efd8c7bd6fd7eedd426fe6..611ac58f02113cd598b714a9f2ab0a63db7b3585 100644
--- a/tests/stl/oracle/stl_functional.res.oracle
+++ b/tests/stl/oracle/stl_functional.res.oracle
@@ -130,11 +130,8 @@ struct __fc_exn_struct __fc_exn =
    .exn_kind = 0,
    .exn_obj = {.__fc_S_ZN3stdE17bad_function_call = {._frama_c__ZN3stdE9exception = {
                                                      .pvmt = (struct _frama_c_vmt *)0}}}};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -143,11 +140,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -156,49 +150,33 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__or",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -214,106 +192,78 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -347,10 +297,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -1864,10 +1812,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
    .rtti_info = & _frama_c_rtti_name_info};
 void reference_wrapper<int*,<abst>>::Dtor(struct reference_wrapper<int*,<abst>> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(t); */
 void reference_wrapper<int*,<abst>>::Ctor(struct reference_wrapper<int*,<abst>> const *this,
@@ -1933,10 +1879,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(t); */
 void reference_wrapper<int>::Ctor(struct reference_wrapper<int> const *this,
@@ -1984,10 +1928,8 @@ void __binop<int,std::__minus>::Ctor(struct __binop<int,std::__minus> const *thi
 
 void __binop<int,std::__minus>::Dtor(struct __binop<int,std::__minus> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(y);
     requires \valid_read(x);
@@ -2031,10 +1973,8 @@ void __binop<int,std::__plus>::Ctor(struct __binop<int,std::__plus> const *this,
 
 void __binop<int,std::__plus>::Dtor(struct __binop<int,std::__plus> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(y);
     requires \valid_read(x);
@@ -2095,11 +2035,8 @@ void plus<int>::Ctor(struct plus<int> const *this,
 
 void plus<int>::Dtor(struct plus<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void plus<int>::Ctor(struct plus<int> const *this)
 {
@@ -2162,11 +2099,8 @@ void minus<int>::Ctor(struct minus<int> const *this,
 
 void minus<int>::Dtor(struct minus<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void minus<int>::Ctor(struct minus<int> const *this)
 {
@@ -2207,10 +2141,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void __bool_binop<int,std::__less>::Ctor(struct __bool_binop<int,std::__less> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 _Bool operator()(struct __bool_binop<int,std::__less> const *this,
                  int const *x, int const *y);
 
@@ -2251,11 +2183,8 @@ _Bool operator()(struct __bool_binop<int,std::__less> const *this,
 
 void less<int>::Ctor(struct less<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void less<int>::Ctor(struct less<int> const *this)
 {
@@ -2311,10 +2240,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void function<int&,<abst>>::Ctor(struct function<int&,<abst>> const *this);
 
diff --git a/tests/stl/oracle/stl_initializer_list.res.oracle b/tests/stl/oracle/stl_initializer_list.res.oracle
index c0862fdf37a69e727f256ed58b4d09b9308e0f14..82e325ab3df0dfb65034f9dad750538de12c0219 100644
--- a/tests/stl/oracle/stl_initializer_list.res.oracle
+++ b/tests/stl/oracle/stl_initializer_list.res.oracle
@@ -28,10 +28,8 @@ struct initializer_list<int> {
    int const *base ;
    size_t length ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void initializer_list<int>::Ctor(struct initializer_list<int> const *this);
 
diff --git a/tests/stl/oracle/stl_iterator.res.oracle b/tests/stl/oracle/stl_iterator.res.oracle
index 78567b1ae7b4333b03e22826238239c9ee7b6402..201b556cdd5740c6143c14c068deccdc038902f4 100644
--- a/tests/stl/oracle/stl_iterator.res.oracle
+++ b/tests/stl/oracle/stl_iterator.res.oracle
@@ -78,11 +78,8 @@ typedef struct reverse_iterator<int*> const_reverse_iterator;
 struct array<int,2> {
    int elems[2] ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -91,11 +88,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -104,39 +98,26 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -152,20 +133,15 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -173,10 +149,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void initializer_list<int>::Dtor(struct initializer_list<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void initializer_list<int>::Ctor(struct initializer_list<int> const *this)
 {
@@ -223,10 +197,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -255,29 +227,16 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "input_iterator_tag",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -303,19 +262,15 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "iterator_traits",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "iterator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -331,10 +286,8 @@ void iterator<std::random_access_iterator_tag,int,int,int*,int&>::Ctor
 void iterator<std::random_access_iterator_tag,int,int,int*,int&>::Dtor
 (struct iterator<std::random_access_iterator_tag,int,int,int*,int&> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void iterator<std::random_access_iterator_tag,int,int,int*,int&>::Ctor
 (struct iterator<std::random_access_iterator_tag,int,int,int*,int&> const *this)
@@ -370,11 +323,8 @@ void reverse_iterator<int*>::Ctor(struct reverse_iterator<int*> const *this,
 
 void reverse_iterator<int*>::Dtor(struct reverse_iterator<int*> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void reverse_iterator<int*>::Ctor(struct reverse_iterator<int*> const *this);
 
@@ -473,10 +423,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
 _Bool operator<<int*,int*>(struct reverse_iterator<int*> const *x,
                            struct reverse_iterator<int*> const *y);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(l); */
 void array<int,4>::Ctor(struct array<int,4> const *this,
@@ -611,10 +559,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(l); */
 void array<int,2>::Ctor(struct array<int,2> const *this,
diff --git a/tests/stl/oracle/stl_memory.res.oracle b/tests/stl/oracle/stl_memory.res.oracle
index da9ca32647d85b95609d72a9f4d3f0a651799315..736a2942967b432949d72c655453d076026a7f4b 100644
--- a/tests/stl/oracle/stl_memory.res.oracle
+++ b/tests/stl/oracle/stl_memory.res.oracle
@@ -129,11 +129,8 @@ void *malloc(unsigned int size);
 
 void free(void *ptr);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -142,11 +139,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -155,39 +149,26 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -203,94 +184,71 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_lvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -350,10 +308,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -1715,10 +1671,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 1,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "allocator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -1734,10 +1688,8 @@ struct default_delete<int> *operator=(struct default_delete<int> *this,
 
 void default_delete<int>::Dtor(struct default_delete<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void operator()(struct default_delete<int> const *this, int * const o)
 {
@@ -1805,10 +1757,8 @@ void default_delete<int[]>::Ctor(struct default_delete<int[]> const *this,
 struct default_delete<int[]> *operator=(struct default_delete<int[]> *this,
                                         struct default_delete<int[]> *__frama_c_arg_0);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void operator()(struct default_delete<int[]> const *this, int *ptr)
 {
@@ -1854,10 +1804,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void auto_ptr<int>::Ctor(struct auto_ptr<int> const *this, int *p)
 {
@@ -2037,10 +1985,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 7,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void unique_ptr<int,std::default_delete<int>>::Ctor(struct unique_ptr<int,std::default_delete<int>> const *this);
 
@@ -2145,10 +2091,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void unique_ptr<int[],std::default_delete<int[]>>::Ctor(struct unique_ptr<int[],std::default_delete<int[]>> const *this);
 
@@ -2301,10 +2245,8 @@ void swap<int,std::default_delete<int>>(struct unique_ptr<int,std::default_delet
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this);
 
 struct _frama_c_vmt _frama_c_vmt_header;
@@ -2331,10 +2273,8 @@ void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<void>::Ctor(struct shared_ptr<void> const *this)
 {
diff --git a/tests/stl/oracle/stl_shared_ptr_mistake10.res.oracle b/tests/stl/oracle/stl_shared_ptr_mistake10.res.oracle
index 4adbb86fb77dcb1e41d4ff3db69e1c6b31813007..3cc2c9554ff019aeae4bdf1c12f67dc7a1dc37fd 100644
--- a/tests/stl/oracle/stl_shared_ptr_mistake10.res.oracle
+++ b/tests/stl/oracle/stl_shared_ptr_mistake10.res.oracle
@@ -140,11 +140,8 @@ struct __fc_exn_struct __fc_exn =
    .exn_kind = 0,
    .exn_obj = {.__fc_S_ZN3stdE12bad_weak_ptr = {._frama_c__ZN3stdE9exception = {
                                                 .pvmt = (struct _frama_c_vmt *)0}}}};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -153,11 +150,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -166,53 +160,38 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ ensures \valid(\result); */
 type declval<Aircraft*>(void);
 
@@ -226,49 +205,36 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "pre_is_base_of2",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_base_of",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -299,10 +265,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -1711,19 +1675,15 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 1,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "allocator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<Aircraft>::Ctor(struct shared_ptr<Aircraft> const *this)
 {
@@ -2040,10 +2000,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 7,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void weak_ptr<Aircraft>::Ctor(struct weak_ptr<Aircraft> const *this)
 {
@@ -2192,10 +2150,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this);
 
 struct _frama_c_vmt _frama_c_vmt_header;
@@ -2277,10 +2233,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(__frama_c_arg_0); */
 void pass(struct shared_ptr<Aircraft> *__frama_c_arg_0)
 {
@@ -2292,10 +2246,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<void>::Ctor(struct shared_ptr<void> const *this)
 {
@@ -3234,10 +3186,8 @@ int posix_memalign(void **memptr, size_t alignment, size_t size);
  */
 int mkstemp(char *templat);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 void Fly(struct Aircraft *this)
 {
diff --git a/tests/stl/oracle/stl_shared_ptr_mistake5.res.oracle b/tests/stl/oracle/stl_shared_ptr_mistake5.res.oracle
index 4402c8aeace38b401b7dbb1c1b7f795ae5ec241a..c0857254f461744aaa0bca148a3ca7be5d9ff450 100644
--- a/tests/stl/oracle/stl_shared_ptr_mistake5.res.oracle
+++ b/tests/stl/oracle/stl_shared_ptr_mistake5.res.oracle
@@ -121,11 +121,8 @@ void *malloc(size_t size);
 
 void free(void *p);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -134,11 +131,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -147,53 +141,38 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ ensures \valid(\result); */
 type declval<Aircraft*>(void);
 
@@ -207,49 +186,36 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "pre_is_base_of2",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_base_of",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -280,10 +246,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -1692,19 +1656,15 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 1,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "allocator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<Aircraft>::Ctor(struct shared_ptr<Aircraft> const *this);
 
@@ -2002,10 +1962,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 7,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void weak_ptr<Aircraft>::Ctor(struct weak_ptr<Aircraft> const *this)
 {
@@ -2053,10 +2011,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this);
 
 struct _frama_c_vmt _frama_c_vmt_header;
@@ -2105,10 +2061,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(__frama_c_arg_0); */
 void pass(struct shared_ptr<Aircraft> *__frama_c_arg_0)
 {
@@ -2120,10 +2074,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<void>::Ctor(struct shared_ptr<void> const *this)
 {
@@ -3013,10 +2965,8 @@ int posix_memalign(void **memptr, size_t alignment, size_t size);
  */
 int mkstemp(char *templat);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 void Fly(struct Aircraft *this)
 {
diff --git a/tests/stl/oracle/stl_shared_ptr_mistake6.res.oracle b/tests/stl/oracle/stl_shared_ptr_mistake6.res.oracle
index 8784981af35674592d6b5c0686f87545ddda83b4..cfb3193f510e1dfcd1000751abf16455cc8d3cae 100644
--- a/tests/stl/oracle/stl_shared_ptr_mistake6.res.oracle
+++ b/tests/stl/oracle/stl_shared_ptr_mistake6.res.oracle
@@ -122,11 +122,8 @@ void *malloc(size_t size);
 
 void free(void *p);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -135,11 +132,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -148,53 +142,38 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ ensures \valid(\result); */
 type declval<Aircraft*>(void);
 
@@ -208,49 +187,36 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "pre_is_base_of2",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_base_of",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -281,10 +247,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -1693,19 +1657,15 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 1,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "allocator",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<Aircraft>::Ctor(struct shared_ptr<Aircraft> const *this);
 
@@ -2008,10 +1968,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 7,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void weak_ptr<Aircraft>::Ctor(struct weak_ptr<Aircraft> const *this)
 {
@@ -2059,10 +2017,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this);
 
 struct _frama_c_vmt _frama_c_vmt_header;
@@ -2111,10 +2067,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 2,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(__frama_c_arg_0); */
 void pass(struct shared_ptr<Aircraft> *__frama_c_arg_0)
 {
@@ -2126,10 +2080,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<void>::Ctor(struct shared_ptr<void> const *this)
 {
@@ -3019,10 +2971,8 @@ int posix_memalign(void **memptr, size_t alignment, size_t size);
  */
 int mkstemp(char *templat);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this); */
 void Fly(struct Aircraft *this)
 {
diff --git a/tests/stl/oracle/stl_system_error.res.oracle b/tests/stl/oracle/stl_system_error.res.oracle
index 5bb4c46b190b51b462f86657bde82efa6dbddc4f..14571f0dd136b1fc50612159134610a33a99731d 100644
--- a/tests/stl/oracle/stl_system_error.res.oracle
+++ b/tests/stl/oracle/stl_system_error.res.oracle
@@ -184,11 +184,8 @@ struct error_condition {
    int val_ ;
    struct error_category const *cat_ ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -197,11 +194,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -210,39 +204,26 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -2198,10 +2179,8 @@ int *fgetws(int * __restrict ws, int n, FILE * __restrict stream);
  */
 int wcscasecmp(int const *ws1, int const *ws2);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(c2);
     requires \valid(c1); */
 void assign(char_type *c1, char_type const *c2);
@@ -2209,10 +2188,8 @@ void assign(char_type *c1, char_type const *c2);
 /*@ requires \valid_read(a); */
 char_type const *find(char_type const *s, size_t n, char_type const *a);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(c2);
     requires \valid(c1); */
 void assign(char_type *c1, char_type const *c2);
@@ -2255,10 +2232,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -2287,10 +2262,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_vmt _frama_c_vmt_header;
 
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
@@ -2396,10 +2369,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
   {.table = _frama_c_vmt,
    .table_size = 7,
    .rtti_info = & _frama_c_rtti_name_info};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this);
 
 struct _frama_c_vmt _frama_c_vmt_header;
@@ -2426,10 +2397,8 @@ void bad_weak_ptr::Dtor(struct bad_weak_ptr const *this)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void shared_ptr<void>::Ctor(struct shared_ptr<void> const *this)
 {
@@ -3110,10 +3079,8 @@ struct error_category const *generic_category(void);
 /*@ ensures \valid_read(\result); */
 struct error_category const *system_category(void);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void error_code::Ctor(struct error_code const *this);
 
@@ -3243,10 +3210,8 @@ struct _frama_c_vmt _frama_c_vmt_header =
     requires \valid_read(lhs); */
 _Bool operator<(struct error_code const *lhs, struct error_code const *rhs);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void error_condition::Ctor(struct error_condition const *this);
 
@@ -3281,11 +3246,8 @@ _Bool conversion(bool)(struct error_condition const *this);
 _Bool operator<(struct error_condition const *lhs,
                 struct error_condition const *rhs);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(rhs);
     requires \valid_read(lhs); */
 _Bool operator==(struct error_code const *lhs, struct error_code const *rhs);
diff --git a/tests/stl/oracle/stl_typeinfo.res.oracle b/tests/stl/oracle/stl_typeinfo.res.oracle
index 83430930b7cfd151960b992b302f821f1e5258ea..bad0b5e32205a28ad3e5d4064cf99f841f881b76 100644
--- a/tests/stl/oracle/stl_typeinfo.res.oracle
+++ b/tests/stl/oracle/stl_typeinfo.res.oracle
@@ -1689,10 +1689,8 @@ void __si_class_type_info::Dtor(struct __si_class_type_info const *this)
   return;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void __vmi_class_type_info::Dtor(struct __vmi_class_type_info const *this);
 
 struct _frama_c_vmt _frama_c_vmt_header;
diff --git a/tests/stl/oracle/stl_utility.res.oracle b/tests/stl/oracle/stl_utility.res.oracle
index 2b79ae2cd02f09ea67f0031741708f01dba38dad..490681e8e68366c761c814632318563dde331f70 100644
--- a/tests/stl/oracle/stl_utility.res.oracle
+++ b/tests/stl/oracle/stl_utility.res.oracle
@@ -81,11 +81,8 @@ typedef type elt_type;
 struct S {
    int x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,0> const *this);
 
@@ -94,11 +91,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-_Bool const value;
 /*@ requires \valid_read(this); */
 value_type value_type)(struct integral_constant<bool,1> const *this);
 
@@ -107,126 +101,94 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__boolean",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "__and",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "_is_void",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "add_rvalue_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ ensures \valid(\result); */
 type declval<int&&>(void);
 
@@ -261,559 +223,400 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_default_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_default_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_copy_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_move_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_move_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_move_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_move_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_move_constructible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_nothrow_assignable",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "is_convertible",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "remove_reference",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "enable_if",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "conditional",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
@@ -903,10 +706,8 @@ void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this);
 
 void piecewise_construct_t::Dtor(struct piecewise_construct_t const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void piecewise_construct_t::Ctor(struct piecewise_construct_t const *this)
 {
@@ -935,10 +736,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(y);
     requires \valid(x); */
@@ -964,10 +763,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void pair<int,bool>::Dtor(struct pair<int,bool> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid_read(y);
     requires \valid_read(x);
@@ -1010,10 +807,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void pair<int,double>::Ctor(struct pair<int,double> const *this)
 {
@@ -1069,28 +864,22 @@ struct pair<int,bool> make_pair<int&,bool>(int *x, _Bool *y)
   return __fc_tmp_1;
 }
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "tuple_element",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "tuple_element",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(p);
     ensures \valid(\result); */
 elt_type *get(type *p)
@@ -1113,10 +902,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(p);
     ensures \valid(\result); */
 elt_type *get(type *p)
@@ -1165,10 +952,8 @@ type const *get<0,int,double>(struct pair<int,double> const *p);
     ensures \valid_read(\result); */
 type const *get<1,int,double>(struct pair<int,double> const *p);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void S::Ctor(struct S const *this, int y)
 {
diff --git a/tests/template/oracle/17_4_11.res.oracle b/tests/template/oracle/17_4_11.res.oracle
index 64c3e1cce89d377215e8cc3f5f24fe1681092ec1..239ab3eacce4d1a2ff3581f6200fd1047659ce50 100644
--- a/tests/template/oracle/17_4_11.res.oracle
+++ b/tests/template/oracle/17_4_11.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Foo<int> {
    int *x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo<int>::Ctor(struct Foo<int> const *this, int *_x)
 {
diff --git a/tests/template/oracle/class_in_template.res.oracle b/tests/template/oracle/class_in_template.res.oracle
index 69518e0dc436f7a9f1324915be5a9e0bee288224..42710674e014c8494d9a04b9e3bd4645e8449e97 100644
--- a/tests/template/oracle/class_in_template.res.oracle
+++ b/tests/template/oracle/class_in_template.res.oracle
@@ -42,10 +42,8 @@ struct basic_ostream<char> {
 };
 void ios_base::Ctor(struct ios_base const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 int const bad_bit = 1;
 /*@ requires \valid_read(this); */
 void ios_base::Ctor(struct ios_base const *this)
@@ -58,11 +56,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void basic_ios<char>::Ctor(struct basic_ios<char> const *this)
 {
@@ -106,13 +101,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void basic_ostream<char>::Ctor(struct basic_ostream<char> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_rtti_name_info_content _frama_c_base_classes[1];
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this);
     requires \valid(__os); */
 void sentry::Ctor(struct sentry const *this, struct basic_ostream<char> *__os);
diff --git a/tests/template/oracle/fwd_decl.res.oracle b/tests/template/oracle/fwd_decl.res.oracle
index 44efca72d9b588adabba69a502d798a7d2313b1a..ae2c1c4e38b8c9491c8ea99f86092e852a05185a 100644
--- a/tests/template/oracle/fwd_decl.res.oracle
+++ b/tests/template/oracle/fwd_decl.res.oracle
@@ -33,10 +33,8 @@ struct A *id<A>(struct A *x)
 
 void A::Ctor(struct A const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void A::Ctor(struct A const *this)
 {
diff --git a/tests/template/oracle/fwd_decl2.res.oracle b/tests/template/oracle/fwd_decl2.res.oracle
index 9ddc45784f9f8c6aa02683daa2cc34acf8a033a5..af36566392e72c573652e48fa52a50a63a997784 100644
--- a/tests/template/oracle/fwd_decl2.res.oracle
+++ b/tests/template/oracle/fwd_decl2.res.oracle
@@ -30,10 +30,8 @@ struct bar {
    int y ;
    int z ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void foo<bar>::Ctor(struct foo<bar> const *this, struct bar *_x)
 {
@@ -57,10 +55,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void bar::Ctor(struct bar const *this)
 {
diff --git a/tests/template/oracle/global_var_instantiation_bts1552.res.oracle b/tests/template/oracle/global_var_instantiation_bts1552.res.oracle
index 7f9b15898a517ed368bfe185d93e78954dd4020d..f89be3327ce846f13289537f84be7d37b0d04bf7 100644
--- a/tests/template/oracle/global_var_instantiation_bts1552.res.oracle
+++ b/tests/template/oracle/global_var_instantiation_bts1552.res.oracle
@@ -27,10 +27,8 @@ struct Stack<5> {
 };
 void Stack<5>::Ctor(struct Stack<5> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Stack<5>::Ctor(struct Stack<5> const *this)
 {
diff --git a/tests/template/oracle/inner_class.res.oracle b/tests/template/oracle/inner_class.res.oracle
index f8041b21f4daa564449a86e54966a0a16cab8ee6..12ebc41269a1c809600723a2981e2ae33ec1b941 100644
--- a/tests/template/oracle/inner_class.res.oracle
+++ b/tests/template/oracle/inner_class.res.oracle
@@ -35,10 +35,8 @@ struct A<1> {
 };
 void A<1>::Ctor(struct A<1> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 void anonymous_class_1::Ctor(struct anonymous_class_1 const *this);
 
 void anonymous_class_2::Ctor(struct anonymous_class_2 const *this);
diff --git a/tests/template/oracle/logic_fct.res.oracle b/tests/template/oracle/logic_fct.res.oracle
index 997c030998dbb76f06ddc928c75a44372e9b8e12..c2fd627da6abd0c2f35f9e447fd1200a0367fcb9 100644
--- a/tests/template/oracle/logic_fct.res.oracle
+++ b/tests/template/oracle/logic_fct.res.oracle
@@ -28,10 +28,8 @@ struct Stack<6> {
 };
 void Stack<6>::Ctor(struct Stack<6> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ logic ℤ Size(struct Stack<6> \this) = \this.sz;
  */
 /*@
diff --git a/tests/template/oracle/namespace.res.oracle b/tests/template/oracle/namespace.res.oracle
index 1f6df20d2c222e0bd4b6f260bba4788b3b9206ad..149ca803af6b35e225826cfc05d1a7a5eb429b56 100644
--- a/tests/template/oracle/namespace.res.oracle
+++ b/tests/template/oracle/namespace.res.oracle
@@ -31,10 +31,8 @@ struct baz {
 };
 void bar<int>::Ctor(struct bar<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void bar<int>::Ctor(struct bar<int> const *this)
 {
@@ -48,10 +46,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void baz::Ctor(struct baz const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void baz::Ctor(struct baz const *this)
 {
diff --git a/tests/template/oracle/template_autofriend.res.oracle b/tests/template/oracle/template_autofriend.res.oracle
index f19ec8d8b097f008f4297907ba85fa8f9de0dcfe..97c419bcb4c948e829c3d546e7d15d8c428afe04 100644
--- a/tests/template/oracle/template_autofriend.res.oracle
+++ b/tests/template/oracle/template_autofriend.res.oracle
@@ -33,10 +33,8 @@ struct b<a::e> {
 };
 void b<void>::Ctor(struct b<void> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void b<void>::Ctor(struct b<void> const *this)
 {
@@ -50,10 +48,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void b<int>::Ctor(struct b<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void b<int>::Ctor(struct b<int> const *this)
 {
@@ -67,10 +63,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void b<a::e>::Ctor(struct b<a::e> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void b<a::e>::Ctor(struct b<a::e> const *this)
 {
diff --git a/tests/template/oracle/template_impl_arg.res.oracle b/tests/template/oracle/template_impl_arg.res.oracle
index 9b0414cfe07b767b35632acfa8c34cbfba812edc..6ec78bcda749f16639cfc6c0431dcc08ba8f127b 100644
--- a/tests/template/oracle/template_impl_arg.res.oracle
+++ b/tests/template/oracle/template_impl_arg.res.oracle
@@ -25,10 +25,8 @@ struct _frama_c_rtti_name_info_node {
 struct Foo<int> {
    int *x ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo<int>::Ctor(struct Foo<int> const *this, int *_x)
 {
diff --git a/tests/template/oracle/template_of_template.res.oracle b/tests/template/oracle/template_of_template.res.oracle
index 2280a71c969521246ca33304fab8a484f1d9b03f..928eb5d69218b601253d1c614c1a98f176c3bcae 100644
--- a/tests/template/oracle/template_of_template.res.oracle
+++ b/tests/template/oracle/template_of_template.res.oracle
@@ -30,10 +30,8 @@ struct e<a::c<a::b<char>>> {
 };
 void e<void>::Ctor(struct e<void> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void e<void>::Ctor(struct e<void> const *this)
 {
@@ -47,10 +45,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void e<a::c<a::b<char>>>::Ctor(struct e<a::c<a::b<char>>> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void e<a::c<a::b<char>>>::Ctor(struct e<a::c<a::b<char>>> const *this)
 {
diff --git a/tests/template/oracle/template_of_template2.res.oracle b/tests/template/oracle/template_of_template2.res.oracle
index 350c877920675ee7a97ea0464f899b16b8d98f1c..87e90021fe960b5aafdcbd76b6cde6d1c4709a25 100644
--- a/tests/template/oracle/template_of_template2.res.oracle
+++ b/tests/template/oracle/template_of_template2.res.oracle
@@ -30,10 +30,8 @@ struct c<char> {
 };
 void c<void>::Ctor(struct c<void> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void c<void>::Ctor(struct c<void> const *this)
 {
@@ -47,10 +45,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .pvmt = (struct _frama_c_vmt *)0};
 void c<char>::Ctor(struct c<char> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void c<char>::Ctor(struct c<char> const *this)
 {
diff --git a/tests/template/oracle/template_spec_bts1551.res.oracle b/tests/template/oracle/template_spec_bts1551.res.oracle
index 97040002303a71b57dda6ca2efe393db18ac8966..cf19f74e2b714215ba93d6463d1450ec774b51fd 100644
--- a/tests/template/oracle/template_spec_bts1551.res.oracle
+++ b/tests/template/oracle/template_spec_bts1551.res.oracle
@@ -27,10 +27,8 @@ struct array<5> {
 };
 void array<5>::Ctor(struct array<5> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid(this);
     assigns \nothing; */
 void foo(struct array<5> *this);
diff --git a/tests/template/oracle/template_variadic.res.oracle b/tests/template/oracle/template_variadic.res.oracle
index 76cef059303ddaae9861c8e140b76d37a7bd3509..9ead17fa2cccff9c5a7fcd80c846345dd5b4a497 100644
--- a/tests/template/oracle/template_variadic.res.oracle
+++ b/tests/template/oracle/template_variadic.res.oracle
@@ -29,10 +29,8 @@ typedef struct Tuple<Pair<int,unsigned int>,Pair<signed char,unsigned char>> typ
 void Tuple<Pair<int,unsigned int>,Pair<signed char,unsigned char>>::Ctor
 (struct Tuple<Pair<int,unsigned int>,Pair<signed char,unsigned char>> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Tuple<Pair<int,unsigned int>,Pair<signed char,unsigned char>>::Ctor
 (struct Tuple<Pair<int,unsigned int>,Pair<signed char,unsigned char>> const *this)
@@ -50,12 +48,8 @@ struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
    .number_of_base_classes = 0,
    .pvmt = (struct _frama_c_vmt *)0};
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-struct _frama_c_vmt _frama_c_vmt_header;
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "zip",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/template/oracle/typedef_bts1531.res.oracle b/tests/template/oracle/typedef_bts1531.res.oracle
index 6645362a4c61192e9edee8eccd08314899c9a547..7b649c0384d796e092e87b7736cac13583f4d58a 100644
--- a/tests/template/oracle/typedef_bts1531.res.oracle
+++ b/tests/template/oracle/typedef_bts1531.res.oracle
@@ -23,10 +23,8 @@ struct _frama_c_rtti_name_info_node {
    struct _frama_c_vmt *pvmt ;
 };
 typedef int bar;
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
   {.name = "foo",
    .base_classes = (struct _frama_c_rtti_name_info_content *)0,
diff --git a/tests/template/oracle/uninitialized_constants.res.oracle b/tests/template/oracle/uninitialized_constants.res.oracle
index ea27e230268221e5af816f9275fac78d7c04ee4d..ce08f075b28d179c5c8f2fabbbbdd19ac861eda9 100644
--- a/tests/template/oracle/uninitialized_constants.res.oracle
+++ b/tests/template/oracle/uninitialized_constants.res.oracle
@@ -22,12 +22,10 @@ struct _frama_c_rtti_name_info_node {
    int number_of_base_classes ;
    struct _frama_c_vmt *pvmt ;
 };
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
-int const __min;
-int const __max;
+extern int const __min;
+
 _Bool const _is_signed = (_Bool)1;
 int const __digits = 10;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info =
diff --git a/tests/template/oracle/using_typedef.res.oracle b/tests/template/oracle/using_typedef.res.oracle
index 4f4082e4e6a529091b3dbe84ba4c90771572bae0..48acf224ecc3a4d9928c74db53a3915016be038c 100644
--- a/tests/template/oracle/using_typedef.res.oracle
+++ b/tests/template/oracle/using_typedef.res.oracle
@@ -27,10 +27,8 @@ struct Foo<int> {
 };
 void Foo<int>::Dtor(struct Foo<int> const *this);
 
-struct _frama_c_vmt _frama_c_vmt_header;
 struct _frama_c_rtti_name_info_node _frama_c_rtti_name_info;
 
-struct _frama_c_vmt_content _frama_c_vmt[1];
 /*@ requires \valid_read(this); */
 void Foo<int>::Ctor(struct Foo<int> const *this, int _x)
 {
diff --git a/tests/val_analysis/oracle/annot.res.oracle b/tests/val_analysis/oracle/annot.res.oracle
index 0acf7c16b37e7e3868baaa8575be70e73e27e8cb..93b167c571e619c939a2c42c2cb15def2d59ad12 100644
--- a/tests/val_analysis/oracle/annot.res.oracle
+++ b/tests/val_analysis/oracle/annot.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] tests/val_analysis/annot.cc:9: 
   cannot evaluate ACSL term, unsupported ACSL construct: logic function foo
 [eva:alarm] tests/val_analysis/annot.cc:9: Warning: 
diff --git a/tests/val_analysis/oracle/cast_op.res.oracle b/tests/val_analysis/oracle/cast_op.res.oracle
index f33df3a1e99737a4cf5f2d29dd173ee55908e185..3ff20ab00101edeede7ebc53caf70a60c8de63d9 100644
--- a/tests/val_analysis/oracle/cast_op.res.oracle
+++ b/tests/val_analysis/oracle/cast_op.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function A::Ctor:
diff --git a/tests/val_analysis/oracle/comment.res.oracle b/tests/val_analysis/oracle/comment.res.oracle
index c29fd96e58baa79a2ff29204b5cf14443b3216b0..660696e56446597c1ceb02882b42520cb7c1b787 100644
--- a/tests/val_analysis/oracle/comment.res.oracle
+++ b/tests/val_analysis/oracle/comment.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "Point" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva:alarm] tests/val_analysis/comment.cc:24: Warning: 
   function move_y: precondition dy ≢ 0 got status invalid.
 [eva] done for function main
diff --git a/tests/val_analysis/oracle/copy_arg.res.oracle b/tests/val_analysis/oracle/copy_arg.res.oracle
index 93d6e18c21735ad221c906320441518cd4627eba..220a43bcb1d6fe2868ab1fdb8cfe1c5380a6340a 100644
--- a/tests/val_analysis/oracle/copy_arg.res.oracle
+++ b/tests/val_analysis/oracle/copy_arg.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "Foo" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function Foo::Ctor:
diff --git a/tests/val_analysis/oracle/empty_class.res.oracle b/tests/val_analysis/oracle/empty_class.res.oracle
index dedfca613e1155e66277012f97e7ae73ce9f355b..64c7cf49ac7a2a9e23c40d88b393ed343ee5c9f4 100644
--- a/tests/val_analysis/oracle/empty_class.res.oracle
+++ b/tests/val_analysis/oracle/empty_class.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "foo" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function cat:
diff --git a/tests/val_analysis/oracle/logic_def.res.oracle b/tests/val_analysis/oracle/logic_def.res.oracle
index 736d44e4048e68a6dadb7150f6f80e88148d99a8..5b03cc2d2b5c678321177ae08b8c700fa9138985 100644
--- a/tests/val_analysis/oracle/logic_def.res.oracle
+++ b/tests/val_analysis/oracle/logic_def.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "X" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function X::Ctor:
diff --git a/tests/val_analysis/oracle/namespace.res.oracle b/tests/val_analysis/oracle/namespace.res.oracle
index 8a2b6b8d7b1ea3c72e4dbcc7a6c8f1c47e7295c4..82ae6258704fe102cfbf730bbe29284d0b52cfe0 100644
--- a/tests/val_analysis/oracle/namespace.res.oracle
+++ b/tests/val_analysis/oracle/namespace.res.oracle
@@ -4,16 +4,12 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "B" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function B::Ctor:
diff --git a/tests/val_analysis/oracle/nested.res.oracle b/tests/val_analysis/oracle/nested.res.oracle
index 572ab063f5bd92b89c483d52dacd0b82ce47a0ce..c2139392626017fd3b74769602306ebb7a4ca6a6 100644
--- a/tests/val_analysis/oracle/nested.res.oracle
+++ b/tests/val_analysis/oracle/nested.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function anonymous_class_1::Ctor:
diff --git a/tests/val_analysis/oracle/out_def.res.oracle b/tests/val_analysis/oracle/out_def.res.oracle
index 5d7e31910e70610b757d25e104791d43c210f8f8..b00ae34cfdf08c072b86b391dd23cf47d5d31f3f 100644
--- a/tests/val_analysis/oracle/out_def.res.oracle
+++ b/tests/val_analysis/oracle/out_def.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function foo:
diff --git a/tests/val_analysis/oracle/overload.res.oracle b/tests/val_analysis/oracle/overload.res.oracle
index b9bb2176faa5451aedc3c667cc772edcdeb2e684..e594e52de93551585331121e78c7e6db38d703d0 100644
--- a/tests/val_analysis/oracle/overload.res.oracle
+++ b/tests/val_analysis/oracle/overload.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function foo:
diff --git a/tests/val_analysis/oracle/prune.res.oracle b/tests/val_analysis/oracle/prune.res.oracle
index b0b891e5a85360764ddf42cdda61f6b996306201..2e91114ce6f21a9aee368b75395c52d719665884 100644
--- a/tests/val_analysis/oracle/prune.res.oracle
+++ b/tests/val_analysis/oracle/prune.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function A::Ctor:
diff --git a/tests/val_analysis/oracle/ptr.res.oracle b/tests/val_analysis/oracle/ptr.res.oracle
index 492bbcf95fea85619ad3baf289b0fd0e4201145a..d9ebebbdb5ccdcdf57e5298f42f483ea25c8ade0 100644
--- a/tests/val_analysis/oracle/ptr.res.oracle
+++ b/tests/val_analysis/oracle/ptr.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
   x ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/val_analysis/oracle/qualified.res.oracle b/tests/val_analysis/oracle/qualified.res.oracle
index 06d03bcb5e373b339722f7122391d9dcbc6386ec..6bb3ff0f2d4192c63b5bb2f56c8da1762cfc7163 100644
--- a/tests/val_analysis/oracle/qualified.res.oracle
+++ b/tests/val_analysis/oracle/qualified.res.oracle
@@ -4,16 +4,12 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "foo" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function A::Dtor:
diff --git a/tests/val_analysis/oracle/result.res.oracle b/tests/val_analysis/oracle/result.res.oracle
index cd0b2ef0be069b8cffd4c9730d06776110401873..3b23f6ed4e6a82458c2a697f5f940cc5022c3ae0 100644
--- a/tests/val_analysis/oracle/result.res.oracle
+++ b/tests/val_analysis/oracle/result.res.oracle
@@ -4,11 +4,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva:alarm] tests/val_analysis/result.cc:7: Warning: 
   function f, behavior default: postcondition got status invalid.
 [eva] done for function main
diff --git a/tests/val_analysis/oracle/union.res.oracle b/tests/val_analysis/oracle/union.res.oracle
index 2f559a0f2af5e4f0eaf2e4c54338ddeb267006f9..870e07c9b0364c4da306474a4a47b9c519bc0adb 100644
--- a/tests/val_analysis/oracle/union.res.oracle
+++ b/tests/val_analysis/oracle/union.res.oracle
@@ -7,11 +7,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function f:
diff --git a/tests/val_analysis/oracle/union_struct.res.oracle b/tests/val_analysis/oracle/union_struct.res.oracle
index 67977e37c5fd6c1bd20f7296aed00b59b1cb3efe..293b44bc3d3617ff3d3f14169b697741c8925768 100644
--- a/tests/val_analysis/oracle/union_struct.res.oracle
+++ b/tests/val_analysis/oracle/union_struct.res.oracle
@@ -7,11 +7,9 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
 [eva] done for function main
 [eva] ====== VALUES COMPUTED ======
 [eva:final-states] Values at end of function f:
diff --git a/tests/val_analysis/oracle/virtual_base_sema.res.oracle b/tests/val_analysis/oracle/virtual_base_sema.res.oracle
index b335da41c4adf2382724ced050ea760eebc1de99..5db76808142580aa397e95e6aca0f77a1dfb2cd5 100644
--- a/tests/val_analysis/oracle/virtual_base_sema.res.oracle
+++ b/tests/val_analysis/oracle/virtual_base_sema.res.oracle
@@ -4,15 +4,12 @@ Now output intermediate result
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
-  _frama_c_vmt_header ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "A" }}
                          {.base_classes; .number_of_base_classes; .pvmt} ∈
                          {0}
-  _frama_c_vmt[0] ∈ {0}
   _frama_c_vmt_header.table ∈ {{ &_frama_c_vmt[0] }}
                      .table_size ∈ {1}
                      .rtti_info ∈ {{ &_frama_c_rtti_name_info }}
-  _frama_c_vmt_header_for_shift_0 ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "B" }}
                          .base_classes ∈ {{ &_frama_c_base_classes[0] }}
                          .number_of_base_classes ∈ {1}
@@ -33,7 +30,6 @@ Now output intermediate result
   _frama_c_vmt_header.table ∈ {{ &_frama_c_vmt[0] }}
                      .table_size ∈ {1}
                      .rtti_info ∈ {{ &_frama_c_rtti_name_info }}
-  _frama_c_vmt_header_for_shift_0 ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "C" }}
                          .base_classes ∈ {{ &_frama_c_base_classes[0] }}
                          .number_of_base_classes ∈ {1}
@@ -58,7 +54,6 @@ Now output intermediate result
                                  .table_size ∈ {1}
                                  .rtti_info ∈
                                  {{ &_frama_c_rtti_name_info }}
-  _frama_c_vmt_header_for_shift_0 ∈ {0}
   _frama_c_rtti_name_info.name ∈ {{ "D" }}
                          .base_classes ∈ {{ &_frama_c_base_classes[0] }}
                          .number_of_base_classes ∈ {3}