From 12a8f29b66dd4a07aee55b730a3876e0b09c5972 Mon Sep 17 00:00:00 2001
From: Allan Blanchard <allan.blanchard@cea.fr>
Date: Wed, 23 Oct 2019 09:11:23 +0200
Subject: [PATCH] [Builtin] header -> directory

---
 headers/header_spec.txt                       | 20 +++---
 src/plugins/builtin/Makefile.in               | 24 +++++--
 src/plugins/builtin/{ => stdlib}/malloc.ml    |  0
 src/plugins/builtin/{ => stdlib}/malloc.mli   |  0
 src/plugins/builtin/{ => string}/memcmp.ml    |  0
 src/plugins/builtin/{ => string}/memcmp.mli   |  0
 src/plugins/builtin/{ => string}/memcpy.ml    |  0
 src/plugins/builtin/{ => string}/memcpy.mli   |  0
 src/plugins/builtin/{ => string}/memmove.ml   |  0
 src/plugins/builtin/{ => string}/memmove.mli  |  0
 src/plugins/builtin/{ => string}/memset.ml    |  0
 src/plugins/builtin/{ => string}/memset.mli   |  0
 .../tests/{functions => string}/memcmp.c      |  0
 .../tests/{functions => string}/memcpy.c      |  0
 .../tests/{functions => string}/memmove.c     |  0
 .../tests/{functions => string}/memset_0.c    |  0
 .../tests/{functions => string}/memset_FF.c   |  0
 .../{functions => string}/memset_value.c      |  0
 .../oracle/memcmp.res.oracle                  | 26 +++----
 .../oracle/memcpy.res.oracle                  | 26 +++----
 .../oracle/memmove.res.oracle                 | 26 +++----
 .../oracle/memset_0.res.oracle                | 42 ++++++------
 .../oracle/memset_FF.res.oracle               | 62 ++++++++---------
 .../oracle/memset_value.res.oracle            | 68 ++++++++-----------
 .../tests/{functions => string}/test_config   |  0
 25 files changed, 150 insertions(+), 144 deletions(-)
 rename src/plugins/builtin/{ => stdlib}/malloc.ml (100%)
 rename src/plugins/builtin/{ => stdlib}/malloc.mli (100%)
 rename src/plugins/builtin/{ => string}/memcmp.ml (100%)
 rename src/plugins/builtin/{ => string}/memcmp.mli (100%)
 rename src/plugins/builtin/{ => string}/memcpy.ml (100%)
 rename src/plugins/builtin/{ => string}/memcpy.mli (100%)
 rename src/plugins/builtin/{ => string}/memmove.ml (100%)
 rename src/plugins/builtin/{ => string}/memmove.mli (100%)
 rename src/plugins/builtin/{ => string}/memset.ml (100%)
 rename src/plugins/builtin/{ => string}/memset.mli (100%)
 rename src/plugins/builtin/tests/{functions => string}/memcmp.c (100%)
 rename src/plugins/builtin/tests/{functions => string}/memcpy.c (100%)
 rename src/plugins/builtin/tests/{functions => string}/memmove.c (100%)
 rename src/plugins/builtin/tests/{functions => string}/memset_0.c (100%)
 rename src/plugins/builtin/tests/{functions => string}/memset_FF.c (100%)
 rename src/plugins/builtin/tests/{functions => string}/memset_value.c (100%)
 rename src/plugins/builtin/tests/{functions => string}/oracle/memcmp.res.oracle (85%)
 rename src/plugins/builtin/tests/{functions => string}/oracle/memcpy.res.oracle (90%)
 rename src/plugins/builtin/tests/{functions => string}/oracle/memmove.res.oracle (88%)
 rename src/plugins/builtin/tests/{functions => string}/oracle/memset_0.res.oracle (87%)
 rename src/plugins/builtin/tests/{functions => string}/oracle/memset_FF.res.oracle (88%)
 rename src/plugins/builtin/tests/{functions => string}/oracle/memset_value.res.oracle (72%)
 rename src/plugins/builtin/tests/{functions => string}/test_config (100%)

diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index 093fdc6dc87..7eb1cb9bbec 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -937,16 +937,16 @@ src/plugins/builtin/builtin_builder.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/builtin/builtin_builder.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/builtin/configure.ac: CEA_LGPL_OR_PROPRIETARY
 src/plugins/builtin/Makefile.in: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/malloc.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/malloc.mli: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memcmp.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memcmp.mli: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memcpy.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memcpy.mli: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memmove.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memmove.mli: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memset.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/builtin/memset.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/stdlib/malloc.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/stdlib/malloc.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memcmp.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memcmp.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memcpy.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memcpy.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memmove.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memmove.mli: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memset.ml: CEA_LGPL_OR_PROPRIETARY
+src/plugins/builtin/string/memset.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/builtin/options.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/builtin/options.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/builtin/register.ml: CEA_LGPL_OR_PROPRIETARY
diff --git a/src/plugins/builtin/Makefile.in b/src/plugins/builtin/Makefile.in
index 09306b9c327..ec3691bfd99 100644
--- a/src/plugins/builtin/Makefile.in
+++ b/src/plugins/builtin/Makefile.in
@@ -29,6 +29,17 @@ ifndef FRAMAC_LIBDIR
 FRAMAC_LIBDIR :=$(shell frama-c-config -print-libpath)
 endif
 
+SRC_STRING:= \
+	memcpy \
+	memcmp \
+	memmove \
+	memset
+SRC_STRING:=$(addprefix string/, $(SRC_STRING))
+
+SRC_STDLIB:= \
+	malloc
+SRC_STDLIB:=$(addprefix stdlib/, $(SRC_STDLIB))
+
 ###################
 # Plug-in Setting #
 ###################
@@ -36,14 +47,19 @@ endif
 PLUGIN_DIR ?= .
 PLUGIN_ENABLE := @ENABLE_BUILTIN@
 PLUGIN_NAME := Builtin
+PLUGIN_EXTRA_DIRS:=\
+	string\
+	stdlib
 PLUGIN_CMI :=
-PLUGIN_CMO := basic_blocks options builtin_builder transform \
-			malloc memcpy memcmp memmove memset \
-			register
+PLUGIN_CMO := \
+	basic_blocks options builtin_builder transform register \
+	$(SRC_STRING) \
+	$(SRC_STDLIB)
+
 PLUGIN_DISTRIBUTED := $(PLUGIN_ENABLE)
 PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure
 #PLUGIN_NO_DEFAULT_TEST := no
-PLUGIN_TESTS_DIRS := functions options
+PLUGIN_TESTS_DIRS := string options
 
 ################
 # Generic part #
diff --git a/src/plugins/builtin/malloc.ml b/src/plugins/builtin/stdlib/malloc.ml
similarity index 100%
rename from src/plugins/builtin/malloc.ml
rename to src/plugins/builtin/stdlib/malloc.ml
diff --git a/src/plugins/builtin/malloc.mli b/src/plugins/builtin/stdlib/malloc.mli
similarity index 100%
rename from src/plugins/builtin/malloc.mli
rename to src/plugins/builtin/stdlib/malloc.mli
diff --git a/src/plugins/builtin/memcmp.ml b/src/plugins/builtin/string/memcmp.ml
similarity index 100%
rename from src/plugins/builtin/memcmp.ml
rename to src/plugins/builtin/string/memcmp.ml
diff --git a/src/plugins/builtin/memcmp.mli b/src/plugins/builtin/string/memcmp.mli
similarity index 100%
rename from src/plugins/builtin/memcmp.mli
rename to src/plugins/builtin/string/memcmp.mli
diff --git a/src/plugins/builtin/memcpy.ml b/src/plugins/builtin/string/memcpy.ml
similarity index 100%
rename from src/plugins/builtin/memcpy.ml
rename to src/plugins/builtin/string/memcpy.ml
diff --git a/src/plugins/builtin/memcpy.mli b/src/plugins/builtin/string/memcpy.mli
similarity index 100%
rename from src/plugins/builtin/memcpy.mli
rename to src/plugins/builtin/string/memcpy.mli
diff --git a/src/plugins/builtin/memmove.ml b/src/plugins/builtin/string/memmove.ml
similarity index 100%
rename from src/plugins/builtin/memmove.ml
rename to src/plugins/builtin/string/memmove.ml
diff --git a/src/plugins/builtin/memmove.mli b/src/plugins/builtin/string/memmove.mli
similarity index 100%
rename from src/plugins/builtin/memmove.mli
rename to src/plugins/builtin/string/memmove.mli
diff --git a/src/plugins/builtin/memset.ml b/src/plugins/builtin/string/memset.ml
similarity index 100%
rename from src/plugins/builtin/memset.ml
rename to src/plugins/builtin/string/memset.ml
diff --git a/src/plugins/builtin/memset.mli b/src/plugins/builtin/string/memset.mli
similarity index 100%
rename from src/plugins/builtin/memset.mli
rename to src/plugins/builtin/string/memset.mli
diff --git a/src/plugins/builtin/tests/functions/memcmp.c b/src/plugins/builtin/tests/string/memcmp.c
similarity index 100%
rename from src/plugins/builtin/tests/functions/memcmp.c
rename to src/plugins/builtin/tests/string/memcmp.c
diff --git a/src/plugins/builtin/tests/functions/memcpy.c b/src/plugins/builtin/tests/string/memcpy.c
similarity index 100%
rename from src/plugins/builtin/tests/functions/memcpy.c
rename to src/plugins/builtin/tests/string/memcpy.c
diff --git a/src/plugins/builtin/tests/functions/memmove.c b/src/plugins/builtin/tests/string/memmove.c
similarity index 100%
rename from src/plugins/builtin/tests/functions/memmove.c
rename to src/plugins/builtin/tests/string/memmove.c
diff --git a/src/plugins/builtin/tests/functions/memset_0.c b/src/plugins/builtin/tests/string/memset_0.c
similarity index 100%
rename from src/plugins/builtin/tests/functions/memset_0.c
rename to src/plugins/builtin/tests/string/memset_0.c
diff --git a/src/plugins/builtin/tests/functions/memset_FF.c b/src/plugins/builtin/tests/string/memset_FF.c
similarity index 100%
rename from src/plugins/builtin/tests/functions/memset_FF.c
rename to src/plugins/builtin/tests/string/memset_FF.c
diff --git a/src/plugins/builtin/tests/functions/memset_value.c b/src/plugins/builtin/tests/string/memset_value.c
similarity index 100%
rename from src/plugins/builtin/tests/functions/memset_value.c
rename to src/plugins/builtin/tests/string/memset_value.c
diff --git a/src/plugins/builtin/tests/functions/oracle/memcmp.res.oracle b/src/plugins/builtin/tests/string/oracle/memcmp.res.oracle
similarity index 85%
rename from src/plugins/builtin/tests/functions/oracle/memcmp.res.oracle
rename to src/plugins/builtin/tests/string/oracle/memcmp.res.oracle
index b0d88d0280a..646b873e44c 100644
--- a/src/plugins/builtin/tests/functions/oracle/memcmp.res.oracle
+++ b/src/plugins/builtin/tests/string/oracle/memcmp.res.oracle
@@ -1,4 +1,4 @@
-[kernel] Parsing tests/functions/memcmp.c (with preprocessing)
+[kernel] Parsing tests/string/memcmp.c (with preprocessing)
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
@@ -143,18 +143,18 @@ int nested(int (*src)[10], int (*dest)[10], int n)
 }
 
 
-[kernel] Parsing tests/functions/result/memcmp.c (with preprocessing)
-[kernel] Parsing tests/functions/memcmp.c (with preprocessing)
-[kernel] tests/functions/memcmp.c:10: Warning: 
-  def'n of func integer at tests/functions/memcmp.c:10 (sum 1085) conflicts with the one at tests/functions/result/memcmp.c:34 (sum 1972); keeping the one at tests/functions/result/memcmp.c:34.
-[kernel] tests/functions/memcmp.c:14: Warning: 
-  def'n of func with_named at tests/functions/memcmp.c:14 (sum 1085) conflicts with the one at tests/functions/result/memcmp.c:41 (sum 1972); keeping the one at tests/functions/result/memcmp.c:41.
-[kernel] tests/functions/memcmp.c:18: Warning: 
-  def'n of func structure at tests/functions/memcmp.c:18 (sum 1085) conflicts with the one at tests/functions/result/memcmp.c:72 (sum 1972); keeping the one at tests/functions/result/memcmp.c:72.
-[kernel] tests/functions/memcmp.c:22: Warning: 
-  def'n of func pointers at tests/functions/memcmp.c:22 (sum 1085) conflicts with the one at tests/functions/result/memcmp.c:103 (sum 1972); keeping the one at tests/functions/result/memcmp.c:103.
-[kernel] tests/functions/memcmp.c:26: Warning: 
-  def'n of func nested at tests/functions/memcmp.c:26 (sum 1087) conflicts with the one at tests/functions/result/memcmp.c:137 (sum 1974); keeping the one at tests/functions/result/memcmp.c:137.
+[kernel] Parsing tests/string/result/memcmp.c (with preprocessing)
+[kernel] Parsing tests/string/memcmp.c (with preprocessing)
+[kernel] tests/string/memcmp.c:10: Warning: 
+  def'n of func integer at tests/string/memcmp.c:10 (sum 1085) conflicts with the one at tests/string/result/memcmp.c:34 (sum 1972); keeping the one at tests/string/result/memcmp.c:34.
+[kernel] tests/string/memcmp.c:14: Warning: 
+  def'n of func with_named at tests/string/memcmp.c:14 (sum 1085) conflicts with the one at tests/string/result/memcmp.c:41 (sum 1972); keeping the one at tests/string/result/memcmp.c:41.
+[kernel] tests/string/memcmp.c:18: Warning: 
+  def'n of func structure at tests/string/memcmp.c:18 (sum 1085) conflicts with the one at tests/string/result/memcmp.c:72 (sum 1972); keeping the one at tests/string/result/memcmp.c:72.
+[kernel] tests/string/memcmp.c:22: Warning: 
+  def'n of func pointers at tests/string/memcmp.c:22 (sum 1085) conflicts with the one at tests/string/result/memcmp.c:103 (sum 1972); keeping the one at tests/string/result/memcmp.c:103.
+[kernel] tests/string/memcmp.c:26: Warning: 
+  def'n of func nested at tests/string/memcmp.c:26 (sum 1087) conflicts with the one at tests/string/result/memcmp.c:137 (sum 1974); keeping the one at tests/string/result/memcmp.c:137.
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
diff --git a/src/plugins/builtin/tests/functions/oracle/memcpy.res.oracle b/src/plugins/builtin/tests/string/oracle/memcpy.res.oracle
similarity index 90%
rename from src/plugins/builtin/tests/functions/oracle/memcpy.res.oracle
rename to src/plugins/builtin/tests/string/oracle/memcpy.res.oracle
index b29798e2515..4a9d9e029c0 100644
--- a/src/plugins/builtin/tests/functions/oracle/memcpy.res.oracle
+++ b/src/plugins/builtin/tests/string/oracle/memcpy.res.oracle
@@ -1,4 +1,4 @@
-[kernel] Parsing tests/functions/memcpy.c (with preprocessing)
+[kernel] Parsing tests/string/memcpy.c (with preprocessing)
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
@@ -154,18 +154,18 @@ void nested(int (*src)[10], int (*dest)[10], int n)
 }
 
 
-[kernel] Parsing tests/functions/result/memcpy.c (with preprocessing)
-[kernel] Parsing tests/functions/memcpy.c (with preprocessing)
-[kernel] tests/functions/memcpy.c:10: Warning: 
-  dropping duplicate def'n of func integer at tests/functions/memcpy.c:10 in favor of that at tests/functions/result/memcpy.c:36
-[kernel] tests/functions/memcpy.c:15: Warning: 
-  dropping duplicate def'n of func with_named at tests/functions/memcpy.c:15 in favor of that at tests/functions/result/memcpy.c:43
-[kernel] tests/functions/memcpy.c:20: Warning: 
-  dropping duplicate def'n of func structure at tests/functions/memcpy.c:20 in favor of that at tests/functions/result/memcpy.c:76
-[kernel] tests/functions/memcpy.c:25: Warning: 
-  dropping duplicate def'n of func pointers at tests/functions/memcpy.c:25 in favor of that at tests/functions/result/memcpy.c:109
-[kernel] tests/functions/memcpy.c:30: Warning: 
-  dropping duplicate def'n of func nested at tests/functions/memcpy.c:30 in favor of that at tests/functions/result/memcpy.c:147
+[kernel] Parsing tests/string/result/memcpy.c (with preprocessing)
+[kernel] Parsing tests/string/memcpy.c (with preprocessing)
+[kernel] tests/string/memcpy.c:10: Warning: 
+  dropping duplicate def'n of func integer at tests/string/memcpy.c:10 in favor of that at tests/string/result/memcpy.c:36
+[kernel] tests/string/memcpy.c:15: Warning: 
+  dropping duplicate def'n of func with_named at tests/string/memcpy.c:15 in favor of that at tests/string/result/memcpy.c:43
+[kernel] tests/string/memcpy.c:20: Warning: 
+  dropping duplicate def'n of func structure at tests/string/memcpy.c:20 in favor of that at tests/string/result/memcpy.c:76
+[kernel] tests/string/memcpy.c:25: Warning: 
+  dropping duplicate def'n of func pointers at tests/string/memcpy.c:25 in favor of that at tests/string/result/memcpy.c:109
+[kernel] tests/string/memcpy.c:30: Warning: 
+  dropping duplicate def'n of func nested at tests/string/memcpy.c:30 in favor of that at tests/string/result/memcpy.c:147
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
diff --git a/src/plugins/builtin/tests/functions/oracle/memmove.res.oracle b/src/plugins/builtin/tests/string/oracle/memmove.res.oracle
similarity index 88%
rename from src/plugins/builtin/tests/functions/oracle/memmove.res.oracle
rename to src/plugins/builtin/tests/string/oracle/memmove.res.oracle
index 43e53fcefa4..b85ede266e4 100644
--- a/src/plugins/builtin/tests/functions/oracle/memmove.res.oracle
+++ b/src/plugins/builtin/tests/string/oracle/memmove.res.oracle
@@ -1,4 +1,4 @@
-[kernel] Parsing tests/functions/memmove.c (with preprocessing)
+[kernel] Parsing tests/string/memmove.c (with preprocessing)
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
@@ -138,18 +138,18 @@ void nested(int (*src)[10], int (*dest)[10], int n)
 }
 
 
-[kernel] Parsing tests/functions/result/memmove.c (with preprocessing)
-[kernel] Parsing tests/functions/memmove.c (with preprocessing)
-[kernel] tests/functions/memmove.c:10: Warning: 
-  dropping duplicate def'n of func integer at tests/functions/memmove.c:10 in favor of that at tests/functions/result/memmove.c:32
-[kernel] tests/functions/memmove.c:15: Warning: 
-  dropping duplicate def'n of func with_named at tests/functions/memmove.c:15 in favor of that at tests/functions/result/memmove.c:39
-[kernel] tests/functions/memmove.c:20: Warning: 
-  dropping duplicate def'n of func structure at tests/functions/memmove.c:20 in favor of that at tests/functions/result/memmove.c:68
-[kernel] tests/functions/memmove.c:25: Warning: 
-  dropping duplicate def'n of func pointers at tests/functions/memmove.c:25 in favor of that at tests/functions/result/memmove.c:97
-[kernel] tests/functions/memmove.c:30: Warning: 
-  dropping duplicate def'n of func nested at tests/functions/memmove.c:30 in favor of that at tests/functions/result/memmove.c:131
+[kernel] Parsing tests/string/result/memmove.c (with preprocessing)
+[kernel] Parsing tests/string/memmove.c (with preprocessing)
+[kernel] tests/string/memmove.c:10: Warning: 
+  dropping duplicate def'n of func integer at tests/string/memmove.c:10 in favor of that at tests/string/result/memmove.c:32
+[kernel] tests/string/memmove.c:15: Warning: 
+  dropping duplicate def'n of func with_named at tests/string/memmove.c:15 in favor of that at tests/string/result/memmove.c:39
+[kernel] tests/string/memmove.c:20: Warning: 
+  dropping duplicate def'n of func structure at tests/string/memmove.c:20 in favor of that at tests/string/result/memmove.c:68
+[kernel] tests/string/memmove.c:25: Warning: 
+  dropping duplicate def'n of func pointers at tests/string/memmove.c:25 in favor of that at tests/string/result/memmove.c:97
+[kernel] tests/string/memmove.c:30: Warning: 
+  dropping duplicate def'n of func nested at tests/string/memmove.c:30 in favor of that at tests/string/result/memmove.c:131
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
diff --git a/src/plugins/builtin/tests/functions/oracle/memset_0.res.oracle b/src/plugins/builtin/tests/string/oracle/memset_0.res.oracle
similarity index 87%
rename from src/plugins/builtin/tests/functions/oracle/memset_0.res.oracle
rename to src/plugins/builtin/tests/string/oracle/memset_0.res.oracle
index 19daa1257c9..5dcae838d7d 100644
--- a/src/plugins/builtin/tests/functions/oracle/memset_0.res.oracle
+++ b/src/plugins/builtin/tests/string/oracle/memset_0.res.oracle
@@ -1,4 +1,4 @@
-[kernel] Parsing tests/functions/memset_0.c (with preprocessing)
+[kernel] Parsing tests/string/memset_0.c (with preprocessing)
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
@@ -225,26 +225,26 @@ void nested(int (*dest)[10], int n)
 }
 
 
-[kernel] Parsing tests/functions/result/memset_0.c (with preprocessing)
-[kernel] Parsing tests/functions/memset_0.c (with preprocessing)
-[kernel] tests/functions/memset_0.c:10: Warning: 
-  dropping duplicate def'n of func chars at tests/functions/memset_0.c:10 in favor of that at tests/functions/result/memset_0.c:26
-[kernel] tests/functions/memset_0.c:15: Warning: 
-  dropping duplicate def'n of func uchars at tests/functions/memset_0.c:15 in favor of that at tests/functions/result/memset_0.c:50
-[kernel] tests/functions/memset_0.c:20: Warning: 
-  dropping duplicate def'n of func nested_chars at tests/functions/memset_0.c:20 in favor of that at tests/functions/result/memset_0.c:78
-[kernel] tests/functions/memset_0.c:25: Warning: 
-  dropping duplicate def'n of func integer at tests/functions/memset_0.c:25 in favor of that at tests/functions/result/memset_0.c:104
-[kernel] tests/functions/memset_0.c:30: Warning: 
-  dropping duplicate def'n of func floats at tests/functions/memset_0.c:30 in favor of that at tests/functions/result/memset_0.c:130
-[kernel] tests/functions/memset_0.c:35: Warning: 
-  dropping duplicate def'n of func with_named at tests/functions/memset_0.c:35 in favor of that at tests/functions/result/memset_0.c:137
-[kernel] tests/functions/memset_0.c:40: Warning: 
-  dropping duplicate def'n of func structure at tests/functions/memset_0.c:40 in favor of that at tests/functions/result/memset_0.c:164
-[kernel] tests/functions/memset_0.c:45: Warning: 
-  dropping duplicate def'n of func pointers at tests/functions/memset_0.c:45 in favor of that at tests/functions/result/memset_0.c:190
-[kernel] tests/functions/memset_0.c:50: Warning: 
-  dropping duplicate def'n of func nested at tests/functions/memset_0.c:50 in favor of that at tests/functions/result/memset_0.c:218
+[kernel] Parsing tests/string/result/memset_0.c (with preprocessing)
+[kernel] Parsing tests/string/memset_0.c (with preprocessing)
+[kernel] tests/string/memset_0.c:10: Warning: 
+  dropping duplicate def'n of func chars at tests/string/memset_0.c:10 in favor of that at tests/string/result/memset_0.c:26
+[kernel] tests/string/memset_0.c:15: Warning: 
+  dropping duplicate def'n of func uchars at tests/string/memset_0.c:15 in favor of that at tests/string/result/memset_0.c:50
+[kernel] tests/string/memset_0.c:20: Warning: 
+  dropping duplicate def'n of func nested_chars at tests/string/memset_0.c:20 in favor of that at tests/string/result/memset_0.c:78
+[kernel] tests/string/memset_0.c:25: Warning: 
+  dropping duplicate def'n of func integer at tests/string/memset_0.c:25 in favor of that at tests/string/result/memset_0.c:104
+[kernel] tests/string/memset_0.c:30: Warning: 
+  dropping duplicate def'n of func floats at tests/string/memset_0.c:30 in favor of that at tests/string/result/memset_0.c:130
+[kernel] tests/string/memset_0.c:35: Warning: 
+  dropping duplicate def'n of func with_named at tests/string/memset_0.c:35 in favor of that at tests/string/result/memset_0.c:137
+[kernel] tests/string/memset_0.c:40: Warning: 
+  dropping duplicate def'n of func structure at tests/string/memset_0.c:40 in favor of that at tests/string/result/memset_0.c:164
+[kernel] tests/string/memset_0.c:45: Warning: 
+  dropping duplicate def'n of func pointers at tests/string/memset_0.c:45 in favor of that at tests/string/result/memset_0.c:190
+[kernel] tests/string/memset_0.c:50: Warning: 
+  dropping duplicate def'n of func nested at tests/string/memset_0.c:50 in favor of that at tests/string/result/memset_0.c:218
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
diff --git a/src/plugins/builtin/tests/functions/oracle/memset_FF.res.oracle b/src/plugins/builtin/tests/string/oracle/memset_FF.res.oracle
similarity index 88%
rename from src/plugins/builtin/tests/functions/oracle/memset_FF.res.oracle
rename to src/plugins/builtin/tests/string/oracle/memset_FF.res.oracle
index 90cc89ab1c7..bc10dec771d 100644
--- a/src/plugins/builtin/tests/functions/oracle/memset_FF.res.oracle
+++ b/src/plugins/builtin/tests/string/oracle/memset_FF.res.oracle
@@ -1,4 +1,4 @@
-[kernel] Parsing tests/functions/memset_FF.c (with preprocessing)
+[kernel] Parsing tests/string/memset_FF.c (with preprocessing)
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
@@ -363,36 +363,36 @@ void nested(int (*dest)[10], int n)
 }
 
 
-[kernel] Parsing tests/functions/result/memset_FF.c (with preprocessing)
-[kernel] Parsing tests/functions/memset_FF.c (with preprocessing)
-[kernel] tests/functions/memset_FF.c:10: Warning: 
-  dropping duplicate def'n of func chars at tests/functions/memset_FF.c:10 in favor of that at tests/functions/result/memset_FF.c:26
-[kernel] tests/functions/memset_FF.c:15: Warning: 
-  dropping duplicate def'n of func uchars at tests/functions/memset_FF.c:15 in favor of that at tests/functions/result/memset_FF.c:50
-[kernel] tests/functions/memset_FF.c:20: Warning: 
-  dropping duplicate def'n of func nested_chars at tests/functions/memset_FF.c:20 in favor of that at tests/functions/result/memset_FF.c:79
-[kernel] tests/functions/memset_FF.c:25: Warning: 
-  dropping duplicate def'n of func integer at tests/functions/memset_FF.c:25 in favor of that at tests/functions/result/memset_FF.c:105
-[kernel] tests/functions/memset_FF.c:30: Warning: 
-  dropping duplicate def'n of func unsigned_integer at tests/functions/memset_FF.c:30 in favor of that at tests/functions/result/memset_FF.c:131
-[kernel] tests/functions/memset_FF.c:35: Warning: 
-  dropping duplicate def'n of func long_integer at tests/functions/memset_FF.c:35 in favor of that at tests/functions/result/memset_FF.c:158
-[kernel] tests/functions/memset_FF.c:40: Warning: 
-  dropping duplicate def'n of func unsigned_long_integer at tests/functions/memset_FF.c:40 in favor of that at tests/functions/result/memset_FF.c:184
-[kernel] tests/functions/memset_FF.c:45: Warning: 
-  dropping duplicate def'n of func long_long_integer at tests/functions/memset_FF.c:45 in favor of that at tests/functions/result/memset_FF.c:212
-[kernel] tests/functions/memset_FF.c:50: Warning: 
-  dropping duplicate def'n of func unsigned_long_long_integer at tests/functions/memset_FF.c:50 in favor of that at tests/functions/result/memset_FF.c:240
-[kernel] tests/functions/memset_FF.c:56: Warning: 
-  dropping duplicate def'n of func floats at tests/functions/memset_FF.c:56 in favor of that at tests/functions/result/memset_FF.c:267
-[kernel] tests/functions/memset_FF.c:61: Warning: 
-  dropping duplicate def'n of func with_named at tests/functions/memset_FF.c:61 in favor of that at tests/functions/result/memset_FF.c:274
-[kernel] tests/functions/memset_FF.c:66: Warning: 
-  dropping duplicate def'n of func structure at tests/functions/memset_FF.c:66 in favor of that at tests/functions/result/memset_FF.c:302
-[kernel] tests/functions/memset_FF.c:71: Warning: 
-  dropping duplicate def'n of func pointers at tests/functions/memset_FF.c:71 in favor of that at tests/functions/result/memset_FF.c:328
-[kernel] tests/functions/memset_FF.c:76: Warning: 
-  dropping duplicate def'n of func nested at tests/functions/memset_FF.c:76 in favor of that at tests/functions/result/memset_FF.c:356
+[kernel] Parsing tests/string/result/memset_FF.c (with preprocessing)
+[kernel] Parsing tests/string/memset_FF.c (with preprocessing)
+[kernel] tests/string/memset_FF.c:10: Warning: 
+  dropping duplicate def'n of func chars at tests/string/memset_FF.c:10 in favor of that at tests/string/result/memset_FF.c:26
+[kernel] tests/string/memset_FF.c:15: Warning: 
+  dropping duplicate def'n of func uchars at tests/string/memset_FF.c:15 in favor of that at tests/string/result/memset_FF.c:50
+[kernel] tests/string/memset_FF.c:20: Warning: 
+  dropping duplicate def'n of func nested_chars at tests/string/memset_FF.c:20 in favor of that at tests/string/result/memset_FF.c:79
+[kernel] tests/string/memset_FF.c:25: Warning: 
+  dropping duplicate def'n of func integer at tests/string/memset_FF.c:25 in favor of that at tests/string/result/memset_FF.c:105
+[kernel] tests/string/memset_FF.c:30: Warning: 
+  dropping duplicate def'n of func unsigned_integer at tests/string/memset_FF.c:30 in favor of that at tests/string/result/memset_FF.c:131
+[kernel] tests/string/memset_FF.c:35: Warning: 
+  dropping duplicate def'n of func long_integer at tests/string/memset_FF.c:35 in favor of that at tests/string/result/memset_FF.c:158
+[kernel] tests/string/memset_FF.c:40: Warning: 
+  dropping duplicate def'n of func unsigned_long_integer at tests/string/memset_FF.c:40 in favor of that at tests/string/result/memset_FF.c:184
+[kernel] tests/string/memset_FF.c:45: Warning: 
+  dropping duplicate def'n of func long_long_integer at tests/string/memset_FF.c:45 in favor of that at tests/string/result/memset_FF.c:212
+[kernel] tests/string/memset_FF.c:50: Warning: 
+  dropping duplicate def'n of func unsigned_long_long_integer at tests/string/memset_FF.c:50 in favor of that at tests/string/result/memset_FF.c:240
+[kernel] tests/string/memset_FF.c:56: Warning: 
+  dropping duplicate def'n of func floats at tests/string/memset_FF.c:56 in favor of that at tests/string/result/memset_FF.c:267
+[kernel] tests/string/memset_FF.c:61: Warning: 
+  dropping duplicate def'n of func with_named at tests/string/memset_FF.c:61 in favor of that at tests/string/result/memset_FF.c:274
+[kernel] tests/string/memset_FF.c:66: Warning: 
+  dropping duplicate def'n of func structure at tests/string/memset_FF.c:66 in favor of that at tests/string/result/memset_FF.c:302
+[kernel] tests/string/memset_FF.c:71: Warning: 
+  dropping duplicate def'n of func pointers at tests/string/memset_FF.c:71 in favor of that at tests/string/result/memset_FF.c:328
+[kernel] tests/string/memset_FF.c:76: Warning: 
+  dropping duplicate def'n of func nested at tests/string/memset_FF.c:76 in favor of that at tests/string/result/memset_FF.c:356
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
diff --git a/src/plugins/builtin/tests/functions/oracle/memset_value.res.oracle b/src/plugins/builtin/tests/string/oracle/memset_value.res.oracle
similarity index 72%
rename from src/plugins/builtin/tests/functions/oracle/memset_value.res.oracle
rename to src/plugins/builtin/tests/string/oracle/memset_value.res.oracle
index 3e6db003d10..e63b609e65b 100644
--- a/src/plugins/builtin/tests/functions/oracle/memset_value.res.oracle
+++ b/src/plugins/builtin/tests/string/oracle/memset_value.res.oracle
@@ -1,24 +1,14 @@
-[kernel] Parsing tests/functions/memset_value.c (with preprocessing)
-[builtin] tests/functions/memset_value.c:26: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:27: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:31: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:32: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:36: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:37: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:41: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:42: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:46: Warning: 
-  Ignore call: not well typed
-[builtin] tests/functions/memset_value.c:47: Warning: 
-  Ignore call: not well typed
+[kernel] Parsing tests/string/memset_value.c (with preprocessing)
+[builtin] tests/string/memset_value.c:26: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:27: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:31: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:32: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:36: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:37: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:41: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:42: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:46: Warning: Ignore call: not well typed
+[builtin] tests/string/memset_value.c:47: Warning: Ignore call: not well typed
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
@@ -141,24 +131,24 @@ void nested(int (*dest)[10], int n, int value)
 }
 
 
-[kernel] Parsing tests/functions/result/memset_value.c (with preprocessing)
-[kernel] Parsing tests/functions/memset_value.c (with preprocessing)
-[kernel] tests/functions/memset_value.c:10: Warning: 
-  dropping duplicate def'n of func chars at tests/functions/memset_value.c:10 in favor of that at tests/functions/result/memset_value.c:26
-[kernel] tests/functions/memset_value.c:15: Warning: 
-  dropping duplicate def'n of func uchars at tests/functions/memset_value.c:15 in favor of that at tests/functions/result/memset_value.c:50
-[kernel] tests/functions/memset_value.c:20: Warning: 
-  dropping duplicate def'n of func nested_chars at tests/functions/memset_value.c:20 in favor of that at tests/functions/result/memset_value.c:78
-[kernel] tests/functions/memset_value.c:25: Warning: 
-  dropping duplicate def'n of func integer at tests/functions/memset_value.c:25 in favor of that at tests/functions/result/memset_value.c:85
-[kernel] tests/functions/memset_value.c:30: Warning: 
-  dropping duplicate def'n of func with_named at tests/functions/memset_value.c:30 in favor of that at tests/functions/result/memset_value.c:92
-[kernel] tests/functions/memset_value.c:35: Warning: 
-  dropping duplicate def'n of func structure at tests/functions/memset_value.c:35 in favor of that at tests/functions/result/memset_value.c:99
-[kernel] tests/functions/memset_value.c:40: Warning: 
-  dropping duplicate def'n of func pointers at tests/functions/memset_value.c:40 in favor of that at tests/functions/result/memset_value.c:107
-[kernel] tests/functions/memset_value.c:45: Warning: 
-  dropping duplicate def'n of func nested at tests/functions/memset_value.c:45 in favor of that at tests/functions/result/memset_value.c:114
+[kernel] Parsing tests/string/result/memset_value.c (with preprocessing)
+[kernel] Parsing tests/string/memset_value.c (with preprocessing)
+[kernel] tests/string/memset_value.c:10: Warning: 
+  dropping duplicate def'n of func chars at tests/string/memset_value.c:10 in favor of that at tests/string/result/memset_value.c:26
+[kernel] tests/string/memset_value.c:15: Warning: 
+  dropping duplicate def'n of func uchars at tests/string/memset_value.c:15 in favor of that at tests/string/result/memset_value.c:50
+[kernel] tests/string/memset_value.c:20: Warning: 
+  dropping duplicate def'n of func nested_chars at tests/string/memset_value.c:20 in favor of that at tests/string/result/memset_value.c:78
+[kernel] tests/string/memset_value.c:25: Warning: 
+  dropping duplicate def'n of func integer at tests/string/memset_value.c:25 in favor of that at tests/string/result/memset_value.c:85
+[kernel] tests/string/memset_value.c:30: Warning: 
+  dropping duplicate def'n of func with_named at tests/string/memset_value.c:30 in favor of that at tests/string/result/memset_value.c:92
+[kernel] tests/string/memset_value.c:35: Warning: 
+  dropping duplicate def'n of func structure at tests/string/memset_value.c:35 in favor of that at tests/string/result/memset_value.c:99
+[kernel] tests/string/memset_value.c:40: Warning: 
+  dropping duplicate def'n of func pointers at tests/string/memset_value.c:40 in favor of that at tests/string/result/memset_value.c:107
+[kernel] tests/string/memset_value.c:45: Warning: 
+  dropping duplicate def'n of func nested at tests/string/memset_value.c:45 in favor of that at tests/string/result/memset_value.c:114
 /* Generated by Frama-C */
 #include "stddef.h"
 #include "string.h"
diff --git a/src/plugins/builtin/tests/functions/test_config b/src/plugins/builtin/tests/string/test_config
similarity index 100%
rename from src/plugins/builtin/tests/functions/test_config
rename to src/plugins/builtin/tests/string/test_config
-- 
GitLab