diff --git a/headers/header_spec.txt b/headers/header_spec.txt index c047a3960600033ab29892ae5167958ad861a8eb..d4eddb8279fb3da9b3f70e2a7483563b6fcec11d 100644 --- a/headers/header_spec.txt +++ b/headers/header_spec.txt @@ -930,24 +930,24 @@ src/plugins/occurrence/options.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/occurrence/register.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/occurrence/register_gui.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/occurrence/register_gui.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/basic_blocks.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/basic_blocks.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/configure.ac: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/Makefile.in: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/memcmp.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/memcmp.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/memcpy.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/memcpy.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/memmove.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/memmove.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/options.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/options.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/override_table.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/override_table.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/OverrideStd.mli: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/register.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/transform.ml: CEA_LGPL_OR_PROPRIETARY -src/plugins/override_std/transform.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/basic_blocks.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/basic_blocks.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/builtin_cache.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/builtin_cache.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/Builtin.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/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/options.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/options.mli: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/register.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/transform.ml: CEA_LGPL_OR_PROPRIETARY +src/plugins/builtin/transform.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/pdg/Pdg.mli: CEA_LGPL_OR_PROPRIETARY src/plugins/pdg/annot.ml: CEA_LGPL_OR_PROPRIETARY src/plugins/pdg/annot.mli: CEA_LGPL_OR_PROPRIETARY diff --git a/src/plugins/override_std/.gitignore b/src/plugins/builtin/.gitignore similarity index 100% rename from src/plugins/override_std/.gitignore rename to src/plugins/builtin/.gitignore diff --git a/src/plugins/override_std/OverrideStd.mli b/src/plugins/builtin/Builtin.mli similarity index 100% rename from src/plugins/override_std/OverrideStd.mli rename to src/plugins/builtin/Builtin.mli diff --git a/src/plugins/override_std/Makefile.in b/src/plugins/builtin/Makefile.in similarity index 91% rename from src/plugins/override_std/Makefile.in rename to src/plugins/builtin/Makefile.in index 657670937086607c7d9844eb09bdcfa5de1c06d4..9a90a6239920bc2612629a9d5cf85008a52366bd 100644 --- a/src/plugins/override_std/Makefile.in +++ b/src/plugins/builtin/Makefile.in @@ -34,10 +34,10 @@ endif ################### PLUGIN_DIR ?= . -PLUGIN_ENABLE := @ENABLE_OVERRIDE_STD@ -PLUGIN_NAME := OverrideStd +PLUGIN_ENABLE := @ENABLE_BUILTIN@ +PLUGIN_NAME := Builtin PLUGIN_CMI := -PLUGIN_CMO := options transform override_table basic_blocks memcpy memcmp memmove register +PLUGIN_CMO := options transform builtin_cache basic_blocks memcpy memcmp memmove register PLUGIN_DISTRIBUTED := $(PLUGIN_ENABLE) PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure #PLUGIN_NO_DEFAULT_TEST := no @@ -59,6 +59,6 @@ else CONFIG_STATUS_DIR=. endif -$(OverrideStd_DIR)/Makefile: $(OverrideStd_DIR)/Makefile.in \ +$(Builtin_DIR)/Makefile: $(Builtin_DIR)/Makefile.in \ $(CONFIG_STATUS_DIR)/config.status cd $(CONFIG_STATUS_DIR) && ./config.status --file $@ diff --git a/src/plugins/override_std/basic_blocks.ml b/src/plugins/builtin/basic_blocks.ml similarity index 100% rename from src/plugins/override_std/basic_blocks.ml rename to src/plugins/builtin/basic_blocks.ml diff --git a/src/plugins/override_std/basic_blocks.mli b/src/plugins/builtin/basic_blocks.mli similarity index 100% rename from src/plugins/override_std/basic_blocks.mli rename to src/plugins/builtin/basic_blocks.mli diff --git a/src/plugins/override_std/override_table.ml b/src/plugins/builtin/builtin_cache.ml similarity index 90% rename from src/plugins/override_std/override_table.ml rename to src/plugins/builtin/builtin_cache.ml index d9acb213bdc264ea30d8071b1e300be923d75e67..a4f3ac5ed3088a94b086007ef343c8347f09bebc 100644 --- a/src/plugins/override_std/override_table.ml +++ b/src/plugins/builtin/builtin_cache.ml @@ -21,29 +21,29 @@ (**************************************************************************) module type Table = sig - val get_override: Cil_types.typ -> Cil_types.varinfo + val get_function: Cil_types.typ -> Cil_types.varinfo val get_globals: Cil_types.location -> Cil_types.global list val mark_as_computed: ?project:Project.t -> unit -> unit end -module type Override_generator = sig +module type Generator = sig val function_name: String.t val build_prototype: Cil_types.typ -> Cil_types.varinfo val build_spec: Cil_types.varinfo -> Cil_types.location -> Cil_types.funspec end -module Make_internal_table (M: Override_generator) = +module Make_internal_table (M: Generator) = (State_builder.Hashtbl(Cil_datatype.Typ.Hashtbl) (Cil_datatype.Varinfo) (struct let size = 5 let dependencies = [Ast.self] - let name = "Override." ^ M.function_name + let name = "Builtins." ^ M.function_name end)) -module Make (Generator: Override_generator) = struct +module Make (Generator: Generator) = struct module Internal_table = Make_internal_table(Generator) - let get_override t = try + let get_function t = try Internal_table.find t with Not_found -> let fct = Generator.build_prototype t in diff --git a/src/plugins/override_std/override_table.mli b/src/plugins/builtin/builtin_cache.mli similarity index 93% rename from src/plugins/override_std/override_table.mli rename to src/plugins/builtin/builtin_cache.mli index 9be836b5d998e14ce3c7271c21c8bbecfcba2d5b..1252adcfc6fa2e558091ec60f3fc045ff1fbce87 100644 --- a/src/plugins/override_std/override_table.mli +++ b/src/plugins/builtin/builtin_cache.mli @@ -20,16 +20,16 @@ (* *) (**************************************************************************) -module type Override_generator = sig +module type Generator = sig val function_name: String.t val build_prototype: Cil_types.typ -> Cil_types.varinfo val build_spec: Cil_types.varinfo -> Cil_types.location -> Cil_types.funspec end module type Table = sig - val get_override: Cil_types.typ -> Cil_types.varinfo + val get_function: Cil_types.typ -> Cil_types.varinfo val get_globals: Cil_types.location -> Cil_types.global list val mark_as_computed: ?project:Project.t -> unit -> unit end -module Make (M: Override_generator) : Table +module Make (M: Generator) : Table diff --git a/src/plugins/override_std/configure.ac b/src/plugins/builtin/configure.ac similarity index 93% rename from src/plugins/override_std/configure.ac rename to src/plugins/builtin/configure.ac index d90276f26f2ef407072b14ca88c64a956100e963..706c8832b25842dcae29c37604b0c9b0d1313459 100644 --- a/src/plugins/override_std/configure.ac +++ b/src/plugins/builtin/configure.ac @@ -21,7 +21,7 @@ ########################################################################## ########################################## -# Override stdlib C plugin # +# Builtin stdlib C plugin # ########################################## m4_define([plugin_file],Makefile.in) @@ -35,8 +35,8 @@ m4_define([FRAMAC_SHARE], m4_ifndef([FRAMAC_M4_MACROS], [m4_include(FRAMAC_SHARE/configure.ac)]) -check_plugin(overridestd,PLUGIN_RELATIVE_PATH(plugin_file), - [support for override-std plug-in],yes) +check_plugin(builtin,PLUGIN_RELATIVE_PATH(plugin_file), + [support for builtin plug-in],yes) ####################### # Generating Makefile # diff --git a/src/plugins/override_std/memcmp.ml b/src/plugins/builtin/memcmp.ml similarity index 98% rename from src/plugins/override_std/memcmp.ml rename to src/plugins/builtin/memcmp.ml index f1d6bfeff5603b7010d1cd5f7d00a42cd0f7a554..89fdc1c43b335599b02e1d63fd7454c9395ffab1 100644 --- a/src/plugins/override_std/memcmp.ml +++ b/src/plugins/builtin/memcmp.ml @@ -84,7 +84,7 @@ let generate_prototype t = Cil.setFormalsDecl vi fun_t ; vi -module Table = Override_table.Make(struct +module Table = Builtin_cache.Make(struct let function_name = function_name let build_prototype = generate_prototype let build_spec = generate_spec @@ -104,7 +104,7 @@ let well_typed_parameters s1 s2 = let create_call fct (s1, s2, len) = if well_typed_parameters s1 s2 then let typ = type_from_parameter s1 in - let fct = Table.get_override typ in + let fct = Table.get_function typ in let s1 = Cil.stripCasts s1 in let s2 = Cil.stripCasts s2 in fct, (s1, s2, len) diff --git a/src/plugins/override_std/memcmp.mli b/src/plugins/builtin/memcmp.mli similarity index 100% rename from src/plugins/override_std/memcmp.mli rename to src/plugins/builtin/memcmp.mli diff --git a/src/plugins/override_std/memcpy.ml b/src/plugins/builtin/memcpy.ml similarity index 98% rename from src/plugins/override_std/memcpy.ml rename to src/plugins/builtin/memcpy.ml index beae7eb2bd08d56ff639a7d292359185bb429fc7..5ecf6c306bbf04724f3f77386cda3655b8d7b301 100644 --- a/src/plugins/override_std/memcpy.ml +++ b/src/plugins/builtin/memcpy.ml @@ -87,7 +87,7 @@ let generate_prototype t = Cil.setFormalsDecl vi fun_t ; vi -module Table = Override_table.Make(struct +module Table = Builtin_cache.Make(struct let function_name = function_name let build_prototype = generate_prototype let build_spec = generate_spec @@ -107,7 +107,7 @@ let well_typed_parameters dest src = let create_call fct (dest, src, len) = if well_typed_parameters dest src then let typ = type_from_parameter dest in - let fct = Table.get_override typ in + let fct = Table.get_function typ in let dest = Cil.stripCasts dest in let src = Cil.stripCasts src in fct, (dest, src, len) diff --git a/src/plugins/override_std/memcpy.mli b/src/plugins/builtin/memcpy.mli similarity index 100% rename from src/plugins/override_std/memcpy.mli rename to src/plugins/builtin/memcpy.mli diff --git a/src/plugins/override_std/memmove.ml b/src/plugins/builtin/memmove.ml similarity index 98% rename from src/plugins/override_std/memmove.ml rename to src/plugins/builtin/memmove.ml index cd292e512a9d8ce6b3ba8beb1d7a0bcab9fb5d6c..0084c68dc7805c2cd8325695a9b5fb02a4490b4b 100644 --- a/src/plugins/override_std/memmove.ml +++ b/src/plugins/builtin/memmove.ml @@ -82,7 +82,7 @@ let generate_prototype t = Cil.setFormalsDecl vi fun_t ; vi -module Table = Override_table.Make(struct +module Table = Builtin_cache.Make(struct let function_name = function_name let build_prototype = generate_prototype let build_spec = generate_spec @@ -102,7 +102,7 @@ let well_typed_parameters dest src = let create_call fct (dest, src, len) = if well_typed_parameters dest src then let typ = type_from_parameter dest in - let fct = Table.get_override typ in + let fct = Table.get_function typ in let dest = Cil.stripCasts dest in let src = Cil.stripCasts src in fct, (dest, src, len) diff --git a/src/plugins/override_std/memmove.mli b/src/plugins/builtin/memmove.mli similarity index 100% rename from src/plugins/override_std/memmove.mli rename to src/plugins/builtin/memmove.mli diff --git a/src/plugins/override_std/options.ml b/src/plugins/builtin/options.ml similarity index 95% rename from src/plugins/override_std/options.ml rename to src/plugins/builtin/options.ml index 92381aa5ecac64648e8063cd36edfade420e569f..e1723693a8d6978bf7b2f02e81eadb9cfeb778c8 100644 --- a/src/plugins/override_std/options.ml +++ b/src/plugins/builtin/options.ml @@ -20,8 +20,8 @@ (* *) (**************************************************************************) -let name = "Override Std" -let shortname = "override-std" +let name = "Builtin" +let shortname = "builtin" include Plugin.Register (struct @@ -32,7 +32,7 @@ include Plugin.Register module Enabled = False (struct - let option_name = "-override-std" + let option_name = "-builtin" let help = "" end) diff --git a/src/plugins/override_std/options.mli b/src/plugins/builtin/options.mli similarity index 100% rename from src/plugins/override_std/options.mli rename to src/plugins/builtin/options.mli diff --git a/src/plugins/override_std/register.ml b/src/plugins/builtin/register.ml similarity index 96% rename from src/plugins/override_std/register.ml rename to src/plugins/builtin/register.ml index 96a7d82bdb9cc45f3eda13103e3e81d41eaccf66..67719835d820cbfd1879f3f2119a1674ef9bb0f0 100644 --- a/src/plugins/override_std/register.ml +++ b/src/plugins/builtin/register.ml @@ -20,7 +20,7 @@ (* *) (**************************************************************************) -let category = File.register_code_transformation_category "override-std" +let category = File.register_code_transformation_category "builtin" let () = let perform file = diff --git a/src/plugins/override_std/tests/functions/memcmp.c b/src/plugins/builtin/tests/functions/memcmp.c similarity index 100% rename from src/plugins/override_std/tests/functions/memcmp.c rename to src/plugins/builtin/tests/functions/memcmp.c diff --git a/src/plugins/override_std/tests/functions/memcpy.c b/src/plugins/builtin/tests/functions/memcpy.c similarity index 100% rename from src/plugins/override_std/tests/functions/memcpy.c rename to src/plugins/builtin/tests/functions/memcpy.c diff --git a/src/plugins/override_std/tests/functions/memmove.c b/src/plugins/builtin/tests/functions/memmove.c similarity index 100% rename from src/plugins/override_std/tests/functions/memmove.c rename to src/plugins/builtin/tests/functions/memmove.c diff --git a/src/plugins/override_std/tests/functions/oracle/memcmp.res.oracle b/src/plugins/builtin/tests/functions/oracle/memcmp.res.oracle similarity index 100% rename from src/plugins/override_std/tests/functions/oracle/memcmp.res.oracle rename to src/plugins/builtin/tests/functions/oracle/memcmp.res.oracle diff --git a/src/plugins/override_std/tests/functions/oracle/memcpy.res.oracle b/src/plugins/builtin/tests/functions/oracle/memcpy.res.oracle similarity index 100% rename from src/plugins/override_std/tests/functions/oracle/memcpy.res.oracle rename to src/plugins/builtin/tests/functions/oracle/memcpy.res.oracle diff --git a/src/plugins/override_std/tests/functions/oracle/memmove.res.oracle b/src/plugins/builtin/tests/functions/oracle/memmove.res.oracle similarity index 100% rename from src/plugins/override_std/tests/functions/oracle/memmove.res.oracle rename to src/plugins/builtin/tests/functions/oracle/memmove.res.oracle diff --git a/src/plugins/builtin/tests/test_config b/src/plugins/builtin/tests/test_config new file mode 100644 index 0000000000000000000000000000000000000000..c72c35a246589fe449eefbe8cf0f45f1b6842e87 --- /dev/null +++ b/src/plugins/builtin/tests/test_config @@ -0,0 +1 @@ +OPT: @PTEST_FILE@ -builtin -print -check -then -ocode @PTEST_DIR@/result/@PTEST_NAME@.c -print -then @PTEST_DIR@/result/@PTEST_NAME@.c @PTEST_FILE@ -ocode="" -print \ No newline at end of file diff --git a/src/plugins/override_std/transform.ml b/src/plugins/builtin/transform.ml similarity index 91% rename from src/plugins/override_std/transform.ml rename to src/plugins/builtin/transform.ml index 7ab677e56d1c172b572294ffcd784034ec06dfef..a09358d511d2f1228a20281645be1fa5d44dda54 100644 --- a/src/plugins/override_std/transform.ml +++ b/src/plugins/builtin/transform.ml @@ -22,25 +22,25 @@ open Cil_types -module type Override = sig +module type Builtin = sig val function_name: string val replace_call: instr -> instr val get_globals: location -> global list val mark_as_computed: ?project:Project.t -> unit -> unit end -let base : (string, (module Override)) Hashtbl.t = Hashtbl.create 17 +let base : (string, (module Builtin)) Hashtbl.t = Hashtbl.create 17 -let register ((module M: Override) as m) = +let register ((module M: Builtin) as m) = Hashtbl.add base M.function_name m let mark_as_computed () = - let mark _ m = let module M = (val m: Override) in M.mark_as_computed () in + let mark _ m = let module M = (val m: Builtin) in M.mark_as_computed () in Hashtbl.iter mark base let get_globals loc = let get_globals m = - let module M = (val m: Override) in + let module M = (val m: Builtin) in M.get_globals loc in Hashtbl.fold (fun _ v l -> (get_globals v) @ l) base [] @@ -62,7 +62,7 @@ let replace_call inst = find_stdlib_attr_in_call inst ; let name = called_function_name inst in let m = Hashtbl.find base name in - let module M = (val m: Override) in + let module M = (val m: Builtin) in M.replace_call inst with Not_found -> inst diff --git a/src/plugins/override_std/transform.mli b/src/plugins/builtin/transform.mli similarity index 96% rename from src/plugins/override_std/transform.mli rename to src/plugins/builtin/transform.mli index 88f8cad75af89e016b63f19f0b6365cecebe5b1b..53d02fbfc2d876fb71e4b2a038ac71f3aee270ac 100644 --- a/src/plugins/override_std/transform.mli +++ b/src/plugins/builtin/transform.mli @@ -22,12 +22,12 @@ open Cil_types -module type Override = sig +module type Builtin = sig val function_name: string val replace_call: instr -> instr val get_globals: location -> global list val mark_as_computed: ?project:Project.t -> unit -> unit end -val register: (module Override) -> unit +val register: (module Builtin) -> unit val transform: Cil_types.file -> unit diff --git a/src/plugins/override_std/tests/test_config b/src/plugins/override_std/tests/test_config deleted file mode 100644 index ac3b92b43ff97c69d2b381fc3f4591cba41b738e..0000000000000000000000000000000000000000 --- a/src/plugins/override_std/tests/test_config +++ /dev/null @@ -1 +0,0 @@ -OPT: @PTEST_FILE@ -override-std -print -check -then -ocode @PTEST_DIR@/result/@PTEST_NAME@.c -print -then @PTEST_DIR@/result/@PTEST_NAME@.c @PTEST_FILE@ -ocode="" -print \ No newline at end of file