diff --git a/doc/developer/advance.tex b/doc/developer/advance.tex index d4a5f040cace3479df379998d03bdf5f0ea8fea1..b8f1f53dde2ef293ac0252e509c8c47756df0968 100644 --- a/doc/developer/advance.tex +++ b/doc/developer/advance.tex @@ -963,10 +963,14 @@ the configuration header of a test (or a test suite). & Add and remove options from the default set & \textit{None} \\ +& \texttt{EXIT}\nscodeidxdef{Test!Directive}{EXIT} +& Indicate expected exit status if not 0. +& \textit{None} +\\ & \texttt{LOG}\nscodeidxdef{Test!Directive}{LOG} & Add an additional file to compare against an oracle & \textit{None} -\\ +\\ & \texttt{EXECNOW}\nscodeidxdef{Test!Directive}{EXECNOW} & Run a command before the following commands. When specified in a configuration file, run it only once. @@ -1078,6 +1082,15 @@ the sequence above is read in order and defines a configuration level configuration). After an \texttt{OPT} or \texttt{STDOPT} directive is encountered, the set of additional \texttt{LOG} files is reset to its default. +\item By default, \framac is expected to return successfully (i.e., with + an exit status of 0). If a test is supposed to lead to an error, an + \texttt{EXIT} directive must be used. It takes as argument an integer + (typically 1 to denote a user error) representing the expected exit status + for the subsequent tests. All tests triggered by \texttt{OPT} or + \texttt{STDOPT} directives encountered after the \texttt{EXIT} directive + will be expected to exit with the corresponding status, until a new + \texttt{EXIT} directive is encountered. (\texttt{EXIT: 0} will thus + indicate that subsequent tests are expected to exit normally). \item If there are several directives \texttt{OPT} in the same configuration level, they correspond to different test cases. The \texttt{OPT} directive(s) of a given configuration level replace(s) diff --git a/doc/developer/changes.tex b/doc/developer/changes.tex index 66ae55f2ea703e44e2d8a4e80ab62421c1b997ce..42a4dfd79401bd3564dae3e62a9cd0f2fa2ddd1f 100644 --- a/doc/developer/changes.tex +++ b/doc/developer/changes.tex @@ -5,6 +5,11 @@ This chapter summarizes the major changes in this documentation between each \framac release, from newest to oldest. +\section*{dev} +\begin{itemize} +\item \textbf{Testing}: Document new directive \texttt{EXIT}. +\end{itemize} + \section*{22.0 Titanium} \begin{itemize} \item \textbf{Testing}: Document new directives \texttt{TIMEOUT} and diff --git a/ptests/ptests.ml b/ptests/ptests.ml index 829178387d73584bf79e2096fa8671c80f4fcc9b..884f56a54c6f93a7944447bc2dcf7c8c56f6b309 100644 --- a/ptests/ptests.ml +++ b/ptests/ptests.ml @@ -364,8 +364,6 @@ let () = ) argspec) ) @ ["", Arg.Unit (fun () -> ()), example_msg;]) make_test_suite umsg -;; - let fail s = Format.printf "Error: %s@." s; @@ -598,6 +596,15 @@ end (** configuration of a directory/test. *) +type cmd = { + toplevel: string; + opts: string; + macros: Macros.t; + exit_code: string option; + logs:string list; + timeout:string +} + type config = { dc_test_regexp: string; (** regexp of test files. *) @@ -609,7 +616,8 @@ type config = (** full path of the default toplevel. *) dc_filter : string option; (** optional filter to apply to standard output *) - dc_toplevels : (string * string * string list * Macros.t * string) list; + dc_exit_code : string option; (** required exit code *) + dc_commands : cmd list; (** toplevel full path, options to launch the toplevel on, and list of output files to monitor beyond stdout and stderr. *) dc_dont_run : bool; @@ -630,8 +638,9 @@ let default_config () = dc_macros = default_macros (); dc_execnow = []; dc_filter = None ; + dc_exit_code = None; dc_default_toplevel = !toplevel_path; - dc_toplevels = [ !toplevel_path, default_options, [], Macros.empty, "" ]; + dc_commands = [ { toplevel= !toplevel_path; opts=default_options; macros=Macros.empty; exit_code=None; logs= []; timeout= ""} ]; dc_dont_run = false; dc_framac = true; dc_default_log = []; @@ -694,11 +703,24 @@ let scan_execnow ~once dir ex_timeout (s:string) = ex_timeout; } -(* the default toplevel for the current level of options. *) -let current_default_toplevel = ref !toplevel_path -let current_default_log = ref [] -let current_default_cmds = - ref [!toplevel_path,default_options,[], Macros.empty, ""] +type parsing_env = { + current_default_toplevel: string; + current_default_log: string list; + current_default_cmds: cmd list; +} + +let default_parsing_env = ref { + current_default_toplevel = "" ; + current_default_log = [] ; + current_default_cmds = [] + } + +let set_default_parsing_env config = + default_parsing_env := { + current_default_toplevel = config.dc_default_toplevel; + current_default_log = config.dc_default_log; + current_default_cmds = List.rev config.dc_commands; + } let make_custom_opts = let space = Str.regexp " " in @@ -769,28 +791,32 @@ let config_options = "OPT", (fun _ s current -> let t = - current.dc_default_toplevel, - s, - current.dc_default_log, - current.dc_macros, - current.dc_timeout + {toplevel= current.dc_default_toplevel; + opts= s; + logs= current.dc_default_log; + exit_code= current.dc_exit_code; + macros= current.dc_macros; + timeout= current.dc_timeout} in { current with - (* dc_default_toplevel = !current_default_toplevel;*) - dc_default_log = !current_default_log; - dc_toplevels = t :: current.dc_toplevels }); + dc_default_log = !default_parsing_env.current_default_log; + dc_commands = t :: current.dc_commands }); "STDOPT", (fun _ s current -> let new_top = List.map - (fun (cmd,opts, log, macros,_) -> - cmd, make_custom_opts opts s, log @ current.dc_default_log, - current.dc_macros, current.dc_timeout) - !current_default_cmds + (fun command -> + { command with opts= make_custom_opts command.opts s; + logs= command.logs @ current.dc_default_log; + macros = current.dc_macros; + exit_code = current.dc_exit_code; + timeout= current.dc_timeout + }) + !default_parsing_env.current_default_cmds in - { current with dc_toplevels = new_top @ current.dc_toplevels; - dc_default_log = !current_default_log }); + { current with dc_commands = new_top @ current.dc_commands; + dc_default_log = !default_parsing_env.current_default_log }); "FILEREG", (fun _ s current -> { current with dc_test_regexp = s }); @@ -798,6 +824,9 @@ let config_options = "FILTER", (fun _ s current -> { current with dc_filter = Some s }); + "EXIT", + (fun _ s current -> { current with dc_exit_code = Some s }); + "GCC", (fun _ _ acc -> acc); @@ -817,16 +846,12 @@ let config_options = "TIMEOUT", (fun _ s current -> { current with dc_timeout = s }); "NOFRAMAC", - (fun _ _ current -> { current with dc_toplevels = []; dc_framac = false; }); + (fun _ _ current -> { current with dc_commands = []; dc_framac = false; }); ] -let scan_options dir scan_buffer default = - let r = - ref { default with dc_toplevels = [] } - in - current_default_toplevel := default.dc_default_toplevel; - current_default_log := default.dc_default_log; - current_default_cmds := List.rev default.dc_toplevels; +let scan_directives dir scan_buffer default = + set_default_parsing_env default; + let r = ref { default with dc_commands = [] } in let treat_line s = try Scanf.sscanf s "%[ *]%[A-Za-z0-9]: %s@\n" @@ -850,9 +875,9 @@ let scan_options dir scan_buffer default = assert false with End_of_file -> - (match !r.dc_toplevels with - | [] when !r.dc_framac -> { !r with dc_toplevels = default.dc_toplevels } - | l -> { !r with dc_toplevels = List.rev l }) + (match !r.dc_commands with + | [] when !r.dc_framac -> { !r with dc_commands = default.dc_commands } + | l -> { !r with dc_commands = List.rev l }) let split_config = Str.regexp ",[ ]*" @@ -882,14 +907,14 @@ let scan_test_file default dir f = let configs = Str.split split_config (String.trim names) in if List.exists is_current_config configs then (* Found options for current config! *) - scan_options dir scan_buffer default + scan_directives dir scan_buffer default else (* config name does not match: eat config and continue. But only if the comment is still opened by the end of the line and we are indeed reading a config *) (if List.exists is_config configs && not (str_string_match end_comment names 0) then - ignore (scan_options dir scan_buffer default); + ignore (scan_directives dir scan_buffer default); scan_config ())) in try @@ -911,6 +936,7 @@ type toplevel_command = options : string ; toplevel: string ; filter : string option ; + exit_code : int ; directory : SubDir.t ; n : int; execnow:bool; @@ -929,7 +955,7 @@ type diff = | Log_error of SubDir.t (** directory *) * string (** file *) type cmps = - | Cmp_Toplevel of toplevel_command + | Cmp_Toplevel of toplevel_command * bool (** returns with the required exit_code *) | Cmp_Log of SubDir.t (** directory *) * string (** file *) type shared = @@ -947,6 +973,7 @@ type shared = mutable commands_finished : bool ; mutable cmp_finished : bool ; mutable summary_time : float ; + mutable summary_ret : int ; (* number of run with the required exit code *) mutable summary_run : int ; mutable summary_ok : int ; mutable summary_log : int; @@ -966,6 +993,7 @@ let shared = cmp_finished = false ; summary_time = (Unix.times()).Unix.tms_cutime ; summary_run = 0 ; + summary_ret = 0 ; summary_ok = 0 ; summary_log = 0 } @@ -1155,7 +1183,7 @@ let command_string command = let command_string = match filter with | None -> command_string | Some filter -> - Printf.sprintf "%s && %s < %s >%s && rm -f %s" + Printf.sprintf "%s && %s < %s >%s && rm -f %s" (* exit code ? *) command_string filter (Filename.sanitize stderr) @@ -1231,34 +1259,38 @@ end module Report_run=Make_Report(struct type t=int*float (* At some point will contain the running time*) end) +let report_run cmd r = Report_run.record cmd r -let report_run cmp r = Report_run.record cmp r -module Report_cmp=Make_Report(struct type t=int*int end) +type cmp = { res : int; err:int ; ret:bool } +module Report_cmp=Make_Report(struct type t=cmp end) let report_cmp = Report_cmp.record + let pretty_report fmt = Report_run.iter - (fun test (_run_result,time_result) -> + (fun test (run_result,time_result) -> Format.fprintf fmt "<testcase classname=%S name=%S time=\"%f\">%s</testcase>@." (Filename.basename (SubDir.get test.directory)) test.file time_result - (let res,err = Report_cmp.find test in + (let {res;err;ret} = Report_cmp.find test in Report_cmp.remove test; - (if res=0 && err=0 then "" else + (if res=0 && err=0 && ret then "" else Format.sprintf "<failure type=\"Regression\">%s</failure>" - (if res=1 then "Stdout oracle difference" + (if not ret then Format.sprintf "Unexpected return code (returns %d instead of %d)" run_result test.exit_code + else if res=1 then "Stdout oracle difference" else if res=2 then "Stdout System Error (missing oracle?)" else if err=1 then "Stderr oracle difference" else if err=2 then "Stderr System Error (missing oracle?)" else "Unexpected errror")))); (* Test that were compared but not runned *) Report_cmp.iter - (fun test (res,err) -> + (fun test {res;err;ret} -> Format.fprintf fmt "<testcase classname=%S name=%S>%s</testcase>@." (Filename.basename (SubDir.get test.directory)) test.file - (if res=0 && err=0 then "" else + (if res=0 && err=0 && ret then "" else Format.sprintf "<failure type=\"Regression\">%s</failure>" - (if res=1 then "Stdout oracle difference" + (if not ret then "Unexpected return code" + else if res=1 then "Stdout oracle difference" else if res=2 then "Stdout System Error (missing oracle?)" else if err=1 then "Stderr oracle difference" else if err=2 then "Stderr System Error (missing oracle?)" @@ -1269,8 +1301,9 @@ let xunit_report () = let fmt = Format.formatter_of_out_channel out in Format.fprintf fmt "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\ - @\n<testsuite errors=\"0\" failures=\"%d\" name=\"%s\" tests=\"%d\" time=\"%f\" timestamp=\"%f\">\ + @\n<testsuite errors=\"%d\" failures=\"%d\" name=\"%s\" tests=\"%d\" time=\"%f\" timestamp=\"%f\">\ @\n%t</testsuite>@." + (shared.summary_run-shared.summary_ret) (shared.summary_log-shared.summary_ok) "Frama-C" shared.summary_log @@ -1303,18 +1336,29 @@ let do_command command = (* command string also replaces macros in logfiles names, which is useful for Examine as well. *) let command_string = command_string command in - if !behavior <> Examine - then begin - if !verbosity >= 1 - then lock_printf "%% launch %s@." command_string ; - let launch_result = launch command_string in - let time = 0. (* Individual time is difficult to compute correctly - for now, and currently unused *) in - report_run command (launch_result, time) - end; + let summary_ret = + if !behavior <> Examine + then begin + if !verbosity >= 1 + then lock_printf "%% launch %s@." command_string ; + let launch_result = launch command_string in + let time = 0. (* Individual time is difficult to compute correctly + for now, and currently unused *) in + report_run command (launch_result, time) ; + let summary_ret = (launch_result = command.exit_code) + || (command.filter <> None) (* cannot checks exit code *) + in + if not summary_ret then + lock_printf "%% Unexpected code (returns %d instead of %d) for command: %s@." launch_result command.exit_code command_string ; + summary_ret + end + else false + in lock (); + if summary_ret then + shared.summary_ret <- succ shared.summary_ret; shared.summary_run <- succ shared.summary_run ; - Queue.push (Cmp_Toplevel command) shared.cmps; + Queue.push (Cmp_Toplevel (command,summary_ret)) shared.cmps; List.iter (fun f -> Queue.push (Cmp_Log (command.directory, f)) shared.cmps) command.log_files; @@ -1342,11 +1386,13 @@ let do_command command = else begin let rec treat_cmd = function Toplevel cmd -> - shared.summary_run <- shared.summary_run + 1; + shared.summary_run <- succ shared.summary_run; + shared.summary_ret <- succ shared.summary_ret; let log_prefix = log_prefix cmd in unlink (log_prefix ^ ".res.log ") | Target (execnow,cmds) -> shared.summary_run <- succ shared.summary_run; + shared.summary_ret <- succ shared.summary_ret; remove_execnow_results execnow; Queue.iter treat_cmd cmds in @@ -1379,6 +1425,7 @@ let do_command command = lock_printf "%% launch %s@." cmd; end; shared.summary_run <- succ shared.summary_run; + shared.summary_ret <- succ shared.summary_ret; let r = launch cmd in (* mark as already executed. For EXECNOW in test_config files, other instances (for example another test of the same @@ -1478,12 +1525,15 @@ let compare_one_log_file dir file = ~cmp_string ~log_file ~oracle_file) let do_cmp = function - | Cmp_Toplevel cmp -> - let log_prefix = log_prefix cmp in - let oracle_prefix = oracle_prefix cmp in - let res = compare_one_file cmp log_prefix oracle_prefix Res in - let err = compare_one_file cmp log_prefix oracle_prefix Err in - report_cmp cmp (res,err) + | Cmp_Toplevel (cmd,ret) -> + let log_prefix = log_prefix cmd in + let oracle_prefix = oracle_prefix cmd in + let cmp = { res = compare_one_file cmd log_prefix oracle_prefix Res; + err = compare_one_file cmd log_prefix oracle_prefix Err; + ret + } + in + report_cmp cmd cmp | Cmp_Log(dir, f) -> ignore (compare_one_log_file dir f) @@ -1626,7 +1676,7 @@ let default_config () = if Sys.file_exists general_config_file then begin let scan_buffer = Scanf.Scanning.from_file general_config_file in - scan_options + scan_directives (SubDir.create ~with_subdir:false Filename.current_dir_name) scan_buffer (default_config ()) @@ -1690,7 +1740,7 @@ let () = if Sys.file_exists config then begin let scan_buffer = Scanf.Scanning.from_file config in - scan_options directory scan_buffer default + scan_directives directory scan_buffer default end else default in @@ -1728,11 +1778,18 @@ let dispatcher () = scan_test_file config directory file in let i = ref 0 in let e = ref 0 in - let nb_files = List.length config.dc_toplevels in - let make_toplevel_cmd (toplevel, options, log_files, macros, timeout) = + let nb_files = List.length config.dc_commands in + let make_toplevel_cmd {toplevel; opts=options; logs=log_files; macros; exit_code; timeout} = let n = !i in {file; options; toplevel; nb_files; directory; n; log_files; filter = config.dc_filter; macros; + exit_code = begin + match exit_code with + | None -> 0 + | Some exit_code -> + try int_of_string exit_code with + | _ -> Format.eprintf "@[%s: integer required for directive EXIT: %s (defaults to 0)@]@." file exit_code ; 0 + end; execnow=false; timeout; } in @@ -1743,6 +1800,7 @@ let dispatcher () = log_files = []; options = ""; toplevel = s; + exit_code = 0; n = !e; directory = directory; filter = config.dc_filter; @@ -1779,7 +1837,7 @@ let dispatcher () = (match config.dc_execnow with | hd :: tl -> let subworkqueue = Queue.create () in - List.iter (treat_option subworkqueue) config.dc_toplevels; + List.iter (treat_option subworkqueue) config.dc_commands; let target = List.fold_left (fun current_target execnow -> @@ -1792,7 +1850,7 @@ let dispatcher () = | [] -> List.iter (treat_option shared.commands) - config.dc_toplevels); + config.dc_commands); Condition.broadcast shared.work_available; end; unlock () ; @@ -1836,12 +1894,12 @@ let () = Thread.join diff_id; if !behavior = Run then - lock_printf "%% Diffs finished. Summary:@\nRun = %d@\nOk = %d of %d@\nTime = %f s.@." - shared.summary_run shared.summary_ok shared.summary_log + lock_printf "%% Diffs finished. Summary:@\nRun = %d of %d@\nOk = %d of %d@\nTime = %f s.@." + shared.summary_ret shared.summary_run shared.summary_ok shared.summary_log ((Unix.times()).Unix.tms_cutime -. shared.summary_time); xunit_report (); let error_code = - if !do_error_code && shared.summary_log <> shared.summary_ok + if !do_error_code && ((shared.summary_log <> shared.summary_ok) || (shared.summary_ret <> shared.summary_run)) then 1 else 0 in diff --git a/src/plugins/aorai/tests/ya/metavariables-incompatible.i b/src/plugins/aorai/tests/ya/metavariables-incompatible.i index a32cefe9e95a077a549e747e0231200ad48c4a5b..ac025ee303230685e01374351f91c3365307ff76 100644 --- a/src/plugins/aorai/tests/ya/metavariables-incompatible.i +++ b/src/plugins/aorai/tests/ya/metavariables-incompatible.i @@ -1,6 +1,5 @@ /* run.config* + EXIT: 1 OPT: -aorai-automata @PTEST_DIR@/@PTEST_NAME@.ya -load-module tests/Aorai_test.cmxs -aorai-test-number @PTEST_NUMBER@ @PROVE_OPTIONS@ */ - void main(void) {} - diff --git a/src/plugins/aorai/tests/ya/metavariables-wrong.i b/src/plugins/aorai/tests/ya/metavariables-wrong.i index a0542d200213bae00dd447ca74e59ef7a0c15f08..febfd16cb34647a707de1a733cc9e0e9afd9fd5b 100644 --- a/src/plugins/aorai/tests/ya/metavariables-wrong.i +++ b/src/plugins/aorai/tests/ya/metavariables-wrong.i @@ -1,7 +1,7 @@ /* run.config* + EXIT: 1 OPT: -aorai-automata @PTEST_DIR@/@PTEST_NAME@.ya -load-module tests/Aorai_test.cmxs -aorai-test-number @PTEST_NUMBER@ @PROVE_OPTIONS@ */ - void f(int x) {} void g(void) {} void h(void) {} diff --git a/src/plugins/aorai/tests/ya/singleassignment-wrong.i b/src/plugins/aorai/tests/ya/singleassignment-wrong.i index 4a88230c1c71bc1958ba3a68ca1a473d28633b66..baa7b42e03eacd67ca4225cae17413023786a2e0 100644 --- a/src/plugins/aorai/tests/ya/singleassignment-wrong.i +++ b/src/plugins/aorai/tests/ya/singleassignment-wrong.i @@ -1,7 +1,7 @@ /* run.config* + EXIT: 1 OPT: -aorai-automata @PTEST_DIR@/@PTEST_NAME@.ya -load-module tests/Aorai_test.cmxs -aorai-test-number @PTEST_NUMBER@ @PROVE_OPTIONS@ */ - int main(int x) { return x; diff --git a/src/plugins/report/tests/report/classify.c b/src/plugins/report/tests/report/classify.c index 3ee8df0b80ad14afc530a3013f7067df128c4ec8..59d10572d66174086765df608e8473c6ad2c2f62 100644 --- a/src/plugins/report/tests/report/classify.c +++ b/src/plugins/report/tests/report/classify.c @@ -2,6 +2,7 @@ CMD: @frama-c@ -kernel-warn-key=annot-error=active -no-autoload-plugins -load-module wp,report -report-output @PTEST_RESULT@/classified.@PTEST_NUMBER@.json -wp -wp-msg-key shell LOG: classified.@PTEST_NUMBER@.json OPT: -wp-prover qed -report-unclassified-untried REVIEW -then -report-classify +EXIT: 1 LOG: classified.@PTEST_NUMBER@.json OPT: -wp-prover qed -report-unclassified-warning ERROR -then -report-classify LOG: classified.@PTEST_NUMBER@.json diff --git a/src/plugins/report/tests/report/oracle/classified.0.json b/src/plugins/report/tests/report/oracle/classified.0.json index e9c382db69c473058f1aa9cf59aeb11173d6b2a8..f25ccd19078c6d97a591f2edde69d3a0b207ad12 100644 --- a/src/plugins/report/tests/report/oracle/classified.0.json +++ b/src/plugins/report/tests/report/oracle/classified.0.json @@ -1,5 +1,5 @@ [ { "classid": "unclassified.untried", "action": "REVIEW", "title": "f_requires", "descr": "Untried status", - "file": "tests/report/classify.c", "line": 22 } + "file": "tests/report/classify.c", "line": 23 } ] diff --git a/src/plugins/report/tests/report/oracle/classified.1.json b/src/plugins/report/tests/report/oracle/classified.1.json index 27e60abed79c035bb078fbee24c576854802ce37..c8821c7ebaf7858583a891804c2cdccbcad35adb 100644 --- a/src/plugins/report/tests/report/oracle/classified.1.json +++ b/src/plugins/report/tests/report/oracle/classified.1.json @@ -2,7 +2,7 @@ { "classid": "kernel.unclassified.warning", "action": "ERROR", "title": "Unclassified Warning (Plugin 'kernel')", "descr": "unbound logic variable ignored. Ignoring code annotation", - "file": "tests/report/classify.c", "line": 27 }, + "file": "tests/report/classify.c", "line": 28 }, { "classid": "wp.unclassified.warning", "action": "ERROR", "title": "Unclassified Warning (Plugin 'wp')", "descr": "Missing RTE guards" } diff --git a/src/plugins/report/tests/report/oracle/classified.2.json b/src/plugins/report/tests/report/oracle/classified.2.json index 27e60abed79c035bb078fbee24c576854802ce37..c8821c7ebaf7858583a891804c2cdccbcad35adb 100644 --- a/src/plugins/report/tests/report/oracle/classified.2.json +++ b/src/plugins/report/tests/report/oracle/classified.2.json @@ -2,7 +2,7 @@ { "classid": "kernel.unclassified.warning", "action": "ERROR", "title": "Unclassified Warning (Plugin 'kernel')", "descr": "unbound logic variable ignored. Ignoring code annotation", - "file": "tests/report/classify.c", "line": 27 }, + "file": "tests/report/classify.c", "line": 28 }, { "classid": "wp.unclassified.warning", "action": "ERROR", "title": "Unclassified Warning (Plugin 'wp')", "descr": "Missing RTE guards" } diff --git a/src/plugins/report/tests/report/oracle/classified.3.json b/src/plugins/report/tests/report/oracle/classified.3.json index 8af0cb6a445af179fe0b8d2d4d521890f12c81b4..aed33faf82e82794640d4e01c12729ed0c9f29ec 100644 --- a/src/plugins/report/tests/report/oracle/classified.3.json +++ b/src/plugins/report/tests/report/oracle/classified.3.json @@ -1,10 +1,10 @@ [ { "classid": "Parsing", "action": "ERROR", "title": "", "descr": "unbound logic variable ignored. Ignoring code annotation", - "file": "tests/report/classify.c", "line": 27 }, + "file": "tests/report/classify.c", "line": 28 }, { "classid": "RTE", "action": "REVIEW", "title": "Missing RTE guards", "descr": "Shall run Eva plug-in" }, { "classid": "UNIT", "action": "INFO", "title": "Precondition 'f'", "descr": "Property Untried", "file": "tests/report/classify.c", - "line": 22 } + "line": 23 } ] diff --git a/src/plugins/report/tests/report/oracle/classified.4.json b/src/plugins/report/tests/report/oracle/classified.4.json index 8af0cb6a445af179fe0b8d2d4d521890f12c81b4..aed33faf82e82794640d4e01c12729ed0c9f29ec 100644 --- a/src/plugins/report/tests/report/oracle/classified.4.json +++ b/src/plugins/report/tests/report/oracle/classified.4.json @@ -1,10 +1,10 @@ [ { "classid": "Parsing", "action": "ERROR", "title": "", "descr": "unbound logic variable ignored. Ignoring code annotation", - "file": "tests/report/classify.c", "line": 27 }, + "file": "tests/report/classify.c", "line": 28 }, { "classid": "RTE", "action": "REVIEW", "title": "Missing RTE guards", "descr": "Shall run Eva plug-in" }, { "classid": "UNIT", "action": "INFO", "title": "Precondition 'f'", "descr": "Property Untried", "file": "tests/report/classify.c", - "line": 22 } + "line": 23 } ] diff --git a/src/plugins/report/tests/report/oracle/classified.5.json b/src/plugins/report/tests/report/oracle/classified.5.json index 81e4ec8552e5d75bd10bd115b7ece07d6b619e37..e55c70dfe28355ab3df65c673b1bfef821f87aff 100644 --- a/src/plugins/report/tests/report/oracle/classified.5.json +++ b/src/plugins/report/tests/report/oracle/classified.5.json @@ -1,16 +1,16 @@ [ { "classid": "Parsing", "action": "ERROR", "title": "", "descr": "unbound logic variable ignored. Ignoring code annotation", - "file": "tests/report/classify.c", "line": 27 }, + "file": "tests/report/classify.c", "line": 28 }, { "classid": "RTE", "action": "REVIEW", "title": "Missing RTE guards", "descr": "Shall run Eva plug-in" }, { "classid": "UNIT", "action": "INFO", "title": "Precondition 'f'", "descr": "Property Untried", "file": "tests/report/classify.c", - "line": 22 }, + "line": 23 }, { "classid": "GOAL", "action": "ERROR", "title": "Postcondition 'f'", "descr": "Property Untried", "file": "tests/report/classify.c", - "line": 23 }, + "line": 24 }, { "classid": "unclassified.untried", "action": "REVIEW", "title": "f_assigns", "descr": "Untried status", - "file": "tests/report/classify.c", "line": 24 } + "file": "tests/report/classify.c", "line": 25 } ] diff --git a/src/plugins/report/tests/report/oracle/classify.0.res.oracle b/src/plugins/report/tests/report/oracle/classify.0.res.oracle index e19a301288f31daaee5a84de423e34be38e9a539..5484bb541213ea2e6bb40e362b4f5c95d164a9e3 100644 --- a/src/plugins/report/tests/report/oracle/classify.0.res.oracle +++ b/src/plugins/report/tests/report/oracle/classify.0.res.oracle @@ -1,6 +1,6 @@ # frama-c -wp [...] [kernel] Parsing tests/report/classify.c (with preprocessing) -[kernel:annot-error] tests/report/classify.c:27: Warning: +[kernel:annot-error] tests/report/classify.c:28: Warning: unbound logic variable ignored. Ignoring code annotation [wp] Running WP plugin... [wp] Warning: Missing RTE guards diff --git a/src/plugins/report/tests/report/oracle/classify.1.res.oracle b/src/plugins/report/tests/report/oracle/classify.1.res.oracle index 442bb8d3b8ce3649bef6678accea16e983d104d3..ab8672ef1b4e893489351d33b45e5b17d67b0e11 100644 --- a/src/plugins/report/tests/report/oracle/classify.1.res.oracle +++ b/src/plugins/report/tests/report/oracle/classify.1.res.oracle @@ -1,7 +1,7 @@ [report] Monitoring events # frama-c -wp [...] [kernel] Parsing tests/report/classify.c (with preprocessing) -[kernel:annot-error] tests/report/classify.c:27: Warning: +[kernel:annot-error] tests/report/classify.c:28: Warning: unbound logic variable ignored. Ignoring code annotation [wp] Running WP plugin... [wp] Warning: Missing RTE guards diff --git a/src/plugins/report/tests/report/oracle/classify.2.res.oracle b/src/plugins/report/tests/report/oracle/classify.2.res.oracle index 974d340981d9d583ddecf5a335ebfbe03c3002a9..a9cd75caa362e75d69326006fab6658fa50e8482 100644 --- a/src/plugins/report/tests/report/oracle/classify.2.res.oracle +++ b/src/plugins/report/tests/report/oracle/classify.2.res.oracle @@ -1,7 +1,7 @@ [report] Monitoring events # frama-c -wp [...] [kernel] Parsing tests/report/classify.c (with preprocessing) -[kernel:annot-error] tests/report/classify.c:27: Warning: +[kernel:annot-error] tests/report/classify.c:28: Warning: unbound logic variable ignored. Ignoring code annotation [wp] Running WP plugin... [wp] Warning: Missing RTE guards diff --git a/src/plugins/report/tests/report/oracle/classify.3.res.oracle b/src/plugins/report/tests/report/oracle/classify.3.res.oracle index 91bb8b30a52c6ab24b75cf1c04a53d3cc15534d7..b9a1a38184fe8c745b10cefea6581e135ef82b5e 100644 --- a/src/plugins/report/tests/report/oracle/classify.3.res.oracle +++ b/src/plugins/report/tests/report/oracle/classify.3.res.oracle @@ -2,7 +2,7 @@ [report] Loading 'tests/report/classify.json' # frama-c -wp [...] [kernel] Parsing tests/report/classify.c (with preprocessing) -[kernel:annot-error] tests/report/classify.c:27: Warning: +[kernel:annot-error] tests/report/classify.c:28: Warning: unbound logic variable ignored. Ignoring code annotation [wp] Running WP plugin... [wp] Warning: Missing RTE guards diff --git a/src/plugins/report/tests/report/oracle/classify.4.res.oracle b/src/plugins/report/tests/report/oracle/classify.4.res.oracle index ab13ead4ecb87d3507d41418ee453bf3a16f4fde..abe3dd32f57024301fe09b7dfc63c2a3793c60d9 100644 --- a/src/plugins/report/tests/report/oracle/classify.4.res.oracle +++ b/src/plugins/report/tests/report/oracle/classify.4.res.oracle @@ -2,7 +2,7 @@ [report] Loading 'tests/report/classify.json' # frama-c -wp [...] [kernel] Parsing tests/report/classify.c (with preprocessing) -[kernel:annot-error] tests/report/classify.c:27: Warning: +[kernel:annot-error] tests/report/classify.c:28: Warning: unbound logic variable ignored. Ignoring code annotation [wp] Running WP plugin... [wp] Warning: Missing RTE guards diff --git a/src/plugins/report/tests/report/oracle/classify.5.res.oracle b/src/plugins/report/tests/report/oracle/classify.5.res.oracle index bab75d5f591e203476328215f076bf5d0ad61a7a..3cbe2f38f0621b4b9ee1a5221efe94ee299d2ace 100644 --- a/src/plugins/report/tests/report/oracle/classify.5.res.oracle +++ b/src/plugins/report/tests/report/oracle/classify.5.res.oracle @@ -2,7 +2,7 @@ [report] Loading 'tests/report/classify.json' # frama-c -wp [...] [kernel] Parsing tests/report/classify.c (with preprocessing) -[kernel:annot-error] tests/report/classify.c:27: Warning: +[kernel:annot-error] tests/report/classify.c:28: Warning: unbound logic variable ignored. Ignoring code annotation [wp] Running WP plugin... [wp] Warning: Missing RTE guards diff --git a/src/plugins/server/tests/batch/ast_services.i b/src/plugins/server/tests/batch/ast_services.i index 975369e8966a949daaa79f906923989730a7e8ce..4c1e7b1b838700580f438bdcd4ca35bc4db693d9 100644 --- a/src/plugins/server/tests/batch/ast_services.i +++ b/src/plugins/server/tests/batch/ast_services.i @@ -1,2 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + int f(int x) { return x++; } int g(int y) { return y++; } diff --git a/src/plugins/server/tests/batch/oracle/ast_services.out.json b/src/plugins/server/tests/batch/oracle/ast_services.out.json index b9bbb5e7c626ca31ccbd1c122cc1385072b40f89..7546c88e6c0dcaf39fd1b126cf4eb9a2f394d995 100644 --- a/src/plugins/server/tests/batch/oracle/ast_services.out.json +++ b/src/plugins/server/tests/batch/oracle/ast_services.out.json @@ -12,7 +12,7 @@ "dir": "tests/batch", "base": "ast_services.i", "file": "tests/batch/ast_services.i", - "line": 2 + "line": 8 } }, { @@ -24,7 +24,7 @@ "dir": "tests/batch", "base": "ast_services.i", "file": "tests/batch/ast_services.i", - "line": 1 + "line": 7 } } ], diff --git a/src/plugins/server/tests/batch/wrong.i b/src/plugins/server/tests/batch/wrong.i index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1a0a6550cd22661cdae17a41fdd59cc8e2709201 100644 --- a/src/plugins/server/tests/batch/wrong.i +++ b/src/plugins/server/tests/batch/wrong.i @@ -0,0 +1,4 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ diff --git a/src/plugins/variadic/tests/erroneous/no-param.i b/src/plugins/variadic/tests/erroneous/no-param.i index ae11c2ab9c3e6b443d5982de2d3828014b67032d..d91685eee5b954a2e5b5f49d2e9005bc13041805 100644 --- a/src/plugins/variadic/tests/erroneous/no-param.i +++ b/src/plugins/variadic/tests/erroneous/no-param.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ void f(...) // f must have at least one argument { return; @@ -7,4 +11,3 @@ int main() { f(0); } - diff --git a/src/plugins/variadic/tests/erroneous/not-enough-par.i b/src/plugins/variadic/tests/erroneous/not-enough-par.i index cd27daffa3812428ce9caffd34acbbd85452dce8..324731fc34133cbf5870e6560c82ad6540973f8f 100644 --- a/src/plugins/variadic/tests/erroneous/not-enough-par.i +++ b/src/plugins/variadic/tests/erroneous/not-enough-par.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ int f(int a, int, int c,...); int main(){ diff --git a/src/plugins/variadic/tests/erroneous/oracle/not-enough-par.res.oracle b/src/plugins/variadic/tests/erroneous/oracle/not-enough-par.res.oracle index c05a4ba9b29af3af3f01dcbf46d240984404e5b4..6583645e23e6e02434401ad134f582841fe8247d 100644 --- a/src/plugins/variadic/tests/erroneous/oracle/not-enough-par.res.oracle +++ b/src/plugins/variadic/tests/erroneous/oracle/not-enough-par.res.oracle @@ -1,4 +1,4 @@ -[kernel] tests/erroneous/not-enough-par.i:4: User Error: +[kernel] tests/erroneous/not-enough-par.i:8: User Error: Too few arguments in call to f. [kernel] User Error: stopping on file "tests/erroneous/not-enough-par.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle b/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle index bf189af5926715a5665d71211f84b792dbffd641..7b54306d9847d14b9f3386ddc37d1999a1c76738 100644 --- a/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle +++ b/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle @@ -1,9 +1,9 @@ -[variadic] tests/erroneous/variadic-builtin.i:1: +[variadic] tests/erroneous/variadic-builtin.i:5: Declaration of variadic function Frama_C_show_each_warning. -[variadic] tests/erroneous/variadic-builtin.i:1: - Variadic builtin Frama_C_show_each_warning left untransformed. [variadic] tests/erroneous/variadic-builtin.i:5: + Variadic builtin Frama_C_show_each_warning left untransformed. +[variadic] tests/erroneous/variadic-builtin.i:9: Call to variadic builtin Frama_C_show_each_warning left untransformed. -[kernel] tests/erroneous/variadic-builtin.i:6: Plug-in variadic aborted: unimplemented feature. +[kernel] tests/erroneous/variadic-builtin.i:10: Plug-in variadic aborted: unimplemented feature. You may send a feature request at https://git.frama-c.com/pub/frama-c/issues with: '[Plug-in variadic] The variadic plugin doesn't handle calls to a pointer to the variadic builtin Frama_C_show_each_warning.'. diff --git a/src/plugins/variadic/tests/erroneous/variadic-builtin.i b/src/plugins/variadic/tests/erroneous/variadic-builtin.i index 26a22e680ed203ec41a36414d3d05ef7031727b0..160fba1f823fe062c4a7c82eac125cb52f8ca4ab 100644 --- a/src/plugins/variadic/tests/erroneous/variadic-builtin.i +++ b/src/plugins/variadic/tests/erroneous/variadic-builtin.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 3 + STDOPT: +*/ extern void Frama_C_show_each_warning(char const * , ...); void main(void) diff --git a/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i b/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i index 23dd4015e0ad6e92796e03727e1584afa5ba4c95..3d6a5d4db64c3f03744f1665e98cd16512063052 100644 --- a/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i +++ b/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i @@ -1,15 +1,15 @@ /* run.config OPT: -safe-arrays + EXIT: 1 OPT: -unsafe-arrays */ struct { int f[10]; } s,*p; int a[10]; -/*@ - requires \valid(p); - ensures ARRAYS: \valid(&a[..]); - ensures STRUCT: \valid(&s.f[..]); - ensures INDIRP: \valid(&p->f[..]); +/*@ requires \valid(p); + ensures ARRAYS: \valid(&a[..]); + ensures STRUCT: \valid(&s.f[..]); + ensures INDIRP: \valid(&p->f[..]); */ void f(void) { } diff --git a/src/plugins/wp/tests/wp_usage/issue-189.i b/src/plugins/wp/tests/wp_usage/issue-189.i index 9309a4ad71c5e73869a74c107b3a3a10a8f5a220..a524540296fcd5e051e3a7bfea1d16a943a622ea 100644 --- a/src/plugins/wp/tests/wp_usage/issue-189.i +++ b/src/plugins/wp/tests/wp_usage/issue-189.i @@ -1,13 +1,13 @@ /* run.config OPT: + EXIT: 1 OPT: -wp-msg-key refusage -wp-model Caveat + EXIT: 0 OPT: -wp-msg-key refusage -wp-model Caveat -wp-unalias-vars src */ - /* run.config_qualif DONTRUN: */ - /*@ requires v1: \valid( ptr ); @ requires v2: \valid_read( src + idx ); @ requires s1: \separated( ptr, src + idx ); diff --git a/tests/builtins/oracle/watch.res.oracle b/tests/builtins/oracle/watch.res.oracle index 59019484ae98a15510c1d4b2d77bb66d104eb208..28fc5ca752290093449dfdb06b399008642ff8c5 100644 --- a/tests/builtins/oracle/watch.res.oracle +++ b/tests/builtins/oracle/watch.res.oracle @@ -1,9 +1,9 @@ [kernel] Parsing tests/builtins/watch.c (with preprocessing) -[kernel:typing:implicit-function-declaration] tests/builtins/watch.c:5: Warning: +[kernel:typing:implicit-function-declaration] tests/builtins/watch.c:10: Warning: Calling undeclared function Frama_C_watch_value. Old style K&R code? -[kernel:typing:implicit-function-declaration] tests/builtins/watch.c:11: Warning: +[kernel:typing:implicit-function-declaration] tests/builtins/watch.c:16: Warning: Calling undeclared function u. Old style K&R code? -[kernel:annot:missing-spec] tests/builtins/watch.c:3: Warning: +[kernel:annot:missing-spec] tests/builtins/watch.c:8: Warning: Neither code nor specification for function Frama_C_watch_value, generating default assigns from the prototype [eva] Analyzing a complete application starting at main [eva] Computing initial state @@ -12,18 +12,18 @@ x ∈ {0} y ∈ {0} z ∈ {0} -[eva] tests/builtins/watch.c:5: Call to builtin Frama_C_watch_value -[eva] tests/builtins/watch.c:8: Watchpoint: & c [--..--] -[eva] tests/builtins/watch.c:9: Watchpoint: & c [--..--] +[eva] tests/builtins/watch.c:10: Call to builtin Frama_C_watch_value +[eva] tests/builtins/watch.c:13: Watchpoint: & c [--..--] +[eva] tests/builtins/watch.c:14: Watchpoint: & c [--..--] [eva] computing for function u <- main. - Called from tests/builtins/watch.c:11. -[kernel:annot:missing-spec] tests/builtins/watch.c:11: Warning: + Called from tests/builtins/watch.c:16. +[kernel:annot:missing-spec] tests/builtins/watch.c:16: Warning: Neither code nor specification for function u, generating default assigns from the prototype [eva] using specification for function u [eva] Done for function u -[eva] tests/builtins/watch.c:12: Watchpoint: & c [--..--] -[eva] tests/builtins/watch.c:13: Watchpoint: & c [--..--] -[eva] tests/builtins/watch.c:14: Watchpoint: & c [--..--] +[eva] tests/builtins/watch.c:17: Watchpoint: & c [--..--] +[eva] tests/builtins/watch.c:18: Watchpoint: & c [--..--] +[eva] tests/builtins/watch.c:19: Watchpoint: & c [--..--] [eva] User Error: Degeneration occurred: results are not correct for lines of code that can be reached from the degeneration point. [from] Computing for function main diff --git a/tests/builtins/watch.c b/tests/builtins/watch.c index 49a5668900890b3f57d4fb6bd3511ab5fa468efc..80551c782227b4a090236e58b1af57092dc93739 100644 --- a/tests/builtins/watch.c +++ b/tests/builtins/watch.c @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + int x,y,z; int main(int c){ diff --git a/tests/cil/acsl-comments.i b/tests/cil/acsl-comments.i index bf3c37795c39da683ba40f21b9901346cb16cba4..8b92eb451c8e6380cb8a26406ceb6d024a81e8b1 100644 --- a/tests/cil/acsl-comments.i +++ b/tests/cil/acsl-comments.i @@ -1,2 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + /*@ ensures /* FOO */ \false; */ void job(void) { } diff --git a/tests/cil/bts892.i b/tests/cil/bts892.i index 6da1b3de795fc4d046e4b209a8e8375622c3fcf2..a4a656fc9af4cb1e935ddf18a0d208f5f0520534 100644 --- a/tests/cil/bts892.i +++ b/tests/cil/bts892.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + int tab[16]; void* main(void) diff --git a/tests/cil/ghost_cfg.c b/tests/cil/ghost_cfg.c index 15c916efa382d7875e227e39535ef8d6b8201d4d..13b1504560e361161668c1012b0a1e29c9398b43 100644 --- a/tests/cil/ghost_cfg.c +++ b/tests/cil/ghost_cfg.c @@ -1,4 +1,5 @@ /* run.config + EXIT: 1 OPT:-no-autoload-plugins -cpp-extra-args="-DCAN_CHECK" OPT:-no-autoload-plugins -cpp-extra-args="-DCANT_CHECK" */ diff --git a/tests/cil/oracle/acsl-comments.res.oracle b/tests/cil/oracle/acsl-comments.res.oracle index 605a2d7b753d8a769cba70e603bd2cb54ed60a82..ce4dd692b429f04a6028c23770c778cdbe5dbed4 100644 --- a/tests/cil/oracle/acsl-comments.res.oracle +++ b/tests/cil/oracle/acsl-comments.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/cil/acsl-comments.i (no preprocessing) -[kernel:annot-error] tests/cil/acsl-comments.i:1: Warning: +[kernel:annot-error] tests/cil/acsl-comments.i:6: Warning: lexical error, unexpected block-comment opening [kernel] User Error: warning annot-error treated as fatal error. [kernel] User Error: stopping on file "tests/cil/acsl-comments.i" that has errors. diff --git a/tests/cil/oracle/bts892.res.oracle b/tests/cil/oracle/bts892.res.oracle index dd2a50f79542e3a8939f8e8086e82473ace5a81d..ac7ac95ae66a836a0b2d1a10dfb98fcf5eb89c0e 100644 --- a/tests/cil/oracle/bts892.res.oracle +++ b/tests/cil/oracle/bts892.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/cil/bts892.i (no preprocessing) -[kernel] tests/cil/bts892.i:11: User Error: +[kernel] tests/cil/bts892.i:17: User Error: Forbidden access to local variable i in static initializer [kernel] User Error: stopping on file "tests/cil/bts892.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/cil/oracle/ghost_cfg.0.res.oracle b/tests/cil/oracle/ghost_cfg.0.res.oracle index 9b833655a031c17620a11961d2a2d036d30bad01..d006b7d3b427b888d6215fc3e4a2cacc35240f50 100644 --- a/tests/cil/oracle/ghost_cfg.0.res.oracle +++ b/tests/cil/oracle/ghost_cfg.0.res.oracle @@ -1,41 +1,41 @@ [kernel] Parsing tests/cil/ghost_cfg.c (with preprocessing) -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:9: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:10: Warning: Ghost code breaks CFG starting at: /*@ ghost goto X; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:26: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:27: Warning: Ghost code breaks CFG starting at: /*@ ghost if (i == 0) break; */ i ++; -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:34: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:35: Warning: Ghost code breaks CFG starting at: /*@ ghost if (i == 0) continue; */ i ++; -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:60: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:61: Warning: Ghost code breaks CFG starting at: /*@ ghost case 1: g = 3; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:79: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:80: Warning: Ghost code breaks CFG starting at: /*@ ghost goto X; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:89: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:90: Warning: Ghost code breaks CFG starting at: /*@ ghost goto X; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:100: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:101: Warning: Ghost code breaks CFG starting at: /*@ ghost case 1: x ++; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:108: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:109: Warning: Ghost code breaks CFG starting at: /*@ ghost __retres = 1; */ /*@ ghost goto return_label; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:114: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:115: Warning: Ghost code breaks CFG starting at: /*@ ghost case 3: ; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:142: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:143: Warning: Ghost code breaks CFG starting at: /*@ ghost goto return_label; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:132: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:133: Warning: Ghost code breaks CFG starting at: /*@ ghost goto X; */ -[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:108: Warning: +[kernel:ghost:bad-use] tests/cil/ghost_cfg.c:109: Warning: '__retres' is a non-ghost lvalue, it cannot be assigned in ghost code [kernel] Warning: warning ghost:bad-use treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/cil/oracle/ghost_cfg.1.res.oracle b/tests/cil/oracle/ghost_cfg.1.res.oracle index 494260f7dfe4e335e5735ed4258d7a94afbbbfb1..68a94840387fdfdd1b5ef1a5ba3147f11fa6b7d8 100644 --- a/tests/cil/oracle/ghost_cfg.1.res.oracle +++ b/tests/cil/oracle/ghost_cfg.1.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/cil/ghost_cfg.c (with preprocessing) -[kernel] tests/cil/ghost_cfg.c:153: User Error: +[kernel] tests/cil/ghost_cfg.c:154: User Error: 'goto X;' would jump from normal statement to ghost code [kernel] User Error: Deferred error message was emitted during execution. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/metrics/locals_size.i b/tests/metrics/locals_size.i index 8e02226c49c93c5010f6f1c46dfd32bcd981f8a5..bd261320029fac9ba2668b8f966066eb7b783dd4 100644 --- a/tests/metrics/locals_size.i +++ b/tests/metrics/locals_size.i @@ -1,8 +1,8 @@ /* run.config + EXIT: 1 OPT: -metrics-locals-size f,g,level3,level2,level1,main OPT: -metrics-locals-size recurse2 */ - // locals size without temps: 0 int f() { static int count = 0; // not a local diff --git a/tests/misc/bts0451.i b/tests/misc/bts0451.i index 02c2288f0d43870369ee3879649645b9ee781831..4ba9f9768c54c472c2c59c31e045094ca301cdf9 100644 --- a/tests/misc/bts0451.i +++ b/tests/misc/bts0451.i @@ -1,5 +1,6 @@ /* run.config COMMENT: running this test fails on purpose + EXIT: 1 OPT: -simplify-cfg -typecheck */ diff --git a/tests/misc/bts0990_link.i b/tests/misc/bts0990_link.i index 5edc84415b34d37ecf5d58eede9944337ac64876..84c8e1f479d6e530dff7066196fd1050826ae880 100644 --- a/tests/misc/bts0990_link.i +++ b/tests/misc/bts0990_link.i @@ -1,7 +1,7 @@ -/* run.config +/* run.config* + EXIT: 1 OPT: tests/misc/bts0990_link_1.i */ - // NB: This test is meant to return an error, as s is declared as an array in // tests/misc/bts0990_link_1.i diff --git a/tests/misc/custom_machdep.c b/tests/misc/custom_machdep.c index f7a377dc16250f21911dbc5f014d7a50b33bac3f..87979f0608b990d948997b250a3862bf51d98c48 100644 --- a/tests/misc/custom_machdep.c +++ b/tests/misc/custom_machdep.c @@ -1,9 +1,10 @@ /* run.config* -EXECNOW: make -s @PTEST_DIR@/@PTEST_NAME@/@PTEST_NAME@.cmxs -OPT: -cpp-extra-args="-I@PTEST_DIR@/@PTEST_NAME@ -D__FC_MACHDEP_CUSTOM" -load-module @PTEST_DIR@/@PTEST_NAME@/@PTEST_NAME@ -machdep custom -print -then -print -COMMENT: we need a -then to test double registering of a machdep -*/ + EXIT: 1 + EXECNOW: make -s @PTEST_DIR@/@PTEST_NAME@/@PTEST_NAME@.cmxs + OPT: -cpp-extra-args="-I@PTEST_DIR@/@PTEST_NAME@ -D__FC_MACHDEP_CUSTOM" -load-module @PTEST_DIR@/@PTEST_NAME@/@PTEST_NAME@ -machdep custom -print -then -print + COMMENT: we need a -then to test double registering of a machdep +*/ #include "__fc_machdep_custom.h" // most of the following includes are not directly used, but they test if // the custom machdep has defined the necessary constants diff --git a/tests/misc/debug_category.i b/tests/misc/debug_category.i index 5646776c8be6e08df7545b9b872b067995932fa5..6b4a7dbc2c393c816be2d930b7eb81d6d0deb33a 100644 --- a/tests/misc/debug_category.i +++ b/tests/misc/debug_category.i @@ -1,21 +1,28 @@ -/* run.config +/* run.config* MODULE: tests/misc/Debug_category.cmxs -OPT: -test-msg-key help -test-warn-key="a=inactive" -OPT: -test-msg-key a -test-warn-key="a=inactive" -OPT: -test-msg-key a -test-msg-key="-a:b" -test-warn-key="a=inactive" -OPT: -test-msg-key a -test-msg-key="-a:b" -test-msg-key a:b:c -test-warn-key="a=inactive" -OPT: -test-msg-key "a:b:c,d" -test-warn-key="a=inactive" -OPT: -test-msg-key "*" -test-warn-key="a=inactive" -OPT: -OPT: -test-warn-key a=error -OPT: -test-warn-key a=abort -OPT: -test-warn-key a=feedback -OPT: -test-warn-key="*=abort" -OPT: -test-warn-key=a=once -OPT: -test-warn-key a=feedback-once -OPT: -test-warn-key a=err-once -OPT: -test-warn-key test-vis-err -OPT: -test-warn-key test-inv-err -OPT: -test-warn-key test-failure +EXIT: 0 + OPT: -test-msg-key help -test-warn-key="a=inactive" + OPT: -test-msg-key a -test-warn-key="a=inactive" + OPT: -test-msg-key a -test-msg-key="-a:b" -test-warn-key="a=inactive" + OPT: -test-msg-key a -test-msg-key="-a:b" -test-msg-key a:b:c -test-warn-key="a=inactive" + OPT: -test-msg-key "a:b:c,d" -test-warn-key="a=inactive" + OPT: -test-msg-key "*" -test-warn-key="a=inactive" + OPT: +EXIT: 1 + OPT: -test-warn-key a=error + OPT: -test-warn-key a=abort +EXIT: 0 + OPT: -test-warn-key a=feedback +EXIT: 1 + OPT: -test-warn-key="*=abort" +EXIT: 0 + OPT: -test-warn-key=a=once + OPT: -test-warn-key a=feedback-once +EXIT: 1 + OPT: -test-warn-key a=err-once + OPT: -test-warn-key test-vis-err + OPT: -test-warn-key test-inv-err +EXIT: 4 + OPT: -test-warn-key test-failure FILTER: sed 's|Your Frama-C version is.*|Your Frama-C version is VERSION|' */ diff --git a/tests/misc/filepath.i b/tests/misc/filepath.i index a8892bc2d2feb203e5bef30c636a78b7d481c254..40748281b882ec47152214f8f72222330294a30b 100644 --- a/tests/misc/filepath.i +++ b/tests/misc/filepath.i @@ -1,5 +1,6 @@ -/* run.config +/* run.config* MODULE: tests/misc/filepath_test.cmxs COMMENT: the '-load' option below intentionally contains an error + EXIT: 1 OPT: -no-autoload-plugins -load nonexistent_file.sav */ diff --git a/tests/misc/function_ptr_alignof.i b/tests/misc/function_ptr_alignof.i index 4a8970e7f7be6739539dea5ab91c2166b8058df0..1f4b218d0bfd2f02b8e5d3e152eb1177fb4ddf75 100644 --- a/tests/misc/function_ptr_alignof.i +++ b/tests/misc/function_ptr_alignof.i @@ -1,6 +1,9 @@ -/* run.config +/* run.config* + EXIT: 1 + STDOPT: */ + void f(void) { } int main(void) diff --git a/tests/misc/function_ptr_lvalue_1.i b/tests/misc/function_ptr_lvalue_1.i index 723aa9d837ec43a7084c4d68f4d3e6842b113bad..b48ddbd09f7be85d24a13b2f581addd5a8a8fbae 100644 --- a/tests/misc/function_ptr_lvalue_1.i +++ b/tests/misc/function_ptr_lvalue_1.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + void f(void) {} int main() diff --git a/tests/misc/function_ptr_lvalue_2.i b/tests/misc/function_ptr_lvalue_2.i index 0ce6903f296b3baeab13bcbe57a70ff5941cb20b..333304c449f7728babafb3871439aa92bae480a3 100644 --- a/tests/misc/function_ptr_lvalue_2.i +++ b/tests/misc/function_ptr_lvalue_2.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + void f(void) {} int main() diff --git a/tests/misc/function_ptr_sizeof.i b/tests/misc/function_ptr_sizeof.i index 1a71bc26d2059a21a33ba7763b97a2f58d686020..36558b8808f5835948fe3bbe775dda0db517ad39 100644 --- a/tests/misc/function_ptr_sizeof.i +++ b/tests/misc/function_ptr_sizeof.i @@ -1,6 +1,9 @@ -/* run.config +/* run.config* + EXIT: 1 + STDOPT: */ + void f(void) { } int main(void) diff --git a/tests/misc/global_decl_loc2.i b/tests/misc/global_decl_loc2.i index 08fe31aa7b67c33420527175fdcfeeedce5ac8b6..348015c7c228d43d8c167ed1572f48c9ebd7e94b 100644 --- a/tests/misc/global_decl_loc2.i +++ b/tests/misc/global_decl_loc2.i @@ -1,4 +1,6 @@ -/* run.config +/* run.config* + EXIT: 0 + OPT: @PTEST_DIR@/global_decl_loc.i -load-module @PTEST_DIR@/global_decl_loc.cmxs */ diff --git a/tests/misc/log_selfrec.i b/tests/misc/log_selfrec.i index f65505058bbf38d898556e25d04c0ff4d7b3ee35..e7a647f6e453e88b9a63b844539f12d718e9cfbe 100644 --- a/tests/misc/log_selfrec.i +++ b/tests/misc/log_selfrec.i @@ -1,3 +1,5 @@ -/* run.config +/* run.config* + + EXIT: 1 OPT: -foobar -report-unclassified-error jazz */ diff --git a/tests/misc/oracle/bts0451.res.oracle b/tests/misc/oracle/bts0451.res.oracle index feb299b32acd882e5508f6f436b1b772375f1d27..473b9fd4f165b99bddc3b43c237985f18f736c99 100644 --- a/tests/misc/oracle/bts0451.res.oracle +++ b/tests/misc/oracle/bts0451.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/misc/bts0451.i (no preprocessing) -[kernel] tests/misc/bts0451.i:26: User Error: +[kernel] tests/misc/bts0451.i:27: User Error: break outside of a loop or switch - 24 /* should abort with an error at type-checking */ - 25 int main (void) { - 26 break; + 25 /* should abort with an error at type-checking */ + 26 int main (void) { + 27 break; ^^^^^^^^ - 27 return 0; - 28 } + 28 return 0; + 29 } [kernel] User Error: stopping on file "tests/misc/bts0451.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/misc/oracle/function_ptr_alignof.res.oracle b/tests/misc/oracle/function_ptr_alignof.res.oracle index 3a83624e3444f3b2ca8bd89373a97023cf34fb46..b7d7520c167f71b7acb3867d646ea49253ae84a3 100644 --- a/tests/misc/oracle/function_ptr_alignof.res.oracle +++ b/tests/misc/oracle/function_ptr_alignof.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/misc/function_ptr_alignof.i (no preprocessing) -[kernel] tests/misc/function_ptr_alignof.i:10: User Error: +[kernel] tests/misc/function_ptr_alignof.i:13: User Error: alignof() called on a function. [kernel] User Error: stopping on file "tests/misc/function_ptr_alignof.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/misc/oracle/function_ptr_lvalue_1.res.oracle b/tests/misc/oracle/function_ptr_lvalue_1.res.oracle index 34164dbea515cb8a682704949347ffefd9cf5517..17925b5b8e35fb2c11ce03e0a400ca7c17b1cb03 100644 --- a/tests/misc/oracle/function_ptr_lvalue_1.res.oracle +++ b/tests/misc/oracle/function_ptr_lvalue_1.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/misc/function_ptr_lvalue_1.i (no preprocessing) -[kernel] tests/misc/function_ptr_lvalue_1.i:7: User Error: +[kernel] tests/misc/function_ptr_lvalue_1.i:13: User Error: Cannot assign to non-modifiable lval *p [kernel] User Error: stopping on file "tests/misc/function_ptr_lvalue_1.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/misc/oracle/function_ptr_lvalue_2.res.oracle b/tests/misc/oracle/function_ptr_lvalue_2.res.oracle index 30a6df5ceef884d4f5b89d5f898ce3b6a104553a..c2c0cf02b8a48b729c5b41d5164dd37be21468d0 100644 --- a/tests/misc/oracle/function_ptr_lvalue_2.res.oracle +++ b/tests/misc/oracle/function_ptr_lvalue_2.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/misc/function_ptr_lvalue_2.i (no preprocessing) -[kernel] tests/misc/function_ptr_lvalue_2.i:7: User Error: +[kernel] tests/misc/function_ptr_lvalue_2.i:12: User Error: Cannot assign to non-modifiable lval *p [kernel] User Error: stopping on file "tests/misc/function_ptr_lvalue_2.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/misc/oracle/function_ptr_sizeof.res.oracle b/tests/misc/oracle/function_ptr_sizeof.res.oracle index 0a31265b9f6a3851e84d09ad2d222318772c9a78..bc70a4785cb896cff2b3bae69cb194831acdcab9 100644 --- a/tests/misc/oracle/function_ptr_sizeof.res.oracle +++ b/tests/misc/oracle/function_ptr_sizeof.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/misc/function_ptr_sizeof.i (no preprocessing) -[kernel] tests/misc/function_ptr_sizeof.i:10: User Error: +[kernel] tests/misc/function_ptr_sizeof.i:13: User Error: sizeof() called on function [kernel] User Error: stopping on file "tests/misc/function_ptr_sizeof.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/misc/oracle/widen_hints.0.res.oracle b/tests/misc/oracle/widen_hints.0.res.oracle index d86de98015d8cfbf1598e8941ee3591b24b3ef37..582badd66f55e69c4929f48ca8051a9533ecf31c 100644 --- a/tests/misc/oracle/widen_hints.0.res.oracle +++ b/tests/misc/oracle/widen_hints.0.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/misc/widen_hints.c (with preprocessing) -[kernel:annot-error] tests/misc/widen_hints.c:14: Warning: +[kernel:annot-error] tests/misc/widen_hints.c:16: Warning: invalid widen_hints annotation: no hints. Ignoring code annotation -[kernel:annot-error] tests/misc/widen_hints.c:19: Warning: +[kernel:annot-error] tests/misc/widen_hints.c:21: Warning: invalid widen_hints annotation: no hints. Ignoring code annotation -[kernel:annot-error] tests/misc/widen_hints.c:24: Warning: +[kernel:annot-error] tests/misc/widen_hints.c:26: Warning: unbound logic variable b. Ignoring code annotation -[eva] tests/misc/widen_hints.c:29: User Error: +[eva] tests/misc/widen_hints.c:31: User Error: could not parse widening hint: not_const If it contains variables, they must be global const integers. [kernel] Plug-in eva aborted: invalid user input. diff --git a/tests/misc/oracle/widen_hints.1.res.oracle b/tests/misc/oracle/widen_hints.1.res.oracle index a6a3f7e9b775729381f4ecc5c5c0233858dbdbbe..7d63e13e27d9a28984b039985679f55bbb5373bb 100644 --- a/tests/misc/oracle/widen_hints.1.res.oracle +++ b/tests/misc/oracle/widen_hints.1.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/misc/widen_hints.c (with preprocessing) -[eva] tests/misc/widen_hints.c:65: User Error: +[eva] tests/misc/widen_hints.c:67: User Error: could not parse widening hint: local_const If it contains variables, they must be global const integers. [kernel] Plug-in eva aborted: invalid user input. diff --git a/tests/misc/oracle/widen_hints.2.res.oracle b/tests/misc/oracle/widen_hints.2.res.oracle index 065a307ea653ab80fbd03769c998038549f079b9..89d5bd4b3937d98113688b8c58f58b3901d6c535 100644 --- a/tests/misc/oracle/widen_hints.2.res.oracle +++ b/tests/misc/oracle/widen_hints.2.res.oracle @@ -1,8 +1,8 @@ [kernel] Parsing tests/misc/widen_hints.c (with preprocessing) [eva:widen-hints] computing global widen hints -[eva:widen-hints] tests/misc/widen_hints.c:71: +[eva:widen-hints] tests/misc/widen_hints.c:73: adding hint from annotation: a, { 87 } (for all statements) -[eva:widen-hints] tests/misc/widen_hints.c:87: +[eva:widen-hints] tests/misc/widen_hints.c:89: adding hint from annotation: ss, { 87 } (for all statements) [eva] Analyzing a complete application starting at main [eva] Computing initial state @@ -10,56 +10,56 @@ [eva:initial-state] Values of globals at initialization x ∈ {9} not_const ∈ {42} -[eva:widen-hints] tests/misc/widen_hints.c:72: +[eva:widen-hints] tests/misc/widen_hints.c:74: computing dynamic hints for statement 16 -[eva] tests/misc/widen_hints.c:73: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:72: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:88: +[eva] tests/misc/widen_hints.c:75: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:74: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:90: computing dynamic hints for statement 30 -[eva] tests/misc/widen_hints.c:89: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:88: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:97: +[eva] tests/misc/widen_hints.c:91: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:90: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:99: computing dynamic hints for statement 48 -[eva:widen-hints] tests/misc/widen_hints.c:97: +[eva:widen-hints] tests/misc/widen_hints.c:99: adding new base due to dynamic widen hint: ip, { 87 } -[eva] tests/misc/widen_hints.c:98: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:97: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:107: +[eva] tests/misc/widen_hints.c:100: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:99: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:109: computing dynamic hints for statement 67 -[eva:widen-hints] tests/misc/widen_hints.c:107: +[eva:widen-hints] tests/misc/widen_hints.c:109: adding new base due to dynamic widen hint: ip2, { 87 } -[eva] tests/misc/widen_hints.c:108: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:107: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:118: +[eva] tests/misc/widen_hints.c:110: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:109: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:120: computing dynamic hints for statement 91 -[eva:widen-hints] tests/misc/widen_hints.c:118: +[eva:widen-hints] tests/misc/widen_hints.c:120: adding new base due to dynamic widen hint: iarray, { 87 } +[eva] tests/misc/widen_hints.c:120: starting to merge loop iterations [eva] tests/misc/widen_hints.c:118: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:116: starting to merge loop iterations [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. -[eva:widen-hints] tests/misc/widen_hints.c:58: + Called from tests/misc/widen_hints.c:126. +[eva:widen-hints] tests/misc/widen_hints.c:60: computing dynamic hints for statement 2 -[eva:widen-hints] tests/misc/widen_hints.c:58: +[eva:widen-hints] tests/misc/widen_hints.c:60: adding new base due to dynamic widen hint: outer_i, { 87 } [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. + Called from tests/misc/widen_hints.c:126. [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global -[eva] tests/misc/widen_hints.c:123: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:125: starting to merge loop iterations [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. -[eva] tests/misc/widen_hints.c:58: starting to merge loop iterations + Called from tests/misc/widen_hints.c:126. +[eva] tests/misc/widen_hints.c:60: starting to merge loop iterations [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. + Called from tests/misc/widen_hints.c:126. [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. + Called from tests/misc/widen_hints.c:126. [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] Recording results for main diff --git a/tests/misc/oracle/widen_hints.3.res.oracle b/tests/misc/oracle/widen_hints.3.res.oracle index 0d957fb92d935e14ab7e855ce4f3d4652bf16eef..0d403fde663d2aac035a7f1edd2a804cec646183 100644 --- a/tests/misc/oracle/widen_hints.3.res.oracle +++ b/tests/misc/oracle/widen_hints.3.res.oracle @@ -1,10 +1,10 @@ [kernel] Parsing tests/misc/widen_hints.c (with preprocessing) [eva:widen-hints] computing global widen hints -[eva:widen-hints] tests/misc/widen_hints.c:79: +[eva:widen-hints] tests/misc/widen_hints.c:81: adding global hint from annotation: for all variables, { 88 } (for all statements) -[eva:widen-hints] tests/misc/widen_hints.c:71: +[eva:widen-hints] tests/misc/widen_hints.c:73: adding hint from annotation: a, { 87 } (for all statements) -[eva:widen-hints] tests/misc/widen_hints.c:87: +[eva:widen-hints] tests/misc/widen_hints.c:89: adding hint from annotation: ss, { 87 } (for all statements) [eva] Analyzing a complete application starting at main [eva] Computing initial state @@ -12,60 +12,60 @@ [eva:initial-state] Values of globals at initialization x ∈ {9} not_const ∈ {42} -[eva:widen-hints] tests/misc/widen_hints.c:72: +[eva:widen-hints] tests/misc/widen_hints.c:74: computing dynamic hints for statement 36 -[eva] tests/misc/widen_hints.c:72: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:73: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:80: +[eva] tests/misc/widen_hints.c:74: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:75: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:82: computing dynamic hints for statement 50 [eva] computing for function f <- main. - Called from tests/misc/widen_hints.c:80. -[eva] tests/misc/widen_hints.c:41: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:42: starting to merge loop iterations + Called from tests/misc/widen_hints.c:82. +[eva] tests/misc/widen_hints.c:43: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:44: starting to merge loop iterations [eva] Recording results for f [eva] Done for function f -[eva:widen-hints] tests/misc/widen_hints.c:88: +[eva:widen-hints] tests/misc/widen_hints.c:90: computing dynamic hints for statement 52 -[eva] tests/misc/widen_hints.c:88: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:89: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:97: +[eva] tests/misc/widen_hints.c:90: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:91: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:99: computing dynamic hints for statement 70 -[eva:widen-hints] tests/misc/widen_hints.c:97: +[eva:widen-hints] tests/misc/widen_hints.c:99: adding new base due to dynamic widen hint: ip, { 87 } -[eva] tests/misc/widen_hints.c:97: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:98: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:107: +[eva] tests/misc/widen_hints.c:99: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:100: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:109: computing dynamic hints for statement 89 -[eva:widen-hints] tests/misc/widen_hints.c:107: +[eva:widen-hints] tests/misc/widen_hints.c:109: adding new base due to dynamic widen hint: ip2, { 87 } -[eva] tests/misc/widen_hints.c:107: starting to merge loop iterations -[eva] tests/misc/widen_hints.c:108: starting to merge loop iterations -[eva:widen-hints] tests/misc/widen_hints.c:118: +[eva] tests/misc/widen_hints.c:109: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:110: starting to merge loop iterations +[eva:widen-hints] tests/misc/widen_hints.c:120: computing dynamic hints for statement 113 -[eva:widen-hints] tests/misc/widen_hints.c:118: +[eva:widen-hints] tests/misc/widen_hints.c:120: adding new base due to dynamic widen hint: iarray, { 87 } -[eva] tests/misc/widen_hints.c:116: starting to merge loop iterations [eva] tests/misc/widen_hints.c:118: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:120: starting to merge loop iterations [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. -[eva:widen-hints] tests/misc/widen_hints.c:58: + Called from tests/misc/widen_hints.c:126. +[eva:widen-hints] tests/misc/widen_hints.c:60: computing dynamic hints for statement 22 -[eva:widen-hints] tests/misc/widen_hints.c:58: +[eva:widen-hints] tests/misc/widen_hints.c:60: adding new base due to dynamic widen hint: outer_i, { 87 } [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global -[eva] tests/misc/widen_hints.c:123: starting to merge loop iterations +[eva] tests/misc/widen_hints.c:125: starting to merge loop iterations [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. -[eva] tests/misc/widen_hints.c:58: starting to merge loop iterations + Called from tests/misc/widen_hints.c:126. +[eva] tests/misc/widen_hints.c:60: starting to merge loop iterations [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. + Called from tests/misc/widen_hints.c:126. [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] computing for function using_dynamic_global <- main. - Called from tests/misc/widen_hints.c:124. + Called from tests/misc/widen_hints.c:126. [eva] Recording results for using_dynamic_global [eva] Done for function using_dynamic_global [eva] Recording results for main diff --git a/tests/misc/widen_hints.c b/tests/misc/widen_hints.c index e4f063807c12972b188952fa735a10024d17c844..fca1b6e7e6ef953b698c6d2fa04bee2193bd889c 100644 --- a/tests/misc/widen_hints.c +++ b/tests/misc/widen_hints.c @@ -1,6 +1,8 @@ /* run.config + EXIT:1 OPT: -eva @EVA_CONFIG@ -cpp-extra-args=-DSYNTAX_ERRORS -kernel-warn-key=annot-error=active OPT: -eva @EVA_CONFIG@ -cpp-extra-args=-DNONCONST + EXIT:0 OPT: -eva @EVA_CONFIG@ -eva-slevel 1 -eva-msg-key widen-hints OPT: -eva @EVA_CONFIG@ -cpp-extra-args=-DALLGLOBAL -eva-msg-key widen-hints */ diff --git a/tests/spec/multiple_include_2.c b/tests/spec/multiple_include_2.c index 473facee9adb8ed5679c1669cb885f9bd3ac60b0..942e22769090299b995e4dc7faa2d941d907a4f3 100644 --- a/tests/spec/multiple_include_2.c +++ b/tests/spec/multiple_include_2.c @@ -1,6 +1,9 @@ /* run.config + EXIT: 1 + OPT: -kernel-warn-key=annot-error=active -print tests/spec/multiple_include_1.c -journal-disable */ + #include "multiple_include.h" /*@ requires p(x); */ diff --git a/tests/syntax/alloc_order.i b/tests/syntax/alloc_order.i index 2638caa2c263c98c9f1218f475940b126c46bad9..7d67b5393d7c32fe09ed205556f754cc1d35aba6 100644 --- a/tests/syntax/alloc_order.i +++ b/tests/syntax/alloc_order.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + /*@ allocates \result; requires i > 0; diff --git a/tests/syntax/arg_type.i b/tests/syntax/arg_type.i index d0e4e03c2d8a867f6b47d5ca5cb8ae06d7200c1e..7f17b62b70041b3ef24187b91e6bb1b421f8ee47 100644 --- a/tests/syntax/arg_type.i +++ b/tests/syntax/arg_type.i @@ -1,9 +1,9 @@ -/* run.config -STDOPT: +"-machdep gcc_x86_32" +/* run.config* + EXIT: 1 + STDOPT: +"-machdep gcc_x86_32" */ // GCC allows such things - int f(int); int f(x) short x; { return x; } diff --git a/tests/syntax/array_cast_bts1099.i b/tests/syntax/array_cast_bts1099.i index 636b1969432ac2f2e9e91c3c402047ebaaeca97e..39ae9a0e8decaaf47eb20c98f3542432824304fb 100644 --- a/tests/syntax/array_cast_bts1099.i +++ b/tests/syntax/array_cast_bts1099.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + typedef int t[10]; typedef int u[4]; diff --git a/tests/syntax/array_size.i b/tests/syntax/array_size.i index 11f210ed5687266e77d9d1496047271aa504a1cb..e8d46d0178a748a46145d63601c3f5ba9b1711af 100644 --- a/tests/syntax/array_size.i +++ b/tests/syntax/array_size.i @@ -1 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + int f(int t[-1]) { return t[0]; } // should raise an error diff --git a/tests/syntax/axiomatic_nested.i b/tests/syntax/axiomatic_nested.i index fce725aabdbdcd8123cc175649b0a1ba8085dda8..217425c9ef46a3cd5259ed0cf5011ea6dc6ddc16 100644 --- a/tests/syntax/axiomatic_nested.i +++ b/tests/syntax/axiomatic_nested.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ /*@ axiomatic bla1 { // nested axiomatics are not allowed diff --git a/tests/syntax/bad_return_bts_599.i b/tests/syntax/bad_return_bts_599.i index 6265f34c06d9d846a05443143d0b3224467616b0..9ccba084dc28c5ffad18f5fc9271e085d78a2637 100644 --- a/tests/syntax/bad_return_bts_599.i +++ b/tests/syntax/bad_return_bts_599.i @@ -1,4 +1,7 @@ - +/* run.config* + EXIT: 1 + STDOPT: +*/ int BadReturn1(int* p) { *p++; return; diff --git a/tests/syntax/bts0519.c b/tests/syntax/bts0519.c index 9c1713103718b6783fb7201693001013f1d0dccb..41a8ff2c7bbca2cf5a34cd9f1f58f2b574f0c04c 100644 --- a/tests/syntax/bts0519.c +++ b/tests/syntax/bts0519.c @@ -1,5 +1,6 @@ /* run.config STDOPT: +"-cpp-command='gcc -C -E -I.'" +"-cpp-frama-c-compliant" + EXIT: 1 STDOPT: +"-cpp-command='gcc -C -E -I. -DERR'" +"-cpp-frama-c-compliant" */ diff --git a/tests/syntax/cert-dcl-36.c b/tests/syntax/cert-dcl-36.c index fe5fdb97b7baeb77a61c6b1f96f9ea6daa657e50..78b17597c868f218ae7b413305444a3fdac3d225 100644 --- a/tests/syntax/cert-dcl-36.c +++ b/tests/syntax/cert-dcl-36.c @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + int i1 = 10; /* Definition, external linkage */ static int i2 = 20; /* Definition, internal linkage */ extern int i3 = 30; /* Definition, external linkage */ diff --git a/tests/syntax/cert_msc_38.c b/tests/syntax/cert_msc_38.c index d15f0eaccacb1abdb6bf90ce063efe293b1e0c01..ad9f60245808fff6c5f62bb12d0641e44e962a7b 100644 --- a/tests/syntax/cert_msc_38.c +++ b/tests/syntax/cert_msc_38.c @@ -1,12 +1,13 @@ /* run.config -STDOPT: +"-cpp-extra-args='-DTEST_ASSERT'" -STDOPT: +"-cpp-extra-args='-DTEST_ERRNO'" -STDOPT: +"-cpp-extra-args='-DTEST_MATHERRHANDLING'" -STDOPT: +"-cpp-extra-args='-DTEST_VASTART'" -STDOPT: +"-cpp-extra-args='-DTEST_VACOPY'" -STDOPT: +"-cpp-extra-args='-DTEST_VAARG'" -STDOPT: +"-cpp-extra-args='-DTEST_VAEND'" -STDOPT: +"-cpp-extra-args='-DTEST_SETJMP'" + EXIT: 1 + STDOPT: +"-cpp-extra-args='-DTEST_ASSERT'" + STDOPT: +"-cpp-extra-args='-DTEST_ERRNO'" + STDOPT: +"-cpp-extra-args='-DTEST_MATHERRHANDLING'" + STDOPT: +"-cpp-extra-args='-DTEST_VASTART'" + STDOPT: +"-cpp-extra-args='-DTEST_VACOPY'" + STDOPT: +"-cpp-extra-args='-DTEST_VAARG'" + STDOPT: +"-cpp-extra-args='-DTEST_VAEND'" + STDOPT: +"-cpp-extra-args='-DTEST_SETJMP'" */ #include <assert.h> #include <stdarg.h> diff --git a/tests/syntax/composite-tags.i b/tests/syntax/composite-tags.i index b823ffdf4a1ca5ad657d491848a0aa9a2a5f43fe..57cf567357e69d0515392300318d6da13f8476d0 100644 --- a/tests/syntax/composite-tags.i +++ b/tests/syntax/composite-tags.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + struct s1 { int a; }; struct s2 { int a; }; diff --git a/tests/syntax/const-assignments.c b/tests/syntax/const-assignments.c index a04efd9d97b8ad4e04976731daa7f67790e212f4..745a67aa56aac5491708a37f4d6e282f1f5c2723 100644 --- a/tests/syntax/const-assignments.c +++ b/tests/syntax/const-assignments.c @@ -1,21 +1,21 @@ /* run.config STDOPT: + EXIT:1 STDOPT: +" -cpp-extra-args=-DT0" STDOPT: +" -cpp-extra-args=-DT1" STDOPT: +" -cpp-extra-args=-DT2" STDOPT: +" -cpp-extra-args=-DT3" STDOPT: +" -cpp-extra-args=-DT4" STDOPT: +" -cpp-extra-args=-DT5" + EXIT:0 STDOPT: +" -cpp-extra-args=-DT6" STDOPT: +" -cpp-extra-args=-DT7" + EXIT:1 STDOPT: +" -cpp-extra-args=-DT8" */ - /* The first run is correct. The others should fail, as they include invalid assignments to const lvalues. */ const int x = 1; - - #ifdef T0 void f() { x = 42; diff --git a/tests/syntax/duplicate_field.i b/tests/syntax/duplicate_field.i index 4d87d6db6e95dc75524c12825ba789a1a460b7a4..0182c652f28ae765761c09b543d026b4d8825046 100644 --- a/tests/syntax/duplicate_field.i +++ b/tests/syntax/duplicate_field.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + struct test{ int x; int x; diff --git a/tests/syntax/fam.i b/tests/syntax/fam.i index b91d73a95809d3becec6f93f547aa8d10d45f0b8..c7239abee35c9bf1ec8290756d59550555d78307 100644 --- a/tests/syntax/fam.i +++ b/tests/syntax/fam.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + // Tests related to flexible array members // FAM declaration OK diff --git a/tests/syntax/flexible_array_member_invalid1.i b/tests/syntax/flexible_array_member_invalid1.i index 62ebdab3e24b225226ed31ca6ca17e0cdd50b33f..5db7343892aa72873391759ae652ae7741757bbd 100644 --- a/tests/syntax/flexible_array_member_invalid1.i +++ b/tests/syntax/flexible_array_member_invalid1.i @@ -1,3 +1,8 @@ +/* run.config + EXIT: 1 + STDOPT: +*/ + // invalid flexible array member (empty struct otherwise) struct s1 { char data[]; diff --git a/tests/syntax/flexible_array_member_invalid2.i b/tests/syntax/flexible_array_member_invalid2.i index eab5dccd0c3e11ce97ad2511ab92beaeb96bc405..9cda9f447e30a8954c162a855682b6f1438989b7 100644 --- a/tests/syntax/flexible_array_member_invalid2.i +++ b/tests/syntax/flexible_array_member_invalid2.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + // invalid flexible array member (two incomplete fields) struct s { int len; diff --git a/tests/syntax/flexible_array_member_invalid3.i b/tests/syntax/flexible_array_member_invalid3.i index 4baf088c14f4a8baeba250ad8f2abe33a2b79766..59fca4bf3473d5dfbbfd5f25f12bfa1d6407330f 100644 --- a/tests/syntax/flexible_array_member_invalid3.i +++ b/tests/syntax/flexible_array_member_invalid3.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + // invalid flexible array member (two incomplete fields in same field group) struct s { int len; diff --git a/tests/syntax/flexible_array_member_invalid4.i b/tests/syntax/flexible_array_member_invalid4.i index e84cce94b9891a77d85135a75691d9f9b7ad1b87..99e25916b20d422ff84b622d9d269d91f865d671 100644 --- a/tests/syntax/flexible_array_member_invalid4.i +++ b/tests/syntax/flexible_array_member_invalid4.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + // invalid flexible array member (incomplete field is not last) struct s { int len; diff --git a/tests/syntax/flexible_array_member_invalid5.i b/tests/syntax/flexible_array_member_invalid5.i index a0339194afe9def80ec7aeba80647ec0e8084981..35dbe5c3064ecbaa0312c532641dab5c25148b19 100644 --- a/tests/syntax/flexible_array_member_invalid5.i +++ b/tests/syntax/flexible_array_member_invalid5.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + // In C99, flexible array members cannot be nested inside other structs typedef struct { int a; diff --git a/tests/syntax/ghost_cv_incompat.i b/tests/syntax/ghost_cv_incompat.i index 0de775a8e056e17559429eedc7ef5d26feb12bab..e75186e231c116379b922093101c28ba321fbdfa 100644 --- a/tests/syntax/ghost_cv_incompat.i +++ b/tests/syntax/ghost_cv_incompat.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + typedef int int_array [10] ; struct Type { int field ; } ; diff --git a/tests/syntax/ghost_cv_invalid_use.i b/tests/syntax/ghost_cv_invalid_use.i index a4e082cc80821e0c384ace856b36df57d72fd94c..f2729c2ea244c8b64e324d2f56252acc9a3394ad 100644 --- a/tests/syntax/ghost_cv_invalid_use.i +++ b/tests/syntax/ghost_cv_invalid_use.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ // In this file, each write raises an error: writing non-ghost memory location // from ghost code, except if a comment says the opposite. diff --git a/tests/syntax/ghost_cv_parsing_errors.c b/tests/syntax/ghost_cv_parsing_errors.c index 55637c2cad56e520c48cb7c9f151a040bab5df24..08ecf3c1bc55182919c315baf9de600eb8af743b 100644 --- a/tests/syntax/ghost_cv_parsing_errors.c +++ b/tests/syntax/ghost_cv_parsing_errors.c @@ -1,4 +1,5 @@ /* run.config + EXIT: 1 OPT:-cpp-extra-args="-DIN_TYPE" OPT:-cpp-extra-args="-DIN_DECL" OPT:-cpp-extra-args="-DIN_GHOST_ATTR" diff --git a/tests/syntax/ghost_cv_var_decl.c b/tests/syntax/ghost_cv_var_decl.c index 6a8f1922b9870d826dfcddb54638ba9386401f1d..180192d7e258b1efa56107d775a19ae042dfee5b 100644 --- a/tests/syntax/ghost_cv_var_decl.c +++ b/tests/syntax/ghost_cv_var_decl.c @@ -1,5 +1,8 @@ /* run.config + + EXIT: 1 OPT:-cpp-extra-args="-DFAIL_DECL_TYPE" + EXIT: 0 OPT:-load-script @PTEST_DIR@/@PTEST_NAME@.ml */ diff --git a/tests/syntax/ghost_else_bad.c b/tests/syntax/ghost_else_bad.c index 0fad3b59986a0a65ad22b21b9f9b170ed348b49e..151b38dcf8e709e60526bc0007a7ff27084f603b 100644 --- a/tests/syntax/ghost_else_bad.c +++ b/tests/syntax/ghost_else_bad.c @@ -1,12 +1,12 @@ /* run.config + EXIT: 1 OPT: -no-autoload-plugins -cpp-extra-args="-DERROR_LOC_WITH_COMMENTS" + EXIT: 0 OPT: -no-autoload-plugins -cpp-extra-args="-DALREADY_HAS_ELSE" -print -kernel-warn-key ghost:bad-use=feedback + EXIT: 1 OPT: -no-autoload-plugins -cpp-extra-args="-DBAD_ANNOT_POSITION" */ - - #ifdef ERROR_LOC_WITH_COMMENTS // Must check that the line indicated for undeclared "z" is correct - void if_ghost_else_block_comments_then_error(int x, int y) { if (x) { x++; diff --git a/tests/syntax/ghost_else_bad_oneline.i b/tests/syntax/ghost_else_bad_oneline.i index d78f5e54a4db97deda334fa64c48c5f8ca5fa827..a7cd33e3341ee64f40642879d1024d7faccabd32 100644 --- a/tests/syntax/ghost_else_bad_oneline.i +++ b/tests/syntax/ghost_else_bad_oneline.i @@ -1,7 +1,7 @@ /* run.config + EXIT: 1 OPT: -no-autoload-plugins -print */ - void if_ghost_else_one_line_bad(int x, int y) { if (x) { x++; diff --git a/tests/syntax/ghost_local_ill_formed.i b/tests/syntax/ghost_local_ill_formed.i index d3d786b2880f1a69d94a0826f3379c43ea25f692..5492f24a3afd0b94de7c5eacddbece339a2f51c2 100644 --- a/tests/syntax/ghost_local_ill_formed.i +++ b/tests/syntax/ghost_local_ill_formed.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ void titi() { int c = 0; L0: ; diff --git a/tests/syntax/ghost_multiline_annot.c b/tests/syntax/ghost_multiline_annot.c index 2d7d07969208ef53f72ba186c349da56847da008..efa2a0566c5c0ff718cb6c4b321f7823f6871131 100644 --- a/tests/syntax/ghost_multiline_annot.c +++ b/tests/syntax/ghost_multiline_annot.c @@ -1,18 +1,18 @@ /* run.config STDOPT: +" -cpp-extra-args=-DP0" + EXIT: 1 STDOPT: +" -cpp-extra-args=-DP1" STDOPT: +" -cpp-extra-args=-DP2" STDOPT: +" -cpp-extra-args=-DP3" STDOPT: +" -cpp-extra-args=-DP4" STDOPT: +" -cpp-extra-args=-DP5" + EXIT: 0 STDOPT: +" -cpp-extra-args=-DP6" STDOPT: +" -cpp-extra-args=-DP7" STDOPT: +" -cpp-extra-args=-DP8" */ - #ifdef P0 -int main(int c) -{ +int main(int c) { /*@ ghost //@ requires c >= 0; int x = c; /@ loop invariant x >= 0; diff --git a/tests/syntax/ghost_parameters.c b/tests/syntax/ghost_parameters.c index b1caed2316819fca7f5298378248efc7d71dc111..db9dce1ccf5d5c0cef88ace49215b5aaef7bfdfc 100644 --- a/tests/syntax/ghost_parameters.c +++ b/tests/syntax/ghost_parameters.c @@ -1,7 +1,10 @@ /* run.config + EXIT: 1 STDOPT: +" -cpp-extra-args=-DARGS_NOT_VOID" STDOPT: +" -cpp-extra-args=-DARGS_VOID" + EXIT: 0 STDOPT: +" -cpp-extra-args=-DCOHERENT_DECL" + EXIT: 1 STDOPT: +" -cpp-extra-args=-DINCOHERENT_LOCAL_DECL_NON_GHOST" STDOPT: +" -cpp-extra-args=-DINCOHERENT_GLOBAL_DECL_NON_GHOST" STDOPT: +" -cpp-extra-args=-DINCOHERENT_LOCAL_DECL_GHOST" diff --git a/tests/syntax/incompatible_qualifiers.c b/tests/syntax/incompatible_qualifiers.c index 66371e18b3a593d348c816860bcb5fa6487964ce..1eed4134ecaf36c365f8eb6a93e6f4fa6324949d 100644 --- a/tests/syntax/incompatible_qualifiers.c +++ b/tests/syntax/incompatible_qualifiers.c @@ -1,6 +1,8 @@ -/*run.config - STDOPT: - STDOPT: #"-cpp-extra-args='-DNOERROR'" +/* run.config + EXIT: 1 + STDOPT: + EXIT: 0 + STDOPT: #"-cpp-extra-args='-DNOERROR'" */ // Note: some of the declarations below are accepted by GCC 7.1.1 with -std=c11 // (but not -std=c99), mainly due to this warning (use -Wextra to see it): diff --git a/tests/syntax/incomplete_array.i b/tests/syntax/incomplete_array.i index b2e82193a255f81a5cb5d92fca3505e85c2a25c5..3ec41da4ee6c62d1b52963e484ae50dc5de8dcb0 100644 --- a/tests/syntax/incomplete_array.i +++ b/tests/syntax/incomplete_array.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ /* variation around issue #2091 */ struct S; diff --git a/tests/syntax/incomplete_struct_field.i b/tests/syntax/incomplete_struct_field.i index c9e20e50f123c38e78e82a8951d888ae938d5a43..ed81a5d3f691655f19f5e75ef1518848163c597c 100644 --- a/tests/syntax/incomplete_struct_field.i +++ b/tests/syntax/incomplete_struct_field.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ typedef struct _s { int i; struct _s v[12]; diff --git a/tests/syntax/inconsistent_decl.c b/tests/syntax/inconsistent_decl.c index 0c7901651cf0b9ef6d4ea0310ed368298920c203..c4cb37aa00a73bc53063c83f98aee526abe69a9e 100644 --- a/tests/syntax/inconsistent_decl.c +++ b/tests/syntax/inconsistent_decl.c @@ -1,6 +1,7 @@ /* run.config -STDOPT: +"tests/syntax/inconsistent_decl_2.i" -STDOPT: +"tests/syntax/inconsistent_decl_2.i"+"-cpp-extra-args='-DWITH_PROTO'" +EXIT: 1 + STDOPT: +"tests/syntax/inconsistent_decl_2.i" + STDOPT: +"tests/syntax/inconsistent_decl_2.i"+"-cpp-extra-args='-DWITH_PROTO'" */ #ifdef WITH_PROTO diff --git a/tests/syntax/inconsistent_global_ghost_spec.c b/tests/syntax/inconsistent_global_ghost_spec.c index 8a3aa44011c7c8c8bfa1693b57631cdc8f5b5f1a..231b0c1123f057a3607a57915af9f32a59427d46 100644 --- a/tests/syntax/inconsistent_global_ghost_spec.c +++ b/tests/syntax/inconsistent_global_ghost_spec.c @@ -1,10 +1,10 @@ /* run.config -OPT: -cpp-extra-args="-DNON_GHOST_DECL_GHOST_DEF" -OPT: -cpp-extra-args="-DGHOST_DECL_NON_GHOST_DEF" -OPT: -cpp-extra-args="-DGHOST_DEF_NON_GHOST_DECL" -OPT: -cpp-extra-args="-DNON_GHOST_DEF_GHOST_DECL" +EXIT: 1 + OPT: -cpp-extra-args="-DNON_GHOST_DECL_GHOST_DEF" + OPT: -cpp-extra-args="-DGHOST_DECL_NON_GHOST_DEF" + OPT: -cpp-extra-args="-DGHOST_DEF_NON_GHOST_DECL" + OPT: -cpp-extra-args="-DNON_GHOST_DEF_GHOST_DECL" */ - #ifdef NON_GHOST_DECL_GHOST_DEF void function(void) ; diff --git a/tests/syntax/init_bts1352.i b/tests/syntax/init_bts1352.i index afe1a02aade80108befaf96b1ec51da84f58a0d5..ddfa14d70527313d30b9148bd25e9b50fcf14a99 100644 --- a/tests/syntax/init_bts1352.i +++ b/tests/syntax/init_bts1352.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + int main(void) { int t /* [5] missing */ = { 1, 2, 3, 4, 5 }; } diff --git a/tests/syntax/invalid_constant.i b/tests/syntax/invalid_constant.i index 5f429de862630c8597a556e77917bc234a7caee0..5db196f78807bd979ee203250189ffe2c5b03154 100644 --- a/tests/syntax/invalid_constant.i +++ b/tests/syntax/invalid_constant.i @@ -1,2 +1,6 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ /* Invalid octal constant */ int i = 0123456789; diff --git a/tests/syntax/line_number.c b/tests/syntax/line_number.c index 97e763362e2dc653cce9d347c2db419585668762..c3535c628d2dd9e33f5e1d853bd3f262d1e4cc0c 100644 --- a/tests/syntax/line_number.c +++ b/tests/syntax/line_number.c @@ -1,2 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + //@ assert \result == 0; extern int p(void void); diff --git a/tests/syntax/lvalvoid.i b/tests/syntax/lvalvoid.i index 39840bd6cf94033d0872192b63d32252fce8de53..a0de92104f81c6049e600ee4534200742c76b21c 100644 --- a/tests/syntax/lvalvoid.i +++ b/tests/syntax/lvalvoid.i @@ -1,3 +1,7 @@ +/* run.config + EXIT: 1 + STDOPT: +*/ void* memcpy1(void* dst, const void *src,long n) { char* d=dst; char* s=src; for (int i=0;i<n;i++) diff --git a/tests/syntax/merge_attrs_align.c b/tests/syntax/merge_attrs_align.c index 71d62ce185b07cede4befcbde1fd0c358cb75e7a..ef3528b0d15513a1ec11b866e6a4bd481b0fb74f 100644 --- a/tests/syntax/merge_attrs_align.c +++ b/tests/syntax/merge_attrs_align.c @@ -1,8 +1,11 @@ /*run.config + EXIT: 1 STDOPT: +"-machdep x86_64" +"tests/syntax/merge_attrs_align1.c" +"tests/syntax/merge_attrs_align2.c" STDOPT: +"-machdep x86_64" +"tests/syntax/merge_attrs_align1.c" +"tests/syntax/merge_attrs_align3.c" + EXIT: 0 STDOPT: +"-machdep x86_64" +"tests/syntax/merge_attrs_align1.c" +"tests/syntax/merge_attrs_align4.c" STDOPT: +"-machdep x86_64" +"tests/syntax/merge_attrs_align2.c" +"tests/syntax/merge_attrs_align3.c" + EXIT: 1 STDOPT: +"-machdep x86_64" +"tests/syntax/merge_attrs_align2.c" +"tests/syntax/merge_attrs_align4.c" STDOPT: +"-machdep x86_64" +"tests/syntax/merge_attrs_align3.c" +"tests/syntax/merge_attrs_align4.c" */ diff --git a/tests/syntax/merge_unused.c b/tests/syntax/merge_unused.c index b7233c675d0c28cc82f633f8403f6b7040571f2e..d8a15d22f663965e8bdd03effb49ed31d5b71b1d 100644 --- a/tests/syntax/merge_unused.c +++ b/tests/syntax/merge_unused.c @@ -1,7 +1,8 @@ -/* run.config -OPT: -cpp-extra-args="-I@PTEST_DIR@" @PTEST_DIR@/@PTEST_NAME@_2.c -print -*/ +/* run.config* +EXIT: 1 + OPT: -cpp-extra-args="-I@PTEST_DIR@" @PTEST_DIR@/@PTEST_NAME@_2.c -print +*/ #pragma pack(1) #include "merge_unused.h" diff --git a/tests/syntax/multiple_assigns.i b/tests/syntax/multiple_assigns.i index d20a1dfcda46f0720ce70523677b4472dd709f80..1d1d9d7eb516dc6444cf9a41f12ac23d8081b774 100644 --- a/tests/syntax/multiple_assigns.i +++ b/tests/syntax/multiple_assigns.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 0 + STDOPT: +*/ int z; /*@ assigns z, z; diff --git a/tests/syntax/multiple_froms.i b/tests/syntax/multiple_froms.i index 6a0a25687f9e2960e533cbec4ac5dbc0dc21e286..fb2cf140850349af5468b540e848f847d4d1852c 100644 --- a/tests/syntax/multiple_froms.i +++ b/tests/syntax/multiple_froms.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 0 + STDOPT: +*/ + + int a, b, c, d, e; // Reminder: assigns are visited in reverse diff --git a/tests/syntax/mutually_recursive_struct.i b/tests/syntax/mutually_recursive_struct.i index 7d4f460b375b9de4e54c977d4dd8496d64097f2b..2aed6a096ca712545ed09256856a533a7b9d0b14 100644 --- a/tests/syntax/mutually_recursive_struct.i +++ b/tests/syntax/mutually_recursive_struct.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + struct S1; struct S2; diff --git a/tests/syntax/no_prototype.i b/tests/syntax/no_prototype.i index 47d289de12e57a13d96629b6affb868a2fa886e3..a0185f6bcfcd32ca452e2f2de948dc8ef42cf24f 100644 --- a/tests/syntax/no_prototype.i +++ b/tests/syntax/no_prototype.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + void foo(); int main(void) { diff --git a/tests/syntax/oracle/alloc_order.res.oracle b/tests/syntax/oracle/alloc_order.res.oracle index 173bd5cb869ad8b1702c444344ed0be2eef73e91..59aebb036c3b4be1d4705dc54c4b050e1a66121e 100644 --- a/tests/syntax/oracle/alloc_order.res.oracle +++ b/tests/syntax/oracle/alloc_order.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/alloc_order.i (no preprocessing) -[kernel:annot-error] tests/syntax/alloc_order.i:3: Warning: +[kernel:annot-error] tests/syntax/alloc_order.i:8: Warning: wrong order of clause in contract: requires after post-condition, assigns or allocates. [kernel] User Error: warning annot-error treated as fatal error. [kernel] User Error: stopping on file "tests/syntax/alloc_order.i" that has errors. diff --git a/tests/syntax/oracle/array_cast_bts1099.res.oracle b/tests/syntax/oracle/array_cast_bts1099.res.oracle index 3ffc08e781dc03aa74057fdadaa70e25c2a532b6..d1d6270e09fd6f2c43391ed6dcd3a6bdaaf3e354 100644 --- a/tests/syntax/oracle/array_cast_bts1099.res.oracle +++ b/tests/syntax/oracle/array_cast_bts1099.res.oracle @@ -1,10 +1,10 @@ [kernel] Parsing tests/syntax/array_cast_bts1099.i (no preprocessing) -[kernel] tests/syntax/array_cast_bts1099.i:7: User Error: +[kernel] tests/syntax/array_cast_bts1099.i:12: User Error: Cast over a non-scalar type int [10] - 5 int tab1[4]; - 6 u* p = &tab1; - 7 t* p2 = (t) p; + 10 int tab1[4]; + 11 u* p = &tab1; + 12 t* p2 = (t) p; ^^^^^^^^^^^^^^^^ - 8 } + 13 } [kernel] User Error: stopping on file "tests/syntax/array_cast_bts1099.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/array_size.res.oracle b/tests/syntax/oracle/array_size.res.oracle index ec2486e5181ba4a029dc69d0d451180ae504612b..de7738eb5114683a6c340766053fceaa9395f02e 100644 --- a/tests/syntax/oracle/array_size.res.oracle +++ b/tests/syntax/oracle/array_size.res.oracle @@ -1,4 +1,4 @@ [kernel] Parsing tests/syntax/array_size.i (no preprocessing) -[kernel] tests/syntax/array_size.i:1: User Error: Array length is negative. +[kernel] tests/syntax/array_size.i:7: User Error: Array length is negative. [kernel] User Error: stopping on file "tests/syntax/array_size.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/axiomatic_nested.res.oracle b/tests/syntax/oracle/axiomatic_nested.res.oracle index d3bdcc55f5071d1bfe4ef4c98f29f605fc591745..3fbfd43b9c4870d3110175283772cb50b7b11eda 100644 --- a/tests/syntax/oracle/axiomatic_nested.res.oracle +++ b/tests/syntax/oracle/axiomatic_nested.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/axiomatic_nested.i (no preprocessing) -[kernel:annot-error] tests/syntax/axiomatic_nested.i:4: Warning: +[kernel:annot-error] tests/syntax/axiomatic_nested.i:8: Warning: Nested axiomatic. Ignoring body of bla2. Ignoring global annotation [kernel] User Error: warning annot-error treated as fatal error. [kernel] User Error: stopping on file "tests/syntax/axiomatic_nested.i" that has errors. diff --git a/tests/syntax/oracle/bad_return_bts_599.res.oracle b/tests/syntax/oracle/bad_return_bts_599.res.oracle index 547da73ae039c6839eb2a5a261b8fbe3e591b498..d497519859d77d74ab944ded30b382d1f03ebcb2 100644 --- a/tests/syntax/oracle/bad_return_bts_599.res.oracle +++ b/tests/syntax/oracle/bad_return_bts_599.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/bad_return_bts_599.i (no preprocessing) -[kernel] tests/syntax/bad_return_bts_599.i:4: User Error: +[kernel] tests/syntax/bad_return_bts_599.i:7: User Error: Return statement without a value in function returning int -[kernel] tests/syntax/bad_return_bts_599.i:9: User Error: +[kernel] tests/syntax/bad_return_bts_599.i:12: User Error: Return statement without a value in function returning int [kernel] User Error: stopping on file "tests/syntax/bad_return_bts_599.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/bts0519.1.res.oracle b/tests/syntax/oracle/bts0519.1.res.oracle index 569bc14d16ed150c732eea7095eed1ac511cf9d5..e7405b10ba795d9cc21051f3351c848af9c182d5 100644 --- a/tests/syntax/oracle/bts0519.1.res.oracle +++ b/tests/syntax/oracle/bts0519.1.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/bts0519.c (with preprocessing) -[kernel] tests/syntax/bts0519.c:9: User Error: +[kernel] tests/syntax/bts0519.c:10: User Error: static specifier inside array argument is allowed only in function argument [kernel] User Error: stopping on file "tests/syntax/bts0519.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/cert-dcl-36.res.oracle b/tests/syntax/oracle/cert-dcl-36.res.oracle index 847b9b1daf4de01140c7d03e3147b99a84a7194a..b1c09cfdec30ff4124c89ea50544288a5014e94e 100644 --- a/tests/syntax/oracle/cert-dcl-36.res.oracle +++ b/tests/syntax/oracle/cert-dcl-36.res.oracle @@ -1,8 +1,8 @@ [kernel] Parsing tests/syntax/cert-dcl-36.c (with preprocessing) -[kernel] tests/syntax/cert-dcl-36.c:7: User Error: - Inconsistent storage specification for i2. Previous declaration: tests/syntax/cert-dcl-36.c:2 -[kernel] tests/syntax/cert-dcl-36.c:10: User Error: - Inconsistent storage specification for i5. Previous declaration: tests/syntax/cert-dcl-36.c:5 +[kernel] tests/syntax/cert-dcl-36.c:12: User Error: + Inconsistent storage specification for i2. Previous declaration: tests/syntax/cert-dcl-36.c:7 +[kernel] tests/syntax/cert-dcl-36.c:15: User Error: + Inconsistent storage specification for i5. Previous declaration: tests/syntax/cert-dcl-36.c:10 [kernel] User Error: stopping on file "tests/syntax/cert-dcl-36.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/cert_msc_38.0.res.oracle b/tests/syntax/oracle/cert_msc_38.0.res.oracle index 436be5934df83f34a38c349268bc1cc44c678eca..04ff74b2370c01075635c950d12d486cb2ce8a9c 100644 --- a/tests/syntax/oracle/cert_msc_38.0.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.0.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:25: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:26: Warning: assert is a standard macro. Its definition cannot be suppressed, see CERT C coding rules MSC38-C -[kernel] tests/syntax/cert_msc_38.c:25: User Error: +[kernel] tests/syntax/cert_msc_38.c:26: User Error: Cannot resolve variable assert [kernel] User Error: stopping on file "tests/syntax/cert_msc_38.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/cert_msc_38.1.res.oracle b/tests/syntax/oracle/cert_msc_38.1.res.oracle index 912e7c39eda85a2aca5b384ba7c66a19a7cc5ae3..eb28de05e6ccd14529eb0f194f929194af767bd1 100644 --- a/tests/syntax/oracle/cert_msc_38.1.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.1.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:32: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:33: Warning: Attempt to declare errno as external identifier outside of the stdlib. It is supposed to be a macro name and cannot be declared. See CERT C coding rule MSC38-C [kernel] Warning: warning CERT:MSC:38 treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/cert_msc_38.2.res.oracle b/tests/syntax/oracle/cert_msc_38.2.res.oracle index 9f32d3600137b87eec1c8173f9c25065724ced79..abc74174dda62c557908b513cd781e03e62a5f29 100644 --- a/tests/syntax/oracle/cert_msc_38.2.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.2.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:37: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:38: Warning: Attempt to declare math_errhandling as external identifier outside of the stdlib. It is supposed to be a macro name and cannot be declared. See CERT C coding rule MSC38-C [kernel] Warning: warning CERT:MSC:38 treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/cert_msc_38.3.res.oracle b/tests/syntax/oracle/cert_msc_38.3.res.oracle index 1d21e57a88d24c9b96be04b54e6a2cc7ae571c1d..14676195dd4eae5ed1171034ca44b30f1b74d441 100644 --- a/tests/syntax/oracle/cert_msc_38.3.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.3.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:42: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:43: Warning: va_start is a standard macro. Its definition cannot be suppressed, see CERT C coding rules MSC38-C -[kernel] tests/syntax/cert_msc_38.c:42: User Error: +[kernel] tests/syntax/cert_msc_38.c:43: User Error: Cannot resolve variable va_start [kernel] User Error: stopping on file "tests/syntax/cert_msc_38.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/cert_msc_38.4.res.oracle b/tests/syntax/oracle/cert_msc_38.4.res.oracle index a65e4b430e8d16990b62fde88248bc2595dab725..f867e2dca1a32b845de6d3dfe84e234a66de9e21 100644 --- a/tests/syntax/oracle/cert_msc_38.4.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.4.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:46: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:47: Warning: va_copy is a standard macro. Its definition cannot be suppressed, see CERT C coding rules MSC38-C -[kernel] tests/syntax/cert_msc_38.c:46: User Error: +[kernel] tests/syntax/cert_msc_38.c:47: User Error: Cannot resolve variable va_copy [kernel] User Error: stopping on file "tests/syntax/cert_msc_38.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/cert_msc_38.5.res.oracle b/tests/syntax/oracle/cert_msc_38.5.res.oracle index 38293bc7042745d1f53f4b7b07f04c991d7b871b..15a1c6c5ec34746a35112dfec92bc76c861cce7d 100644 --- a/tests/syntax/oracle/cert_msc_38.5.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.5.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:50: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:51: Warning: va_arg is a standard macro. Its definition cannot be suppressed, see CERT C coding rules MSC38-C -[kernel] tests/syntax/cert_msc_38.c:50: User Error: +[kernel] tests/syntax/cert_msc_38.c:51: User Error: Cannot resolve variable va_arg [kernel] User Error: stopping on file "tests/syntax/cert_msc_38.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/cert_msc_38.6.res.oracle b/tests/syntax/oracle/cert_msc_38.6.res.oracle index 5aad28f718a5497c62d4ea5465bb4abe26a7b0b8..467a8bc0b1a0c4c3a1e67c858736955aca2e314c 100644 --- a/tests/syntax/oracle/cert_msc_38.6.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.6.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:54: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:55: Warning: va_end is a standard macro. Its definition cannot be suppressed, see CERT C coding rules MSC38-C -[kernel] tests/syntax/cert_msc_38.c:54: User Error: +[kernel] tests/syntax/cert_msc_38.c:55: User Error: Cannot resolve variable va_end [kernel] User Error: stopping on file "tests/syntax/cert_msc_38.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/cert_msc_38.7.res.oracle b/tests/syntax/oracle/cert_msc_38.7.res.oracle index a13d4f25031321d636b4bd57ad8ff9ca9c89e66f..f32737dfff88f02c4e8c09ccde67b5d0d3484656 100644 --- a/tests/syntax/oracle/cert_msc_38.7.res.oracle +++ b/tests/syntax/oracle/cert_msc_38.7.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/cert_msc_38.c (with preprocessing) -[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:59: Warning: +[kernel:CERT:MSC:38] tests/syntax/cert_msc_38.c:60: Warning: setjmp is a standard macro. Its definition cannot be suppressed, see CERT C coding rules MSC38-C [kernel] Warning: warning CERT:MSC:38 treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/composite-tags.res.oracle b/tests/syntax/oracle/composite-tags.res.oracle index 4bffd45b6e6122b339e7770cfc8aada85d1a3c75..a48143d07d80ec5eed131ac8631df8d43ca43117 100644 --- a/tests/syntax/oracle/composite-tags.res.oracle +++ b/tests/syntax/oracle/composite-tags.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/composite-tags.i (no preprocessing) -[kernel] tests/syntax/composite-tags.i:5: User Error: - Declaration of f does not match previous declaration from tests/syntax/composite-tags.i:4 (structs with different tags). -[kernel] tests/syntax/composite-tags.i:11: User Error: - Declaration of g does not match previous declaration from tests/syntax/composite-tags.i:10 (unions with different tags). +[kernel] tests/syntax/composite-tags.i:10: User Error: + Declaration of f does not match previous declaration from tests/syntax/composite-tags.i:9 (structs with different tags). +[kernel] tests/syntax/composite-tags.i:16: User Error: + Declaration of g does not match previous declaration from tests/syntax/composite-tags.i:15 (unions with different tags). [kernel] User Error: stopping on file "tests/syntax/composite-tags.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/duplicate_field.res.oracle b/tests/syntax/oracle/duplicate_field.res.oracle index 1535831390d805fc0dc1ee5d05f8d1bdc43fe451..158feb74eaf514db805002c0630d203b7e721c59 100644 --- a/tests/syntax/oracle/duplicate_field.res.oracle +++ b/tests/syntax/oracle/duplicate_field.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/duplicate_field.i (no preprocessing) -[kernel] tests/syntax/duplicate_field.i:3: User Error: - field x occurs multiple times in aggregate struct test. Previous occurrence is at line 2. +[kernel] tests/syntax/duplicate_field.i:8: User Error: + field x occurs multiple times in aggregate struct test. Previous occurrence is at line 7. [kernel] User Error: stopping on file "tests/syntax/duplicate_field.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/fam.res.oracle b/tests/syntax/oracle/fam.res.oracle index 950231170bb236c3b469691bf90fff7e7e252eac..8ccf9f18f6f5ea030a3ff85f5e597a43aa74de04 100644 --- a/tests/syntax/oracle/fam.res.oracle +++ b/tests/syntax/oracle/fam.res.oracle @@ -1,15 +1,15 @@ [kernel] Parsing tests/syntax/fam.i (no preprocessing) -[kernel] tests/syntax/fam.i:10: User Error: +[kernel] tests/syntax/fam.i:16: User Error: static initialization of flexible array members is an unsupported GNU extension -[kernel] tests/syntax/fam.i:22: User Error: +[kernel] tests/syntax/fam.i:28: User Error: field `b' is declared with incomplete type char [] -[kernel] tests/syntax/fam.i:22: User Error: +[kernel] tests/syntax/fam.i:28: User Error: static initialization of flexible array members is an unsupported GNU extension -[kernel] tests/syntax/fam.i:43: User Error: +[kernel] tests/syntax/fam.i:49: User Error: static initialization of flexible array members is an unsupported GNU extension -[kernel] tests/syntax/fam.i:57: User Error: +[kernel] tests/syntax/fam.i:63: User Error: static initialization of flexible array members is an unsupported GNU extension -[kernel] tests/syntax/fam.i:71: User Error: +[kernel] tests/syntax/fam.i:77: User Error: static initialization of flexible array members is an unsupported GNU extension [kernel] User Error: stopping on file "tests/syntax/fam.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/flexible_array_member_invalid1.res.oracle b/tests/syntax/oracle/flexible_array_member_invalid1.res.oracle index 890a48ecd862d9470b308cf965ff2cc6eb8c8dae..1747cd9c2c39144829c5697e1846f8828161ae67 100644 --- a/tests/syntax/oracle/flexible_array_member_invalid1.res.oracle +++ b/tests/syntax/oracle/flexible_array_member_invalid1.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/flexible_array_member_invalid1.i (no preprocessing) -[kernel] tests/syntax/flexible_array_member_invalid1.i:2: User Error: +[kernel] tests/syntax/flexible_array_member_invalid1.i:7: User Error: flexible array member 'data' (type char []) not allowed in otherwise empty struct [kernel] User Error: stopping on file "tests/syntax/flexible_array_member_invalid1.i" that has errors. diff --git a/tests/syntax/oracle/flexible_array_member_invalid2.res.oracle b/tests/syntax/oracle/flexible_array_member_invalid2.res.oracle index 9c14914576b0d4d2d23a3a463d1c19e8c8a89766..08b2bbe1285519910ffd0194603ecffc25ea179d 100644 --- a/tests/syntax/oracle/flexible_array_member_invalid2.res.oracle +++ b/tests/syntax/oracle/flexible_array_member_invalid2.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/flexible_array_member_invalid2.i (no preprocessing) -[kernel] tests/syntax/flexible_array_member_invalid2.i:2: User Error: +[kernel] tests/syntax/flexible_array_member_invalid2.i:7: User Error: field `data' is declared with incomplete type char [] [kernel] User Error: stopping on file "tests/syntax/flexible_array_member_invalid2.i" that has errors. diff --git a/tests/syntax/oracle/flexible_array_member_invalid3.res.oracle b/tests/syntax/oracle/flexible_array_member_invalid3.res.oracle index 738f4dd85865879c0b2aed1b12e163c3ebdb8486..c7e88ab06296193f8a930b30f4ac9686c457763b 100644 --- a/tests/syntax/oracle/flexible_array_member_invalid3.res.oracle +++ b/tests/syntax/oracle/flexible_array_member_invalid3.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/flexible_array_member_invalid3.i (no preprocessing) -[kernel] tests/syntax/flexible_array_member_invalid3.i:2: User Error: +[kernel] tests/syntax/flexible_array_member_invalid3.i:8: User Error: field `data' is declared with incomplete type char [] [kernel] User Error: stopping on file "tests/syntax/flexible_array_member_invalid3.i" that has errors. diff --git a/tests/syntax/oracle/flexible_array_member_invalid4.res.oracle b/tests/syntax/oracle/flexible_array_member_invalid4.res.oracle index 5ebb2f663bee3a6eea0e0badae1c837cacbe0f0c..238b92acd43a45da575a026a1ed434bdc0f90033 100644 --- a/tests/syntax/oracle/flexible_array_member_invalid4.res.oracle +++ b/tests/syntax/oracle/flexible_array_member_invalid4.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/flexible_array_member_invalid4.i (no preprocessing) -[kernel] tests/syntax/flexible_array_member_invalid4.i:2: User Error: +[kernel] tests/syntax/flexible_array_member_invalid4.i:7: User Error: field `data' is declared with incomplete type char [] [kernel] User Error: stopping on file "tests/syntax/flexible_array_member_invalid4.i" that has errors. diff --git a/tests/syntax/oracle/flexible_array_member_invalid5.res.oracle b/tests/syntax/oracle/flexible_array_member_invalid5.res.oracle index b72d52714a53559377d9fb88a5548899a3a9855a..8e1dca203f55c5b1536d845e7f3cb4826cac798d 100644 --- a/tests/syntax/oracle/flexible_array_member_invalid5.res.oracle +++ b/tests/syntax/oracle/flexible_array_member_invalid5.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/flexible_array_member_invalid5.i (no preprocessing) -[kernel] tests/syntax/flexible_array_member_invalid5.i:7: User Error: +[kernel] tests/syntax/flexible_array_member_invalid5.i:13: User Error: field `f' declared with a type containing a flexible array member. [kernel] User Error: stopping on file "tests/syntax/flexible_array_member_invalid5.i" that has errors. diff --git a/tests/syntax/oracle/ghost_cv_incompat.res.oracle b/tests/syntax/oracle/ghost_cv_incompat.res.oracle index 83f13fa55732a3b6f24a9e8db2be97083bd4e6e0..5f5a16766c2e9ca23359aedf9cd10be0ff3cb1db 100644 --- a/tests/syntax/oracle/ghost_cv_incompat.res.oracle +++ b/tests/syntax/oracle/ghost_cv_incompat.res.oracle @@ -1,97 +1,97 @@ [kernel] Parsing tests/syntax/ghost_cv_incompat.i (no preprocessing) -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:22: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:27: Warning: Invalid cast of '& ng' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:23: Warning: - Invalid cast of 'gl_gp' from 'int *' to 'int \ghost *' [kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:28: Warning: + Invalid cast of 'gl_gp' from 'int *' to 'int \ghost *' +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:33: Warning: Invalid cast of 'gl_p00' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:28: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:33: Warning: Invalid cast of 'gl_p00' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:28: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:33: Warning: Invalid cast of 'gl_p01' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:38: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:43: Warning: Invalid cast of '& i' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:39: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:44: Warning: Invalid cast of 'p' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:40: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:45: Warning: Invalid cast of 'a' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:46: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:51: Warning: Invalid cast of 'nga' from 'int (*)[10]' to 'int \ghost (*)[10]' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:53: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:58: Warning: Invalid cast of 'p2' from 'int * \ghost *' to 'int \ghost * \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:54: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:59: Warning: Invalid cast of 'array' from 'int * \ghost *' to 'int \ghost * \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:56: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:61: Warning: Invalid cast of '*p2' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:57: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:62: Warning: Invalid cast of 'array[0]' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:61: Warning: - Invalid cast of 'p4' from 'int * \ghost (*)[10]' to 'int \ghost * \ghost * \ghost *' [kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:66: Warning: + Invalid cast of 'p4' from 'int * \ghost (*)[10]' to 'int \ghost * \ghost * \ghost *' +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:71: Warning: Invalid cast of '& ng_var.field' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:74: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:79: Warning: Invalid cast of '& i' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:75: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:80: Warning: Invalid cast of 'p' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:76: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:81: Warning: Invalid cast of 'a' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:78: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:83: Warning: Cannot cast return of 'function' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:81: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:86: Warning: Invalid cast of 'p00' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:81: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:86: Warning: Invalid cast of 'p00' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:81: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:86: Warning: Invalid cast of 'p01' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:89: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:94: Warning: Invalid cast of '& i' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:90: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:95: Warning: Invalid cast of '& i' from 'int *' to 'int \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:99: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:104: Warning: Invalid cast of '& g' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:100: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:105: Warning: Invalid cast of 'gl_gpg' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:115: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:120: Warning: Invalid cast of '& i' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:116: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:121: Warning: Invalid cast of 'p' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:117: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:122: Warning: Invalid cast of 'a' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:123: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:128: Warning: Invalid cast of 'gpai' from 'int (*)[10]' to 'int \ghost (*)[10]' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:130: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:135: Warning: Invalid cast of 'p2' from 'int \ghost * \ghost *' to 'int * \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:131: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:136: Warning: Invalid cast of 'array' from 'int \ghost * \ghost *' to 'int * \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:133: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:138: Warning: Invalid cast of '*p2' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:134: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:139: Warning: Invalid cast of 'array[0]' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:138: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:143: Warning: Invalid cast of 'p4' from 'int \ghost * \ghost (*)[10]' to 'int * \ghost * \ghost *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:144: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:149: Warning: Invalid cast of '& g_var.field' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:158: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:163: Warning: Invalid cast of '& i' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:159: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:164: Warning: Invalid cast of 'p' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:160: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:165: Warning: Invalid cast of 'a' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:162: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:167: Warning: Cannot cast return of 'function_g' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:165: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:170: Warning: Invalid cast of 'p00' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:165: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:170: Warning: Invalid cast of 'p00' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:165: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:170: Warning: Invalid cast of 'p01' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:173: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:178: Warning: Invalid cast of '& b' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:174: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:179: Warning: Invalid cast of '& b' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:188: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:193: Warning: Invalid cast of '& g_0' from 'int \ghost *' to 'int *' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:189: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_incompat.i:194: Warning: Invalid cast of '& g_0' from 'int \ghost *' to 'int *' [kernel] Warning: warning ghost:bad-use treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_cv_invalid_use.res.oracle b/tests/syntax/oracle/ghost_cv_invalid_use.res.oracle index 16d262f30bb320f70beb9ba5de043807f9ff7357..0c09108e57d8f9a7f699139082b20552d9cf3937 100644 --- a/tests/syntax/oracle/ghost_cv_invalid_use.res.oracle +++ b/tests/syntax/oracle/ghost_cv_invalid_use.res.oracle @@ -1,61 +1,61 @@ [kernel] Parsing tests/syntax/ghost_cv_invalid_use.i (no preprocessing) -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:10: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:14: Warning: 'ng' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:16: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:20: Warning: '*ptr' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:21: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:25: Warning: 'ng_var.field' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:33: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:37: Warning: '*ptrp' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:34: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:38: Warning: '*(*ptrp)' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:35: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:39: Warning: '*(*ptrpg)' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:36: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:40: Warning: '*(arrp[0])' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:37: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:41: Warning: '(*ptra)[0]' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:42: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:46: Warning: '*a' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:50: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:54: Warning: '*a' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:60: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:64: Warning: 'p' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:65: Warning: - '*p' is a non-ghost lvalue, it cannot be assigned in ghost code [kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:69: Warning: '*p' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:79: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:73: Warning: + '*p' is a non-ghost lvalue, it cannot be assigned in ghost code +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:83: Warning: '*p' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:84: Warning: - '*(p + (0 .. max))' is a non-ghost lvalue, it cannot be assigned in ghost code [kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:88: Warning: '*(p + (0 .. max))' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:99: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:92: Warning: '*(p + (0 .. max))' is a non-ghost lvalue, it cannot be assigned in ghost code -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:123: Warning: - Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:124: Warning: - Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:125: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:103: Warning: + '*(p + (0 .. max))' is a non-ghost lvalue, it cannot be assigned in ghost code +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:127: Warning: Call to non-ghost function from ghost code is not allowed [kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:128: Warning: Call to non-ghost function from ghost code is not allowed [kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:129: Warning: Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:130: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:132: Warning: Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:151: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:133: Warning: Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:152: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:134: Warning: Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:153: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:155: Warning: Call to non-ghost function from ghost code is not allowed [kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:156: Warning: Call to non-ghost function from ghost code is not allowed [kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:157: Warning: Call to non-ghost function from ghost code is not allowed -[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:158: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:160: Warning: + Call to non-ghost function from ghost code is not allowed +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:161: Warning: + Call to non-ghost function from ghost code is not allowed +[kernel:ghost:bad-use] tests/syntax/ghost_cv_invalid_use.i:162: Warning: Call to non-ghost function from ghost code is not allowed [kernel] Warning: warning ghost:bad-use treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_cv_parsing_errors.0.res.oracle b/tests/syntax/oracle/ghost_cv_parsing_errors.0.res.oracle index 11e0f79f7ac8199f0d10116325a2dfb06f0b267f..6a919917f2b276988d936cca115367b2fe07e7a3 100644 --- a/tests/syntax/oracle/ghost_cv_parsing_errors.0.res.oracle +++ b/tests/syntax/oracle/ghost_cv_parsing_errors.0.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_cv_parsing_errors.c (with preprocessing) -[kernel] tests/syntax/ghost_cv_parsing_errors.c:11: +[kernel] tests/syntax/ghost_cv_parsing_errors.c:12: Use of \ghost out of ghost code: - Location: between lines 11 and 13, before or at token: \ghost - 9 #ifdef IN_TYPE - 10 + Location: between lines 12 and 14, before or at token: \ghost + 10 #ifdef IN_TYPE + 11 - 11 struct S { - 12 int a ; - 13 } \ghost ; + 12 struct S { + 13 int a ; + 14 } \ghost ; - 14 - 15 #endif + 15 + 16 #endif [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_cv_parsing_errors.1.res.oracle b/tests/syntax/oracle/ghost_cv_parsing_errors.1.res.oracle index 79a1e05ec98cfb5e45d89f7936d79fcabc1dbd21..fbf1db47255e1c8dbb1e37d680f7071d211b7a73 100644 --- a/tests/syntax/oracle/ghost_cv_parsing_errors.1.res.oracle +++ b/tests/syntax/oracle/ghost_cv_parsing_errors.1.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/syntax/ghost_cv_parsing_errors.c (with preprocessing) -[kernel] tests/syntax/ghost_cv_parsing_errors.c:19: +[kernel] tests/syntax/ghost_cv_parsing_errors.c:20: Use of \ghost out of ghost code: - Location: line 19, between columns 0 and 4, before or at token: \ghost - 17 #ifdef IN_DECL - 18 - 19 int \ghost global ; + Location: line 20, between columns 0 and 4, before or at token: \ghost + 18 #ifdef IN_DECL + 19 + 20 int \ghost global ; ^^^^^^^^^^^^^^^^^^^ - 20 - 21 #endif + 21 + 22 #endif [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_cv_parsing_errors.2.res.oracle b/tests/syntax/oracle/ghost_cv_parsing_errors.2.res.oracle index 221217ee8deff4d92b722f17e10e341859edccb3..1ab8175cb4e50711ffcb0d50a9e5510183c9b5f7 100644 --- a/tests/syntax/oracle/ghost_cv_parsing_errors.2.res.oracle +++ b/tests/syntax/oracle/ghost_cv_parsing_errors.2.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/syntax/ghost_cv_parsing_errors.c (with preprocessing) -[kernel] tests/syntax/ghost_cv_parsing_errors.c:25: +[kernel] tests/syntax/ghost_cv_parsing_errors.c:26: Use of \ghost out of ghost code: - Location: line 25, between columns 14 and 14 - 23 #ifdef IN_GHOST_ATTR - 24 - 25 int /*@ \ghost */ global ; + Location: line 26, between columns 14 and 14 + 24 #ifdef IN_GHOST_ATTR + 25 + 26 int /*@ \ghost */ global ; ^^^^^^^^^^^^^^^^^^^^^^^^^^ - 26 - 27 #endif + 27 + 28 #endif [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_cv_var_decl.0.res.oracle b/tests/syntax/oracle/ghost_cv_var_decl.0.res.oracle index 19e4440c2c82f5bc39a032aa56eae8402042c268..dd8e3e9e2fbd50d002b9ec1d22e7f2c520bfcf58 100644 --- a/tests/syntax/oracle/ghost_cv_var_decl.0.res.oracle +++ b/tests/syntax/oracle/ghost_cv_var_decl.0.res.oracle @@ -1,39 +1,39 @@ [kernel] Parsing tests/syntax/ghost_cv_var_decl.c (with preprocessing) -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:12: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:15: 'g1' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:22: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:25: 'g1' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:23: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:26: 'g2' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:32: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:35: 'g0' elements are already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:45: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:48: 'g0' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:175: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:178: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:184: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:187: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:191: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:194: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:200: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:203: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:207: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:210: 'b' elements are already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:216: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:219: 'b' elements are already ghost -[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:149: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:152: Warning: No definition, nor assigns specification for ghost function 'decl_bad_return_type' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:149: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:152: Warning: Invalid return type: indirection from non-ghost to ghost -[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:150: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:153: Warning: No definition, nor assigns specification for ghost function 'decl_bad_parameter_type' -[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:150: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:153: Warning: Invalid type for 'param': indirection from non-ghost to ghost -[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:151: Warning: - Invalid return type: indirection from non-ghost to ghost [kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:154: Warning: + Invalid return type: indirection from non-ghost to ghost +[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:157: Warning: Invalid type for 'param': indirection from non-ghost to ghost -[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:163: Warning: +[kernel:ghost:bad-use] tests/syntax/ghost_cv_var_decl.c:166: Warning: Invalid type for 'pptrg': indirection from non-ghost to ghost [kernel] Warning: warning ghost:bad-use treated as deferred error. See above messages for more information. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_cv_var_decl.1.res.oracle b/tests/syntax/oracle/ghost_cv_var_decl.1.res.oracle index abe9b55416e548f97930b91e953498421d74f81c..47cd7ced61ba42f93890221e9f20e48b40c2eee3 100644 --- a/tests/syntax/oracle/ghost_cv_var_decl.1.res.oracle +++ b/tests/syntax/oracle/ghost_cv_var_decl.1.res.oracle @@ -1,195 +1,195 @@ [kernel] Parsing tests/syntax/ghost_cv_var_decl.c (with preprocessing) -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:12: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:15: 'g1' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:22: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:25: 'g1' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:23: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:26: 'g2' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:32: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:35: 'g0' elements are already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:45: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:48: 'g0' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:175: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:178: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:184: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:187: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:191: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:194: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:200: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:203: 'b' is already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:207: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:210: 'b' elements are already ghost -[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:216: +[kernel:ghost:already-ghost] tests/syntax/ghost_cv_var_decl.c:219: 'b' elements are already ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:8 +[kernel] tests/syntax/ghost_cv_var_decl.c:11 f_ints: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:9 +[kernel] tests/syntax/ghost_cv_var_decl.c:12 ng: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:11 +[kernel] tests/syntax/ghost_cv_var_decl.c:14 g0: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:12 - g1: ghost [kernel] tests/syntax/ghost_cv_var_decl.c:15 + g1: ghost +[kernel] tests/syntax/ghost_cv_var_decl.c:18 f_ptrs: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:16 - ng: normal -> normal [kernel] tests/syntax/ghost_cv_var_decl.c:19 + ng: normal -> normal +[kernel] tests/syntax/ghost_cv_var_decl.c:22 g: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:20 +[kernel] tests/syntax/ghost_cv_var_decl.c:23 g0: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:22 +[kernel] tests/syntax/ghost_cv_var_decl.c:25 g1: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:23 +[kernel] tests/syntax/ghost_cv_var_decl.c:26 g2: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:27 +[kernel] tests/syntax/ghost_cv_var_decl.c:30 f_arrays: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:28 - ng: normal -> normal [kernel] tests/syntax/ghost_cv_var_decl.c:31 + ng: normal -> normal +[kernel] tests/syntax/ghost_cv_var_decl.c:34 g: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:32 +[kernel] tests/syntax/ghost_cv_var_decl.c:35 g0: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:40 +[kernel] tests/syntax/ghost_cv_var_decl.c:43 f_structs: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:41 - ng: normal -> { field: normal } [kernel] tests/syntax/ghost_cv_var_decl.c:44 + ng: normal -> { field: normal } +[kernel] tests/syntax/ghost_cv_var_decl.c:47 g: ghost -> { field: ghost } -[kernel] tests/syntax/ghost_cv_var_decl.c:45 +[kernel] tests/syntax/ghost_cv_var_decl.c:48 g0: ghost -> { field: ghost } -[kernel] tests/syntax/ghost_cv_var_decl.c:52 +[kernel] tests/syntax/ghost_cv_var_decl.c:55 named: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:53 +[kernel] tests/syntax/ghost_cv_var_decl.c:56 a: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:54 +[kernel] tests/syntax/ghost_cv_var_decl.c:57 ptr: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:73 +[kernel] tests/syntax/ghost_cv_var_decl.c:76 nesting_non_ghost: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:74 +[kernel] tests/syntax/ghost_cv_var_decl.c:77 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:75 +[kernel] tests/syntax/ghost_cv_var_decl.c:78 ptr: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:76 +[kernel] tests/syntax/ghost_cv_var_decl.c:79 array: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:78 +[kernel] tests/syntax/ghost_cv_var_decl.c:81 pptr: normal -> normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:79 +[kernel] tests/syntax/ghost_cv_var_decl.c:82 parray: normal -> normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:80 +[kernel] tests/syntax/ghost_cv_var_decl.c:83 aptr: normal -> normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:81 +[kernel] tests/syntax/ghost_cv_var_decl.c:84 aarray: normal -> normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:83 +[kernel] tests/syntax/ghost_cv_var_decl.c:86 sp: normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:84 +[kernel] tests/syntax/ghost_cv_var_decl.c:87 sa: normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:85 +[kernel] tests/syntax/ghost_cv_var_decl.c:88 spa: normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:86 +[kernel] tests/syntax/ghost_cv_var_decl.c:89 sap: normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:88 +[kernel] tests/syntax/ghost_cv_var_decl.c:91 psp: normal -> normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:89 +[kernel] tests/syntax/ghost_cv_var_decl.c:92 psa: normal -> normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:90 +[kernel] tests/syntax/ghost_cv_var_decl.c:93 pspa: normal -> normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:91 +[kernel] tests/syntax/ghost_cv_var_decl.c:94 psap: normal -> normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:93 +[kernel] tests/syntax/ghost_cv_var_decl.c:96 asp: normal -> normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:94 +[kernel] tests/syntax/ghost_cv_var_decl.c:97 asa: normal -> normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:95 +[kernel] tests/syntax/ghost_cv_var_decl.c:98 aspa: normal -> normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:96 +[kernel] tests/syntax/ghost_cv_var_decl.c:99 asap: normal -> normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:101 +[kernel] tests/syntax/ghost_cv_var_decl.c:104 nesting_ghost: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:103 +[kernel] tests/syntax/ghost_cv_var_decl.c:106 a: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:104 +[kernel] tests/syntax/ghost_cv_var_decl.c:107 ptr: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:105 +[kernel] tests/syntax/ghost_cv_var_decl.c:108 ptrg: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:107 +[kernel] tests/syntax/ghost_cv_var_decl.c:110 array: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:109 +[kernel] tests/syntax/ghost_cv_var_decl.c:112 pptr: ghost -> normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:110 +[kernel] tests/syntax/ghost_cv_var_decl.c:113 pptrg: ghost -> ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:111 +[kernel] tests/syntax/ghost_cv_var_decl.c:114 pptrgg: ghost -> ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:113 +[kernel] tests/syntax/ghost_cv_var_decl.c:116 parray: ghost -> normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:114 +[kernel] tests/syntax/ghost_cv_var_decl.c:117 parrayg: ghost -> ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:116 +[kernel] tests/syntax/ghost_cv_var_decl.c:119 aptr: ghost -> ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:117 +[kernel] tests/syntax/ghost_cv_var_decl.c:120 aptrg: ghost -> ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:119 +[kernel] tests/syntax/ghost_cv_var_decl.c:122 aarray: ghost -> ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:121 +[kernel] tests/syntax/ghost_cv_var_decl.c:124 sp: ghost -> { field: ghost -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:122 +[kernel] tests/syntax/ghost_cv_var_decl.c:125 sa: ghost -> { field: ghost -> ghost } -[kernel] tests/syntax/ghost_cv_var_decl.c:123 +[kernel] tests/syntax/ghost_cv_var_decl.c:126 spa: ghost -> { field: ghost -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:124 +[kernel] tests/syntax/ghost_cv_var_decl.c:127 sap: ghost -> { field: ghost -> ghost -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:126 +[kernel] tests/syntax/ghost_cv_var_decl.c:129 psp: ghost -> normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:127 +[kernel] tests/syntax/ghost_cv_var_decl.c:130 pspg: ghost -> ghost -> { field: ghost -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:129 +[kernel] tests/syntax/ghost_cv_var_decl.c:132 psa: ghost -> normal -> { field: normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:130 +[kernel] tests/syntax/ghost_cv_var_decl.c:133 psag: ghost -> ghost -> { field: ghost -> ghost } -[kernel] tests/syntax/ghost_cv_var_decl.c:132 +[kernel] tests/syntax/ghost_cv_var_decl.c:135 pspa: ghost -> normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:133 +[kernel] tests/syntax/ghost_cv_var_decl.c:136 pspag: ghost -> ghost -> { field: ghost -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:135 +[kernel] tests/syntax/ghost_cv_var_decl.c:138 psap: ghost -> normal -> { field: normal -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:136 +[kernel] tests/syntax/ghost_cv_var_decl.c:139 psapg: ghost -> ghost -> { field: ghost -> ghost -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:138 +[kernel] tests/syntax/ghost_cv_var_decl.c:141 asp: ghost -> ghost -> { field: ghost -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:139 +[kernel] tests/syntax/ghost_cv_var_decl.c:142 asa: ghost -> ghost -> { field: ghost -> ghost } -[kernel] tests/syntax/ghost_cv_var_decl.c:140 +[kernel] tests/syntax/ghost_cv_var_decl.c:143 aspa: ghost -> ghost -> { field: ghost -> normal -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:141 +[kernel] tests/syntax/ghost_cv_var_decl.c:144 asap: ghost -> ghost -> { field: ghost -> ghost -> normal } -[kernel] tests/syntax/ghost_cv_var_decl.c:171 +[kernel] tests/syntax/ghost_cv_var_decl.c:174 foo_1: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:171 +[kernel] tests/syntax/ghost_cv_var_decl.c:174 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:175 +[kernel] tests/syntax/ghost_cv_var_decl.c:178 foo_2: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:175 +[kernel] tests/syntax/ghost_cv_var_decl.c:178 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:175 +[kernel] tests/syntax/ghost_cv_var_decl.c:178 b: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:179 +[kernel] tests/syntax/ghost_cv_var_decl.c:182 foo_3: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:179 +[kernel] tests/syntax/ghost_cv_var_decl.c:182 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:179 +[kernel] tests/syntax/ghost_cv_var_decl.c:182 b: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:179 +[kernel] tests/syntax/ghost_cv_var_decl.c:182 c: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:183 +[kernel] tests/syntax/ghost_cv_var_decl.c:186 bar_1: normal [kernel] :0 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:184 +[kernel] tests/syntax/ghost_cv_var_decl.c:187 bar_2: normal [kernel] :0 a: normal [kernel] :0 b: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:185 +[kernel] tests/syntax/ghost_cv_var_decl.c:188 bar_3: normal [kernel] :0 a: normal @@ -197,35 +197,35 @@ b: ghost [kernel] :0 c: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:187 +[kernel] tests/syntax/ghost_cv_var_decl.c:190 pfoo_1: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:187 +[kernel] tests/syntax/ghost_cv_var_decl.c:190 a: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:191 +[kernel] tests/syntax/ghost_cv_var_decl.c:194 pfoo_2: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:191 +[kernel] tests/syntax/ghost_cv_var_decl.c:194 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:191 +[kernel] tests/syntax/ghost_cv_var_decl.c:194 b: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:195 +[kernel] tests/syntax/ghost_cv_var_decl.c:198 pfoo_3: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:195 +[kernel] tests/syntax/ghost_cv_var_decl.c:198 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:195 +[kernel] tests/syntax/ghost_cv_var_decl.c:198 b: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:195 +[kernel] tests/syntax/ghost_cv_var_decl.c:198 c: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:199 +[kernel] tests/syntax/ghost_cv_var_decl.c:202 pbar_1: normal [kernel] :0 a: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:200 +[kernel] tests/syntax/ghost_cv_var_decl.c:203 pbar_2: normal [kernel] :0 a: normal [kernel] :0 b: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:201 +[kernel] tests/syntax/ghost_cv_var_decl.c:204 pbar_3: normal [kernel] :0 a: normal @@ -233,63 +233,63 @@ b: ghost -> ghost [kernel] :0 c: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:203 +[kernel] tests/syntax/ghost_cv_var_decl.c:206 afoo_1: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:203 +[kernel] tests/syntax/ghost_cv_var_decl.c:206 a: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:207 +[kernel] tests/syntax/ghost_cv_var_decl.c:210 afoo_2: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:207 +[kernel] tests/syntax/ghost_cv_var_decl.c:210 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:207 +[kernel] tests/syntax/ghost_cv_var_decl.c:210 b: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:211 +[kernel] tests/syntax/ghost_cv_var_decl.c:214 afoo_3: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:211 +[kernel] tests/syntax/ghost_cv_var_decl.c:214 a: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:211 +[kernel] tests/syntax/ghost_cv_var_decl.c:214 b: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:215 +[kernel] tests/syntax/ghost_cv_var_decl.c:218 abar_1: normal [kernel] :0 a: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:216 +[kernel] tests/syntax/ghost_cv_var_decl.c:219 abar_2: normal [kernel] :0 a: normal [kernel] :0 b: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:217 +[kernel] tests/syntax/ghost_cv_var_decl.c:220 abar_3: normal [kernel] :0 a: normal [kernel] :0 b: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:220 +[kernel] tests/syntax/ghost_cv_var_decl.c:223 reference_functions: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:225 +[kernel] tests/syntax/ghost_cv_var_decl.c:228 v: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:226 +[kernel] tests/syntax/ghost_cv_var_decl.c:229 gp: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:231 +[kernel] tests/syntax/ghost_cv_var_decl.c:234 ng: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:232 +[kernel] tests/syntax/ghost_cv_var_decl.c:235 ga: ghost -> ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:245 +[kernel] tests/syntax/ghost_cv_var_decl.c:248 x: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:239 +[kernel] tests/syntax/ghost_cv_var_decl.c:242 i: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:240 +[kernel] tests/syntax/ghost_cv_var_decl.c:243 p: normal -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:242 +[kernel] tests/syntax/ghost_cv_var_decl.c:245 gp1: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:243 +[kernel] tests/syntax/ghost_cv_var_decl.c:246 gp2: ghost -> normal -[kernel] tests/syntax/ghost_cv_var_decl.c:245 +[kernel] tests/syntax/ghost_cv_var_decl.c:248 x: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:247 +[kernel] tests/syntax/ghost_cv_var_decl.c:250 main: normal -[kernel] tests/syntax/ghost_cv_var_decl.c:248 +[kernel] tests/syntax/ghost_cv_var_decl.c:251 value: ghost -[kernel] tests/syntax/ghost_cv_var_decl.c:249 +[kernel] tests/syntax/ghost_cv_var_decl.c:252 __retres: normal diff --git a/tests/syntax/oracle/ghost_else_bad_oneline.res.oracle b/tests/syntax/oracle/ghost_else_bad_oneline.res.oracle index ded857214d7df397ddd4536ad0c1e3202448c04c..7d11d6d80c426f9d896ea6bb7dd4317a364d8e2e 100644 --- a/tests/syntax/oracle/ghost_else_bad_oneline.res.oracle +++ b/tests/syntax/oracle/ghost_else_bad_oneline.res.oracle @@ -3,7 +3,7 @@ syntax error: Location: between lines 6 and 8, before or at token: - 4 + 4 */ 5 void if_ghost_else_one_line_bad(int x, int y) { 6 if (x) { diff --git a/tests/syntax/oracle/ghost_local_ill_formed.res.oracle b/tests/syntax/oracle/ghost_local_ill_formed.res.oracle index f1017ea0fd6d2995e921f0f11b879852e02a5d53..57ace82adf4d748cc114423a10da8bd639362cb2 100644 --- a/tests/syntax/oracle/ghost_local_ill_formed.res.oracle +++ b/tests/syntax/oracle/ghost_local_ill_formed.res.oracle @@ -1,8 +1,8 @@ [kernel] Parsing tests/syntax/ghost_local_ill_formed.i (no preprocessing) -[kernel] tests/syntax/ghost_local_ill_formed.i:5: User Error: +[kernel] tests/syntax/ghost_local_ill_formed.i:9: User Error: redefinition of 'c' in the same scope. - Previous declaration was at tests/syntax/ghost_local_ill_formed.i:2 -[kernel] tests/syntax/ghost_local_ill_formed.i:17: User Error: + Previous declaration was at tests/syntax/ghost_local_ill_formed.i:6 +[kernel] tests/syntax/ghost_local_ill_formed.i:21: User Error: Variable c is a ghost symbol. It cannot be used in non-ghost context. Did you forget a /*@ ghost ... /? [kernel] User Error: stopping on file "tests/syntax/ghost_local_ill_formed.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.0.res.oracle b/tests/syntax/oracle/ghost_parameters.0.res.oracle index 926c68c1c6b88ab5190ce6d4e0fc0db055e8652e..4fb237c265e78b5b17f2c644b71be992e0e5d451 100644 --- a/tests/syntax/oracle/ghost_parameters.0.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.0.res.oracle @@ -1,23 +1,23 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:29: User Error: +[kernel] tests/syntax/ghost_parameters.c:32: User Error: Too few ghost arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:30: User Error: +[kernel] tests/syntax/ghost_parameters.c:33: User Error: Too few ghost arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:31: User Error: +[kernel] tests/syntax/ghost_parameters.c:34: User Error: Too few arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:32: User Error: +[kernel] tests/syntax/ghost_parameters.c:35: User Error: Too few ghost arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:32: User Error: +[kernel] tests/syntax/ghost_parameters.c:35: User Error: Too many arguments in call to function -[kernel] tests/syntax/ghost_parameters.c:33: User Error: +[kernel] tests/syntax/ghost_parameters.c:36: User Error: Too many ghost arguments in call to function -[kernel] tests/syntax/ghost_parameters.c:33: User Error: +[kernel] tests/syntax/ghost_parameters.c:36: User Error: Too few arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:35: User Error: +[kernel] tests/syntax/ghost_parameters.c:38: User Error: Too few arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:36: User Error: +[kernel] tests/syntax/ghost_parameters.c:39: User Error: Too few arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:37: User Error: +[kernel] tests/syntax/ghost_parameters.c:40: User Error: Too few arguments in call to function. [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/ghost_parameters.1.res.oracle b/tests/syntax/oracle/ghost_parameters.1.res.oracle index 614c8ad74c075c9e1eb74b8277c9cb1dd90ff432..73c87461ca1c48b79a3b102cb33ef57b08d1ce98 100644 --- a/tests/syntax/oracle/ghost_parameters.1.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.1.res.oracle @@ -1,21 +1,21 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:54: User Error: +[kernel] tests/syntax/ghost_parameters.c:57: User Error: Too few ghost arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:55: User Error: +[kernel] tests/syntax/ghost_parameters.c:58: User Error: Too few ghost arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:56: User Error: +[kernel] tests/syntax/ghost_parameters.c:59: User Error: Too many arguments in call to function -[kernel] tests/syntax/ghost_parameters.c:57: User Error: +[kernel] tests/syntax/ghost_parameters.c:60: User Error: Too few ghost arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:57: User Error: +[kernel] tests/syntax/ghost_parameters.c:60: User Error: Too many arguments in call to function -[kernel] tests/syntax/ghost_parameters.c:58: User Error: +[kernel] tests/syntax/ghost_parameters.c:61: User Error: Too many ghost arguments in call to function -[kernel] tests/syntax/ghost_parameters.c:60: User Error: +[kernel] tests/syntax/ghost_parameters.c:63: User Error: Too few arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:61: User Error: +[kernel] tests/syntax/ghost_parameters.c:64: User Error: Too few arguments in call to function. -[kernel] tests/syntax/ghost_parameters.c:62: User Error: +[kernel] tests/syntax/ghost_parameters.c:65: User Error: Too many arguments in call to function [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/ghost_parameters.10.res.oracle b/tests/syntax/oracle/ghost_parameters.10.res.oracle index 477b266404d4270969128b8295e5957a8ffb1083..a98fcc2d2869de77d0a0ab390b9cdb8c86ba95a8 100644 --- a/tests/syntax/oracle/ghost_parameters.10.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.10.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:184: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:178 (different number of arguments). -[kernel] tests/syntax/ghost_parameters.c:184: User Error: +[kernel] tests/syntax/ghost_parameters.c:187: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:181 (different number of arguments). +[kernel] tests/syntax/ghost_parameters.c:187: User Error: Inconsistent formals - 182 } - 183 - 184 void function(int a, int b) /*@ ghost(int c, int d) */ { + 185 } + 186 + 187 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 185 - 186 } + 188 + 189 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.11.res.oracle b/tests/syntax/oracle/ghost_parameters.11.res.oracle index 1d8c5da2c6f63a8b566ed678f910648131c852eb..0651a7a4fb06805d45583a09798076d9f49b0c72 100644 --- a/tests/syntax/oracle/ghost_parameters.11.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.11.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:192: +[kernel] tests/syntax/ghost_parameters.c:195: syntax error: - Location: line 192, between columns 35 and 36, before or at token: ) - 190 #ifdef VOID_EMPTY_GHOST_PARAMETER_LIST - 191 - 192 void function_void(void) /*@ ghost () */ { + Location: line 195, between columns 35 and 36, before or at token: ) + 193 #ifdef VOID_EMPTY_GHOST_PARAMETER_LIST + 194 + 195 void function_void(void) /*@ ghost () */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 193 - 194 } + 196 + 197 } [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.12.res.oracle b/tests/syntax/oracle/ghost_parameters.12.res.oracle index 8bc53156a937624d69449742be9e9d452f89dedf..e2ccb5f8899c698dcf41b46d5338fb7ebe41ace1 100644 --- a/tests/syntax/oracle/ghost_parameters.12.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.12.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:200: User Error: +[kernel] tests/syntax/ghost_parameters.c:203: User Error: ghost parameters list cannot be void -[kernel] tests/syntax/ghost_parameters.c:204: User Error: +[kernel] tests/syntax/ghost_parameters.c:207: User Error: ghost parameters list cannot be void [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/ghost_parameters.3.res.oracle b/tests/syntax/oracle/ghost_parameters.3.res.oracle index c621d5748d1d6aa8f095a4cb262df1322c86d17d..a6fcb41b2ae94d9e62eeb0563cf1c7c04fc3cce7 100644 --- a/tests/syntax/oracle/ghost_parameters.3.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.3.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:89: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:85 (different number of arguments). -[kernel] tests/syntax/ghost_parameters.c:89: User Error: +[kernel] tests/syntax/ghost_parameters.c:92: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:88 (different number of arguments). +[kernel] tests/syntax/ghost_parameters.c:92: User Error: Inconsistent formals - 87 } - 88 - 89 void function(int a, int b) /*@ ghost(int c, int d) */ { + 90 } + 91 + 92 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 90 - 91 } + 93 + 94 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.4.res.oracle b/tests/syntax/oracle/ghost_parameters.4.res.oracle index d6b376ee2b1e3a910608069d60980a8f0f23dde8..1c0dd17504194b4ce87e1f80caaf68835f21f952 100644 --- a/tests/syntax/oracle/ghost_parameters.4.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.4.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:103: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:97 (different number of arguments). -[kernel] tests/syntax/ghost_parameters.c:103: User Error: +[kernel] tests/syntax/ghost_parameters.c:106: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:100 (different number of arguments). +[kernel] tests/syntax/ghost_parameters.c:106: User Error: Inconsistent formals - 101 } - 102 - 103 void function(int a, int b) /*@ ghost(int c, int d) */ { + 104 } + 105 + 106 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 104 - 105 } + 107 + 108 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.5.res.oracle b/tests/syntax/oracle/ghost_parameters.5.res.oracle index 138709d0a9bdc0236cd4021f28304fb0a23c312a..4b4cafeba689033db21f4171a41081ac55619d8d 100644 --- a/tests/syntax/oracle/ghost_parameters.5.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.5.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:116: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:112 (different number of ghost arguments). -[kernel] tests/syntax/ghost_parameters.c:116: User Error: +[kernel] tests/syntax/ghost_parameters.c:119: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:115 (different number of ghost arguments). +[kernel] tests/syntax/ghost_parameters.c:119: User Error: Inconsistent formals - 114 } - 115 - 116 void function(int a, int b) /*@ ghost(int c, int d) */ { + 117 } + 118 + 119 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 117 - 118 } + 120 + 121 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.6.res.oracle b/tests/syntax/oracle/ghost_parameters.6.res.oracle index 5807a9726441f905b6ffed9dd250f8ce4ec425d4..35d3d52f66099892f79e46267b1c6a92b43a667c 100644 --- a/tests/syntax/oracle/ghost_parameters.6.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.6.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:130: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:124 (different number of ghost arguments). -[kernel] tests/syntax/ghost_parameters.c:130: User Error: +[kernel] tests/syntax/ghost_parameters.c:133: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:127 (different number of ghost arguments). +[kernel] tests/syntax/ghost_parameters.c:133: User Error: Inconsistent formals - 128 } - 129 - 130 void function(int a, int b) /*@ ghost(int c, int d) */ { + 131 } + 132 + 133 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 131 - 132 } + 134 + 135 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.7.res.oracle b/tests/syntax/oracle/ghost_parameters.7.res.oracle index e5de27561f6b32bb38613b5762dbd2632e2999b4..5c437cf03fc9619c4bfc458f652858be834d4bf6 100644 --- a/tests/syntax/oracle/ghost_parameters.7.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.7.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:143: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:139 (different number of arguments). -[kernel] tests/syntax/ghost_parameters.c:143: User Error: +[kernel] tests/syntax/ghost_parameters.c:146: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:142 (different number of arguments). +[kernel] tests/syntax/ghost_parameters.c:146: User Error: Inconsistent formals - 141 } - 142 - 143 void function(int a, int b) /*@ ghost(int c, int d) */ { + 144 } + 145 + 146 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 144 - 145 } + 147 + 148 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.8.res.oracle b/tests/syntax/oracle/ghost_parameters.8.res.oracle index bb6ac89e90999848f2a97340e24f02d246491450..0327e4ab2986e625e3e22a1517cc391b09e35df2 100644 --- a/tests/syntax/oracle/ghost_parameters.8.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.8.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:157: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:151 (different number of arguments). -[kernel] tests/syntax/ghost_parameters.c:157: User Error: +[kernel] tests/syntax/ghost_parameters.c:160: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:154 (different number of arguments). +[kernel] tests/syntax/ghost_parameters.c:160: User Error: Inconsistent formals - 155 } - 156 - 157 void function(int a, int b) /*@ ghost(int c, int d) */ { + 158 } + 159 + 160 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 158 - 159 } + 161 + 162 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/ghost_parameters.9.res.oracle b/tests/syntax/oracle/ghost_parameters.9.res.oracle index 53080c4e6f3f5a60ba9ad30cd6a8621da29d5a5d..a75c5519836c379430a3e5c9060eecccbd4914ff 100644 --- a/tests/syntax/oracle/ghost_parameters.9.res.oracle +++ b/tests/syntax/oracle/ghost_parameters.9.res.oracle @@ -1,14 +1,14 @@ [kernel] Parsing tests/syntax/ghost_parameters.c (with preprocessing) -[kernel] tests/syntax/ghost_parameters.c:170: User Error: - Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:166 (different number of arguments). -[kernel] tests/syntax/ghost_parameters.c:170: User Error: +[kernel] tests/syntax/ghost_parameters.c:173: User Error: + Declaration of function does not match previous declaration from tests/syntax/ghost_parameters.c:169 (different number of arguments). +[kernel] tests/syntax/ghost_parameters.c:173: User Error: Inconsistent formals - 168 } - 169 - 170 void function(int a, int b) /*@ ghost(int c, int d) */ { + 171 } + 172 + 173 void function(int a, int b) /*@ ghost(int c, int d) */ { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 171 - 172 } + 174 + 175 } [kernel] User Error: stopping on file "tests/syntax/ghost_parameters.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/incompatible_qualifiers.0.res.oracle b/tests/syntax/oracle/incompatible_qualifiers.0.res.oracle index 7acff04489b2fdb56a9248e581427dbb33def21c..89200b976aee9b260720a68718b3c19e0bc4652a 100644 --- a/tests/syntax/oracle/incompatible_qualifiers.0.res.oracle +++ b/tests/syntax/oracle/incompatible_qualifiers.0.res.oracle @@ -1,22 +1,18 @@ [kernel] Parsing tests/syntax/incompatible_qualifiers.c (with preprocessing) -[kernel] tests/syntax/incompatible_qualifiers.c:11: User Error: - Declaration of f does not match previous declaration from tests/syntax/incompatible_qualifiers.c:9 (different qualifiers). -[kernel] tests/syntax/incompatible_qualifiers.c:19: User Error: - Declaration of h does not match previous declaration from tests/syntax/incompatible_qualifiers.c:17 (different qualifiers). -[kernel] tests/syntax/incompatible_qualifiers.c:27: User Error: - Declaration of j does not match previous declaration from tests/syntax/incompatible_qualifiers.c:25 (different qualifiers). -[kernel] tests/syntax/incompatible_qualifiers.c:38: User Error: - Declaration of l does not match previous declaration from tests/syntax/incompatible_qualifiers.c:36 (different qualifiers). -[kernel] tests/syntax/incompatible_qualifiers.c:46: User Error: - Declaration of n does not match previous declaration from tests/syntax/incompatible_qualifiers.c:44 (different qualifiers). -[kernel] tests/syntax/incompatible_qualifiers.c:51: User Error: +[kernel] tests/syntax/incompatible_qualifiers.c:13: User Error: + Declaration of f does not match previous declaration from tests/syntax/incompatible_qualifiers.c:11 (different qualifiers). +[kernel] tests/syntax/incompatible_qualifiers.c:21: User Error: + Declaration of h does not match previous declaration from tests/syntax/incompatible_qualifiers.c:19 (different qualifiers). +[kernel] tests/syntax/incompatible_qualifiers.c:29: User Error: + Declaration of j does not match previous declaration from tests/syntax/incompatible_qualifiers.c:27 (different qualifiers). +[kernel] tests/syntax/incompatible_qualifiers.c:40: User Error: + Declaration of l does not match previous declaration from tests/syntax/incompatible_qualifiers.c:38 (different qualifiers). +[kernel] tests/syntax/incompatible_qualifiers.c:48: User Error: + Declaration of n does not match previous declaration from tests/syntax/incompatible_qualifiers.c:46 (different qualifiers). +[kernel] tests/syntax/incompatible_qualifiers.c:53: User Error: invalid usage of 'restrict' qualifier -[kernel] tests/syntax/incompatible_qualifiers.c:65: User Error: +[kernel] tests/syntax/incompatible_qualifiers.c:67: User Error: function pointer type does not allow 'restrict' qualifier -[kernel] tests/syntax/incompatible_qualifiers.c:72: User Error: - invalid usage of 'restrict' qualifier -[kernel] tests/syntax/incompatible_qualifiers.c:73: User Error: - invalid usage of 'restrict' qualifier [kernel] tests/syntax/incompatible_qualifiers.c:74: User Error: invalid usage of 'restrict' qualifier [kernel] tests/syntax/incompatible_qualifiers.c:75: User Error: @@ -24,6 +20,10 @@ [kernel] tests/syntax/incompatible_qualifiers.c:76: User Error: invalid usage of 'restrict' qualifier [kernel] tests/syntax/incompatible_qualifiers.c:77: User Error: + invalid usage of 'restrict' qualifier +[kernel] tests/syntax/incompatible_qualifiers.c:78: User Error: + invalid usage of 'restrict' qualifier +[kernel] tests/syntax/incompatible_qualifiers.c:79: User Error: function pointer type does not allow 'restrict' qualifier [kernel] User Error: stopping on file "tests/syntax/incompatible_qualifiers.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/incomplete_array.res.oracle b/tests/syntax/oracle/incomplete_array.res.oracle index b00e464eb824b298be4ec4cf57fe4705e4c6d82d..ac5c2714b71df9b1c1460513ed0fe189b952cf00 100644 --- a/tests/syntax/oracle/incomplete_array.res.oracle +++ b/tests/syntax/oracle/incomplete_array.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/incomplete_array.i (no preprocessing) -[kernel] tests/syntax/incomplete_array.i:7: User Error: +[kernel] tests/syntax/incomplete_array.i:11: User Error: declaration of array of incomplete type 'struct S` [kernel] User Error: stopping on file "tests/syntax/incomplete_array.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/incomplete_struct_field.res.oracle b/tests/syntax/oracle/incomplete_struct_field.res.oracle index 1da6f42644dd16360b1ebdbd454d298ccbd0d4ab..1fd54ec0cfd8ceb5a376b144f885cb2f48cc6043 100644 --- a/tests/syntax/oracle/incomplete_struct_field.res.oracle +++ b/tests/syntax/oracle/incomplete_struct_field.res.oracle @@ -1,9 +1,9 @@ [kernel] Parsing tests/syntax/incomplete_struct_field.i (no preprocessing) -[kernel] tests/syntax/incomplete_struct_field.i:1: User Error: +[kernel] tests/syntax/incomplete_struct_field.i:5: User Error: declaration of array of incomplete type 'struct _s` -[kernel] tests/syntax/incomplete_struct_field.i:1: User Error: +[kernel] tests/syntax/incomplete_struct_field.i:5: User Error: field `v' is declared with incomplete type struct _s [12] -[kernel] tests/syntax/incomplete_struct_field.i:1: User Error: +[kernel] tests/syntax/incomplete_struct_field.i:5: User Error: type struct _s is circular [kernel] User Error: stopping on file "tests/syntax/incomplete_struct_field.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/inconsistent_decl.0.res.oracle b/tests/syntax/oracle/inconsistent_decl.0.res.oracle index 0533b81aa66297b03a1edf90abcb01ed7e0d7d4b..c61779854906d5d6bd9d795a146816f6b35d3f89 100644 --- a/tests/syntax/oracle/inconsistent_decl.0.res.oracle +++ b/tests/syntax/oracle/inconsistent_decl.0.res.oracle @@ -1,9 +1,9 @@ [kernel] Parsing tests/syntax/inconsistent_decl.c (with preprocessing) -[kernel:typing:implicit-function-declaration] tests/syntax/inconsistent_decl.c:11: Warning: +[kernel:typing:implicit-function-declaration] tests/syntax/inconsistent_decl.c:12: Warning: Calling undeclared function f. Old style K&R code? [kernel] Parsing tests/syntax/inconsistent_decl_2.i (no preprocessing) [kernel] User Error: Incompatible declaration for f: different type constructors: int vs. double - First declaration was at tests/syntax/inconsistent_decl.c:11 + First declaration was at tests/syntax/inconsistent_decl.c:12 Current declaration is at tests/syntax/inconsistent_decl_2.i:5 [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/inconsistent_decl.1.res.oracle b/tests/syntax/oracle/inconsistent_decl.1.res.oracle index 20264c218aafa8fa9b1e077d4a4ff778a20b08a0..351743abc10e75821b85ac3441a8ff476fa9573c 100644 --- a/tests/syntax/oracle/inconsistent_decl.1.res.oracle +++ b/tests/syntax/oracle/inconsistent_decl.1.res.oracle @@ -1,10 +1,10 @@ [kernel] Parsing tests/syntax/inconsistent_decl.c (with preprocessing) -[kernel:typing:no-proto] tests/syntax/inconsistent_decl.c:11: Warning: +[kernel:typing:no-proto] tests/syntax/inconsistent_decl.c:12: Warning: Calling function f that is declared without prototype. Its formals will be inferred from actual arguments [kernel] Parsing tests/syntax/inconsistent_decl_2.i (no preprocessing) [kernel] User Error: Incompatible declaration for f: different type constructors: int vs. double - First declaration was at tests/syntax/inconsistent_decl.c:7 + First declaration was at tests/syntax/inconsistent_decl.c:8 Current declaration is at tests/syntax/inconsistent_decl_2.i:5 [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/init_bts1352.res.oracle b/tests/syntax/oracle/init_bts1352.res.oracle index 1f56fffc94ca2a804e9578d192f5ac6b6b68ac37..9070651b18ee79f3817a84dec96b259fe9932325 100644 --- a/tests/syntax/oracle/init_bts1352.res.oracle +++ b/tests/syntax/oracle/init_bts1352.res.oracle @@ -1,9 +1,10 @@ [kernel] Parsing tests/syntax/init_bts1352.i (no preprocessing) -[kernel] tests/syntax/init_bts1352.i:2: User Error: +[kernel] tests/syntax/init_bts1352.i:8: User Error: scalar value (of type int) initialized by compound initializer - 1 int main(void) { - 2 int t /* [5] missing */ = { 1, 2, 3, 4, 5 }; + 6 + 7 int main(void) { + 8 int t /* [5] missing */ = { 1, 2, 3, 4, 5 }; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 3 } + 9 } [kernel] User Error: stopping on file "tests/syntax/init_bts1352.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/invalid_constant.res.oracle b/tests/syntax/oracle/invalid_constant.res.oracle index ea07d5fbb326453e5406634bfda1b8458bd0248b..b4b0da647d4313161e9561d38aa1b02bb4c8dfff 100644 --- a/tests/syntax/oracle/invalid_constant.res.oracle +++ b/tests/syntax/oracle/invalid_constant.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/invalid_constant.i (no preprocessing) -[kernel] tests/syntax/invalid_constant.i:2: Failure: +[kernel] tests/syntax/invalid_constant.i:6: Failure: Invalid digit 8 in integer constant '0123456789' in base 8. [kernel] User Error: stopping on file "tests/syntax/invalid_constant.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/line_number.res.oracle b/tests/syntax/oracle/line_number.res.oracle index 31ecbc78f906c2563141cad799311d5eda8286fa..a1c31a18635a515a610b3c172e735e014f147d8b 100644 --- a/tests/syntax/oracle/line_number.res.oracle +++ b/tests/syntax/oracle/line_number.res.oracle @@ -1,8 +1,10 @@ [kernel] Parsing tests/syntax/line_number.c (with preprocessing) -[kernel] tests/syntax/line_number.c:1: +[kernel] tests/syntax/line_number.c:6: syntax error: - 1 //@ assert \result == 0; + 4 */ + 5 + 6 //@ assert \result == 0; ^^^^^^^^^^^^^^^^^^^^^^^^ - 2 extern int p(void void); + 7 extern int p(void void); [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/lvalvoid.res.oracle b/tests/syntax/oracle/lvalvoid.res.oracle index f84b2e3041b25539a45b3a2c42676ac9e0f7e8f4..4d18770bdb646c110b57c5d5ba30d82f3312513e 100644 --- a/tests/syntax/oracle/lvalvoid.res.oracle +++ b/tests/syntax/oracle/lvalvoid.res.oracle @@ -1,4 +1,4 @@ [kernel] Parsing tests/syntax/lvalvoid.i (no preprocessing) -[kernel] tests/syntax/lvalvoid.i:4: Failure: lvalue of type void: *(src + i) +[kernel] tests/syntax/lvalvoid.i:8: Failure: lvalue of type void: *(src + i) [kernel] User Error: stopping on file "tests/syntax/lvalvoid.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/merge_unused.res.oracle b/tests/syntax/oracle/merge_unused.res.oracle index 70f368124fe046ac15e316f1a3b5c9c82b3519ad..89e2f903de59e9bf367c2a941447d3648748be4a 100644 --- a/tests/syntax/oracle/merge_unused.res.oracle +++ b/tests/syntax/oracle/merge_unused.res.oracle @@ -13,7 +13,7 @@ int i ; }; - First declaration was at tests/syntax/merge_unused.c:11 + First declaration was at tests/syntax/merge_unused.c:12 Current declaration is at tests/syntax/merge_unused.h:7 Current declaration is unused, silently removing it [kernel] User Error: Incompatible declaration for G3: diff --git a/tests/syntax/oracle/multiple_froms.res.oracle b/tests/syntax/oracle/multiple_froms.res.oracle index b90f4dc55f6e2c31b6f7656f8f8cc0ecfa6cf03d..c434bbfc224f4aebda78bbc2c97c6403f6aebc84 100644 --- a/tests/syntax/oracle/multiple_froms.res.oracle +++ b/tests/syntax/oracle/multiple_froms.res.oracle @@ -1,8 +1,8 @@ [kernel] Parsing tests/syntax/multiple_froms.i (no preprocessing) [kernel:annot:multi-from] Warning: - Drop 'b' \from at tests/syntax/multiple_froms.i:9 for more precise one at tests/syntax/multiple_froms.i:10 + Drop 'b' \from at tests/syntax/multiple_froms.i:15 for more precise one at tests/syntax/multiple_froms.i:16 [kernel:annot:multi-from] Warning: - Drop 'a' \from at tests/syntax/multiple_froms.i:7 for more precise one at tests/syntax/multiple_froms.i:6 + Drop 'a' \from at tests/syntax/multiple_froms.i:13 for more precise one at tests/syntax/multiple_froms.i:12 /* Generated by Frama-C */ int a; int b; diff --git a/tests/syntax/oracle/mutually_recursive_struct.res.oracle b/tests/syntax/oracle/mutually_recursive_struct.res.oracle index 74ebf746db91b9e965360d7c32544edc1075bf5e..cdcbc56b85cb8a17ea24d453f2c232ff8a05f9b2 100644 --- a/tests/syntax/oracle/mutually_recursive_struct.res.oracle +++ b/tests/syntax/oracle/mutually_recursive_struct.res.oracle @@ -1,13 +1,13 @@ [kernel] Parsing tests/syntax/mutually_recursive_struct.i (no preprocessing) -[kernel] tests/syntax/mutually_recursive_struct.i:4: User Error: +[kernel] tests/syntax/mutually_recursive_struct.i:9: User Error: declaration of array of incomplete type 'struct S2` -[kernel] tests/syntax/mutually_recursive_struct.i:4: User Error: +[kernel] tests/syntax/mutually_recursive_struct.i:9: User Error: field `s2' is declared with incomplete type struct S2 [2] -[kernel] tests/syntax/mutually_recursive_struct.i:6: User Error: +[kernel] tests/syntax/mutually_recursive_struct.i:11: User Error: declaration of array of incomplete type 'struct S1` -[kernel] tests/syntax/mutually_recursive_struct.i:6: User Error: +[kernel] tests/syntax/mutually_recursive_struct.i:11: User Error: field `s1' is declared with incomplete type struct S1 [2] -[kernel] tests/syntax/mutually_recursive_struct.i:6: User Error: +[kernel] tests/syntax/mutually_recursive_struct.i:11: User Error: type struct S2 is circular [kernel] User Error: stopping on file "tests/syntax/mutually_recursive_struct.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/no_prototype.res.oracle b/tests/syntax/oracle/no_prototype.res.oracle index b0064d8723ea85a6a45fcc5a4040da540487485c..9bb1885d269161234d68e0f2c13438ebe1311804 100644 --- a/tests/syntax/oracle/no_prototype.res.oracle +++ b/tests/syntax/oracle/no_prototype.res.oracle @@ -1,8 +1,8 @@ [kernel] Parsing tests/syntax/no_prototype.i (no preprocessing) -[kernel:typing:no-proto] tests/syntax/no_prototype.i:4: Warning: +[kernel:typing:no-proto] tests/syntax/no_prototype.i:9: Warning: Calling function foo that is declared without prototype. Its formals will be inferred from actual arguments -[kernel] tests/syntax/no_prototype.i:6: User Error: - Declaration of foo does not match previous declaration from tests/syntax/no_prototype.i:1 (different number of arguments). +[kernel] tests/syntax/no_prototype.i:11: User Error: + Declaration of foo does not match previous declaration from tests/syntax/no_prototype.i:6 (different number of arguments). [kernel] User Error: stopping on file "tests/syntax/no_prototype.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/rettype.res.oracle b/tests/syntax/oracle/rettype.res.oracle index 0b3783f28964f90407a67e0aca5c947569388b7d..85dda4b5756e386d116d358c76f9c68f3ca596f3 100644 --- a/tests/syntax/oracle/rettype.res.oracle +++ b/tests/syntax/oracle/rettype.res.oracle @@ -1,8 +1,8 @@ [kernel] Parsing tests/syntax/rettype.i (no preprocessing) -[kernel] tests/syntax/rettype.i:8: User Error: - Declaration of foo does not match previous declaration from tests/syntax/rettype.i:5 (different integer types: +[kernel] tests/syntax/rettype.i:12: User Error: + Declaration of foo does not match previous declaration from tests/syntax/rettype.i:9 (different integer types: 'int' and 'unsigned short'). -[kernel] tests/syntax/rettype.i:7: Warning: - found two contracts (old location: tests/syntax/rettype.i:4). Merging them +[kernel] tests/syntax/rettype.i:11: Warning: + found two contracts (old location: tests/syntax/rettype.i:8). Merging them [kernel] User Error: stopping on file "tests/syntax/rettype.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/sizeof_incomplete_type.res.oracle b/tests/syntax/oracle/sizeof_incomplete_type.res.oracle index 37dab603578cf0871a5a4db6574b22f76161a385..2388b58b2c57db3e0a8640bb2b58d4f72882d4b7 100644 --- a/tests/syntax/oracle/sizeof_incomplete_type.res.oracle +++ b/tests/syntax/oracle/sizeof_incomplete_type.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/sizeof_incomplete_type.c (with preprocessing) -[kernel] tests/syntax/sizeof_incomplete_type.c:21: User Error: +[kernel] tests/syntax/sizeof_incomplete_type.c:26: User Error: sizeof on incomplete type 'struct inexistent' [kernel] User Error: stopping on file "tests/syntax/sizeof_incomplete_type.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/spurious_brace_bts_1273.res.oracle b/tests/syntax/oracle/spurious_brace_bts_1273.res.oracle index 84a6987f04d2ca7793c48046d7d166f1323aaaef..92f8b8d02b28340680cdcc04ada03fc045c83138 100644 --- a/tests/syntax/oracle/spurious_brace_bts_1273.res.oracle +++ b/tests/syntax/oracle/spurious_brace_bts_1273.res.oracle @@ -1,12 +1,14 @@ [kernel] Parsing tests/syntax/spurious_brace_bts_1273.i (no preprocessing) -[kernel] tests/syntax/spurious_brace_bts_1273.i:1: +[kernel] tests/syntax/spurious_brace_bts_1273.i:6: syntax error: - Location: between lines 1 and 3, before or at token: } + Location: between lines 6 and 8, before or at token: } + 4 */ + 5 - 1 void foo() { - 2 } - 3 } + 6 void foo() { + 7 } + 8 } - 4 - 5 void main () { + 9 + 10 void main () { [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/struct_with_function_field_invalid.res.oracle b/tests/syntax/oracle/struct_with_function_field_invalid.res.oracle index 45747b51b22f2fbb51563aafc724f25cdea89791..b54f3ab0368599cabc43276115e2a317bae3dfa8 100644 --- a/tests/syntax/oracle/struct_with_function_field_invalid.res.oracle +++ b/tests/syntax/oracle/struct_with_function_field_invalid.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/struct_with_function_field_invalid.i (no preprocessing) -[kernel] tests/syntax/struct_with_function_field_invalid.i:2: User Error: +[kernel] tests/syntax/struct_with_function_field_invalid.i:7: User Error: field `f' declared as a function [kernel] User Error: stopping on file "tests/syntax/struct_with_function_field_invalid.i" that has errors. diff --git a/tests/syntax/oracle/syntactic_hook.res.oracle b/tests/syntax/oracle/syntactic_hook.res.oracle index 4d15d03a3ad3423d6b318c306cfbdfe997c2aee2..33146264125abe9ef723828e8d8ca38012c6aa91 100644 --- a/tests/syntax/oracle/syntactic_hook.res.oracle +++ b/tests/syntax/oracle/syntactic_hook.res.oracle @@ -1,54 +1,54 @@ [kernel] Parsing tests/syntax/syntactic_hook.i (no preprocessing) -[kernel] tests/syntax/syntactic_hook.i:5: +[kernel] tests/syntax/syntactic_hook.i:8: New global node introducing identifier f(22) [kernel] First occurrence of f -[kernel] tests/syntax/syntactic_hook.i:7: +[kernel] tests/syntax/syntactic_hook.i:10: New global node introducing identifier k(25) [kernel] First occurrence of k -[kernel] tests/syntax/syntactic_hook.i:9: +[kernel] tests/syntax/syntactic_hook.i:12: New global node introducing identifier k(25) [kernel] New occurrence of existing identifier k -[kernel] tests/syntax/syntactic_hook.i:11: +[kernel] tests/syntax/syntactic_hook.i:14: New global node introducing identifier main(31) [kernel] First occurrence of main -[kernel] tests/syntax/syntactic_hook.i:13: +[kernel] tests/syntax/syntactic_hook.i:16: New global node introducing identifier t(35) [kernel] First occurrence of t -[kernel] tests/syntax/syntactic_hook.i:13: Warning: +[kernel] tests/syntax/syntactic_hook.i:16: Warning: [SH]: definition of local function t [kernel] :0: New global node introducing identifier g(37) [kernel] First occurrence of g -[kernel:typing:implicit-function-declaration] tests/syntax/syntactic_hook.i:17: Warning: +[kernel:typing:implicit-function-declaration] tests/syntax/syntactic_hook.i:20: Warning: Calling undeclared function g. Old style K&R code? -[kernel] tests/syntax/syntactic_hook.i:17: Warning: +[kernel] tests/syntax/syntactic_hook.i:20: Warning: [SH]: implicit declaration for prototype g -[kernel] tests/syntax/syntactic_hook.i:18: Dropping side-effect in sizeof. -[kernel] tests/syntax/syntactic_hook.i:18: Warning: +[kernel] tests/syntax/syntactic_hook.i:21: Dropping side-effect in sizeof. +[kernel] tests/syntax/syntactic_hook.i:21: Warning: [SH]: dropping side effect in sizeof: (x++) is converted to tmp -[kernel] tests/syntax/syntactic_hook.i:20: Warning: +[kernel] tests/syntax/syntactic_hook.i:23: Warning: [SH]: side effect of expression x++ occurs in conditional part of expression x && x++. It is not always executed. -[kernel] tests/syntax/syntactic_hook.i:21: Warning: +[kernel] tests/syntax/syntactic_hook.i:24: Warning: [SH]: side effect of expression x++ occurs in conditional part of expression x && (x++ || x). It is not always executed. -[kernel] tests/syntax/syntactic_hook.i:22: Warning: +[kernel] tests/syntax/syntactic_hook.i:25: Warning: [SH]: side effect of expression x++ occurs in conditional part of expression x || x++. It is not always executed. -[kernel] tests/syntax/syntactic_hook.i:23: Warning: +[kernel] tests/syntax/syntactic_hook.i:26: Warning: [SH]: side effect of expression x++ occurs in conditional part of expression x ? x++ : x++. It is not always executed. -[kernel] tests/syntax/syntactic_hook.i:23: Warning: +[kernel] tests/syntax/syntactic_hook.i:26: Warning: [SH]: side effect of expression x++ occurs in conditional part of expression x ? x++ : x++. It is not always executed. -[kernel] tests/syntax/syntactic_hook.i:27: User Error: - Declaration of f does not match previous declaration from tests/syntax/syntactic_hook.i:5 (different number of arguments). -[kernel] tests/syntax/syntactic_hook.i:27: Warning: - [SH]: conflict with declaration of f at line 5: different number of arguments -[kernel] tests/syntax/syntactic_hook.i:27: User Error: +[kernel] tests/syntax/syntactic_hook.i:30: User Error: + Declaration of f does not match previous declaration from tests/syntax/syntactic_hook.i:8 (different number of arguments). +[kernel] tests/syntax/syntactic_hook.i:30: Warning: + [SH]: conflict with declaration of f at line 8: different number of arguments +[kernel] tests/syntax/syntactic_hook.i:30: User Error: Inconsistent formals - 25 } - 26 - 27 int f(int); //error: conflicting decls + 28 } + 29 + 30 int f(int); //error: conflicting decls ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [kernel] User Error: stopping on file "tests/syntax/syntactic_hook.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/type_branch_bts_1081.res.oracle b/tests/syntax/oracle/type_branch_bts_1081.res.oracle index 2f186ca6fcbcfc1010dffbaef7e98fde6916e3a8..1b52b8d786f3342d9edefa1abb0eb58c661f0abd 100644 --- a/tests/syntax/oracle/type_branch_bts_1081.res.oracle +++ b/tests/syntax/oracle/type_branch_bts_1081.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/type_branch_bts_1081.i (no preprocessing) -[kernel] tests/syntax/type_branch_bts_1081.i:5: Failure: +[kernel] tests/syntax/type_branch_bts_1081.i:10: Failure: invalid implicit conversion from void to signed char [kernel] User Error: stopping on file "tests/syntax/type_branch_bts_1081.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/typedef_namespace_bts1500.1.res.oracle b/tests/syntax/oracle/typedef_namespace_bts1500.1.res.oracle index 39a0d601cd9097018aba4b5ed75ec2b0008b84f2..98fbeb9c9f407970000a9fd9beb78f50fe2deb5b 100644 --- a/tests/syntax/oracle/typedef_namespace_bts1500.1.res.oracle +++ b/tests/syntax/oracle/typedef_namespace_bts1500.1.res.oracle @@ -1,15 +1,15 @@ [kernel] Parsing tests/syntax/typedef_namespace_bts1500.c (with preprocessing) -[kernel] tests/syntax/typedef_namespace_bts1500.c:20: +[kernel] tests/syntax/typedef_namespace_bts1500.c:21: syntax error: - Location: between lines 20 and 23, before or at token: y - 18 int main () { - 19 digit x = 4; + Location: between lines 21 and 24, before or at token: y + 19 int main () { + 20 digit x = 4; - 20 int digit = 3; - 21 // error: digit is now a variable - 22 #ifdef HIDING_TYPEDEF - 23 digit y = 5; + 21 int digit = 3; + 22 // error: digit is now a variable + 23 #ifdef HIDING_TYPEDEF + 24 digit y = 5; - 24 #endif - 25 return x + digit+A; + 25 #endif + 26 return x + digit+A; [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/typedef_namespace_bts1500.2.res.oracle b/tests/syntax/oracle/typedef_namespace_bts1500.2.res.oracle index 165029eae5b0b9ec0cfff7cd0b8b4c7ffff3f542..ef5b7cf9747509d6e389dbbb0c7e09c1660821e4 100644 --- a/tests/syntax/oracle/typedef_namespace_bts1500.2.res.oracle +++ b/tests/syntax/oracle/typedef_namespace_bts1500.2.res.oracle @@ -1,7 +1,7 @@ [kernel] Parsing tests/syntax/typedef_namespace_bts1500.c (with preprocessing) -[kernel] tests/syntax/typedef_namespace_bts1500.c:31: User Error: +[kernel] tests/syntax/typedef_namespace_bts1500.c:32: User Error: redefinition of 'digit' with different kind in the same scope. - Previous declaration was at tests/syntax/typedef_namespace_bts1500.c:6 + Previous declaration was at tests/syntax/typedef_namespace_bts1500.c:7 [kernel] User Error: stopping on file "tests/syntax/typedef_namespace_bts1500.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/va.res.oracle b/tests/syntax/oracle/va.res.oracle index 0e57ec19d38c2459048b01a4ced3f6cf69bcdd27..0504b7e85dafee5c7d08a9dc623d71c009654126 100644 --- a/tests/syntax/oracle/va.res.oracle +++ b/tests/syntax/oracle/va.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/syntax/va.c (with preprocessing) -[kernel] tests/syntax/va.c:7: User Error: +[kernel] tests/syntax/va.c:12: User Error: redefinition of 'x' in the same scope. - Previous declaration was at tests/syntax/va.c:6 -[kernel] tests/syntax/va.c:13: User Error: + Previous declaration was at tests/syntax/va.c:11 +[kernel] tests/syntax/va.c:18: User Error: redefinition of 'x' in the same scope. - Previous declaration was at tests/syntax/va.c:12 -[kernel] tests/syntax/va.c:21: User Error: + Previous declaration was at tests/syntax/va.c:17 +[kernel] tests/syntax/va.c:26: User Error: The last argument in call to __builtin_va_start should be the last formal argument of f [kernel] User Error: stopping on file "tests/syntax/va.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/syntax/oracle/vla_goto.res.oracle b/tests/syntax/oracle/vla_goto.res.oracle index d09ee0e49dd873b84d25b672820586cc28b84bff..8cd64384ecc914fba273c137912cff692b33c7d5 100644 --- a/tests/syntax/oracle/vla_goto.res.oracle +++ b/tests/syntax/oracle/vla_goto.res.oracle @@ -1,3 +1,3 @@ [kernel] Parsing tests/syntax/vla_goto.i (no preprocessing) -[kernel] User Error: tests/syntax/vla_goto.i:5, cannot jump from goto statement bypassing initialization of variable b2, declared at tests/syntax/vla_goto.i:9 +[kernel] User Error: tests/syntax/vla_goto.i:11, cannot jump from goto statement bypassing initialization of variable b2, declared at tests/syntax/vla_goto.i:15 [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/vla_goto3.res.oracle b/tests/syntax/oracle/vla_goto3.res.oracle index 6278462c8d29811a497f44fe505f53fb69ae7b1e..6b562dc695fc57448ef64f7abe73375efb68e936 100644 --- a/tests/syntax/oracle/vla_goto3.res.oracle +++ b/tests/syntax/oracle/vla_goto3.res.oracle @@ -1,3 +1,3 @@ [kernel] Parsing tests/syntax/vla_goto3.i (no preprocessing) -[kernel] User Error: tests/syntax/vla_goto3.i:5, cannot jump from goto statement bypassing initialization of variable vla, declared at tests/syntax/vla_goto3.i:6 +[kernel] User Error: tests/syntax/vla_goto3.i:9, cannot jump from goto statement bypassing initialization of variable vla, declared at tests/syntax/vla_goto3.i:10 [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/vla_goto_same_block_below.res.oracle b/tests/syntax/oracle/vla_goto_same_block_below.res.oracle index b61b6e96000ef532c750da0b271ca5ad84ddcfd8..c9f452a6a375af94f30e7289869525f62e220fad 100644 --- a/tests/syntax/oracle/vla_goto_same_block_below.res.oracle +++ b/tests/syntax/oracle/vla_goto_same_block_below.res.oracle @@ -1,3 +1,3 @@ [kernel] Parsing tests/syntax/vla_goto_same_block_below.i (no preprocessing) -[kernel] User Error: tests/syntax/vla_goto_same_block_below.i:6, cannot jump from goto statement bypassing initialization of variable vla, declared at tests/syntax/vla_goto_same_block_below.i:9 +[kernel] User Error: tests/syntax/vla_goto_same_block_below.i:11, cannot jump from goto statement bypassing initialization of variable vla, declared at tests/syntax/vla_goto_same_block_below.i:14 [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/vla_switch.res.oracle b/tests/syntax/oracle/vla_switch.res.oracle index 003cf921a9f29f2b73f828c55c1adc79217e6c5a..55afc254bf0c44d5f760af4fe96de5936a0d7d28 100644 --- a/tests/syntax/oracle/vla_switch.res.oracle +++ b/tests/syntax/oracle/vla_switch.res.oracle @@ -1,5 +1,5 @@ [kernel] Parsing tests/syntax/vla_switch.i (no preprocessing) -[kernel] tests/syntax/vla_switch.i:11: Warning: +[kernel] tests/syntax/vla_switch.i:16: Warning: Body of function case3 falls-through. Adding a return statement -[kernel] User Error: tests/syntax/vla_switch.i:2, cannot jump from switch statement bypassing initialization of variable b, declared at tests/syntax/vla_switch.i:4 +[kernel] User Error: tests/syntax/vla_switch.i:7, cannot jump from switch statement bypassing initialization of variable b, declared at tests/syntax/vla_switch.i:9 [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/wrong-assignment.res.oracle b/tests/syntax/oracle/wrong-assignment.res.oracle index aba1a2ecee9a40e229449d6158e269eae7c2061f..68e9058081fb6f8c9d54e94abac71b0edd18f9d4 100644 --- a/tests/syntax/oracle/wrong-assignment.res.oracle +++ b/tests/syntax/oracle/wrong-assignment.res.oracle @@ -1,4 +1,4 @@ [kernel] Parsing tests/syntax/wrong-assignment.i (no preprocessing) -[kernel] tests/syntax/wrong-assignment.i:7: Failure: castTo ebool -> _Bool +[kernel] tests/syntax/wrong-assignment.i:13: Failure: castTo ebool -> _Bool [kernel] User Error: stopping on file "tests/syntax/wrong-assignment.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/oracle/wrong_label.res.oracle b/tests/syntax/oracle/wrong_label.res.oracle index b95ec14c2063a28ceb6331afc1d8f28408e29c3e..7223664bee838bf3bbfad6358917169ee5c05d5b 100644 --- a/tests/syntax/oracle/wrong_label.res.oracle +++ b/tests/syntax/oracle/wrong_label.res.oracle @@ -1,10 +1,10 @@ [kernel] Parsing tests/syntax/wrong_label.i (no preprocessing) -[kernel] tests/syntax/wrong_label.i:6: +[kernel] tests/syntax/wrong_label.i:11: syntax error: - Location: line 6, between columns 3 and 8, before or at token: } - 4 - 5 void main() { - 6 {_LOR:} // KO: labels can't be at the end of a block. + Location: line 11, between columns 3 and 8, before or at token: } + 9 + 10 void main() { + 11 {_LOR:} // KO: labels can't be at the end of a block. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 7 } + 12 } [kernel] Frama-C aborted: invalid user input. diff --git a/tests/syntax/reject_use_decl_mismatch_bts728.c b/tests/syntax/reject_use_decl_mismatch_bts728.c index d100d64669cd8bb838c46411582829eba7e52ee6..1dde8a89eb9d16db31800408f4643807af985f35 100644 --- a/tests/syntax/reject_use_decl_mismatch_bts728.c +++ b/tests/syntax/reject_use_decl_mismatch_bts728.c @@ -1,8 +1,8 @@ /* run.config -STDOPT: +"-cpp-extra-args='-DHAS_PROTO'" -STDOPT: +"-cpp-extra-args='-DNO_PROTO'" +EXIT: 1 + STDOPT: +"-cpp-extra-args='-DHAS_PROTO'" + STDOPT: +"-cpp-extra-args='-DNO_PROTO'" */ - #ifdef HAS_PROTO int f(); #endif diff --git a/tests/syntax/rettype.i b/tests/syntax/rettype.i index df437409f8d4e9370eb5c5b95ae9c8238a608e5c..c95988c278fdcb8bc7a99a76e66c264b087859bb 100644 --- a/tests/syntax/rettype.i +++ b/tests/syntax/rettype.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ // This test must be rejected: return type of foo is not // compatible between decl and def. diff --git a/tests/syntax/sizeof_incomplete_type.c b/tests/syntax/sizeof_incomplete_type.c index 64b91652f8cd9ffac41956083b3af7fdb4bb2b8a..371b1c0c91df2d568cf7b6fb90488f58c86d1d8e 100644 --- a/tests/syntax/sizeof_incomplete_type.c +++ b/tests/syntax/sizeof_incomplete_type.c @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + #include <stdlib.h> typedef char *sds; diff --git a/tests/syntax/spurious_brace_bts_1273.i b/tests/syntax/spurious_brace_bts_1273.i index 25e660061ae915c6ea0f0fc095cd272b99ead99b..6c3f823224025594551a55c475f73592c09651a7 100644 --- a/tests/syntax/spurious_brace_bts_1273.i +++ b/tests/syntax/spurious_brace_bts_1273.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + void foo() { } } diff --git a/tests/syntax/struct_with_function_field_invalid.i b/tests/syntax/struct_with_function_field_invalid.i index b532103ecd1513b5c73fb7ebc7e1fd347616cf4b..c522453305f94cfd11edab28d158226619f875f7 100644 --- a/tests/syntax/struct_with_function_field_invalid.i +++ b/tests/syntax/struct_with_function_field_invalid.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + // invalid field with function type, parsing should fail struct { void f(int); diff --git a/tests/syntax/syntactic_hook.i b/tests/syntax/syntactic_hook.i index d887e89667ec5464d71f2d68e749dfe68465f196..0b5e7a8bf6a82be6b854c63f410644568489c687 100644 --- a/tests/syntax/syntactic_hook.i +++ b/tests/syntax/syntactic_hook.i @@ -1,7 +1,10 @@ /* run.config EXECNOW: make -s @PTEST_DIR@/@PTEST_NAME@.cmxs + EXIT: 1 STDOPT: +"-no-autoload-plugins -load-module @PTEST_DIR@/@PTEST_NAME@.cmxs" */ + + int f(void); int k(int *); diff --git a/tests/syntax/type_branch_bts_1081.i b/tests/syntax/type_branch_bts_1081.i index 31f1929c13f1f1de53c75f430f3b242bb998bd06..2e1f1903a2ebfd90b8831ec66ddd44f8c93caedf 100644 --- a/tests/syntax/type_branch_bts_1081.i +++ b/tests/syntax/type_branch_bts_1081.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + int main(){ int foo, x, y; foo ? (void)x : (signed char)y; diff --git a/tests/syntax/type_redef.i b/tests/syntax/type_redef.i index 28d719f063809920a5154b132e156ec2b7a78f05..2c56c35150bac395c2cbd72c1479e474c39ce1d8 100644 --- a/tests/syntax/type_redef.i +++ b/tests/syntax/type_redef.i @@ -1,8 +1,8 @@ /* run.config + EXIT: 1 STDOPT: STDOPT: #"-c11" */ // Note: redefinition of local typedefs is currently unsupported - typedef int myint; typedef int myint; //valid in C11 only diff --git a/tests/syntax/typedef_namespace_bts1500.c b/tests/syntax/typedef_namespace_bts1500.c index 60dd7dd9effbef4de3743659d39d20ecfe4d40c5..9e7dd5eb589611b6a55ac8c44db1f858db12f9a7 100644 --- a/tests/syntax/typedef_namespace_bts1500.c +++ b/tests/syntax/typedef_namespace_bts1500.c @@ -1,7 +1,8 @@ -/* run.config -STDOPT: -STDOPT: +"-cpp-extra-args='-DHIDING_TYPEDEF'" -STDOPT: +"-cpp-extra-args='-DREDEFINITION'" +/* run.config* + STDOPT: + EXIT: 1 + STDOPT: +"-cpp-extra-args='-DHIDING_TYPEDEF'" + STDOPT: +"-cpp-extra-args='-DREDEFINITION'" */ typedef int digit; diff --git a/tests/syntax/va.c b/tests/syntax/va.c index 302e682dfe5f90c52b8bfb4c69fc8b3a60f36250..5286293ce2cf41e971a087e1f083f3b43c6e6fee 100644 --- a/tests/syntax/va.c +++ b/tests/syntax/va.c @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + #include "stdarg.h" #include "stdio.h" diff --git a/tests/syntax/vla_goto.i b/tests/syntax/vla_goto.i index 7f760f860d66bb3e85c187ec6dd38a411b5d412f..f7e7f87cd91ad794f3ac60402aef329f982b4206 100644 --- a/tests/syntax/vla_goto.i +++ b/tests/syntax/vla_goto.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + int case2(int arg) { { int a2[arg]; diff --git a/tests/syntax/vla_goto3.i b/tests/syntax/vla_goto3.i index 53ffedf53814469ef1c76dcd7caeffdbce744189..28949ee17ff379336649b432fddadcbfc0300f9d 100644 --- a/tests/syntax/vla_goto3.i +++ b/tests/syntax/vla_goto3.i @@ -1,3 +1,7 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ volatile int nondet; int main () { diff --git a/tests/syntax/vla_goto_same_block_below.i b/tests/syntax/vla_goto_same_block_below.i index 3e163f3bb8227dafc50fa189d2842831938ebf39..58b86079ef72bd6ce70d2a359285b8b69fcbd42b 100644 --- a/tests/syntax/vla_goto_same_block_below.i +++ b/tests/syntax/vla_goto_same_block_below.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + volatile int nondet ; int main() { diff --git a/tests/syntax/vla_switch.i b/tests/syntax/vla_switch.i index afa7dd0affc9fe027771ce5e87ad5bd0a44a3ed6..7d8222ecd80f8ee059c53be214476bf99df83db5 100644 --- a/tests/syntax/vla_switch.i +++ b/tests/syntax/vla_switch.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + int case3(int arg) { switch(arg) { // Illegal according to 6.8.4.2§2 diff --git a/tests/syntax/void_parameter.i b/tests/syntax/void_parameter.i index f4a14535232ca14a6f0ea5fb00d4009aa6d75018..d5eb9df2e066dd1f16b6877b64e5327680811e9a 100644 --- a/tests/syntax/void_parameter.i +++ b/tests/syntax/void_parameter.i @@ -1,7 +1,7 @@ -/* run.config - +/* run.config* + EXIT: 1 + STDOPT: */ - // GCC warning, Clang/CompCert error void f1(void); void f2(void parameter); @@ -13,4 +13,3 @@ void f1(void){} void f2(void parameter){} void f3(void, int x){} void f4(void parameter, int x){} - diff --git a/tests/syntax/wrong-assignment.i b/tests/syntax/wrong-assignment.i index da2a59b86aef70d1ce5cf3732635f24f7f810883..04dd59e8d9812164134e645abb46363357c37526 100644 --- a/tests/syntax/wrong-assignment.i +++ b/tests/syntax/wrong-assignment.i @@ -1,3 +1,9 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + + typedef struct { _Bool a; } ebool; ebool b, c; diff --git a/tests/syntax/wrong_label.i b/tests/syntax/wrong_label.i index 90e1020b409d79ace1a1904892f8cba0dee9e883..bbde72ccbddd89b0d5731b2b7652d5e59960d18b 100644 --- a/tests/syntax/wrong_label.i +++ b/tests/syntax/wrong_label.i @@ -1,3 +1,8 @@ +/* run.config* + EXIT: 1 + STDOPT: +*/ + void f() { /*@ assert \true; */ } diff --git a/tests/value/array_zero_length.i b/tests/value/array_zero_length.i index f84a4ebf84a90dfca79e584bfc02975497a704cf..98d5d3527c9c68817323dbc5cd45ac47a16e355a 100644 --- a/tests/value/array_zero_length.i +++ b/tests/value/array_zero_length.i @@ -1,6 +1,7 @@ /* run.config* OPT: -no-autoload-plugins -load-module inout,eva -eva @EVA_CONFIG@ -journal-disable -machdep gcc_x86_32 OPT: -no-autoload-plugins -load-module inout,eva -eva @EVA_CONFIG@ -lib-entry -journal-disable -machdep gcc_x86_32 + EXIT: 1 OPT: -no-autoload-plugins -load-module inout,eva -eva @EVA_CONFIG@ -lib-entry -journal-disable */ diff --git a/tests/value/empty_base.c b/tests/value/empty_base.c index 1a5baf64c3b8456b030aee0bebc15c0b9cf9ca9f..d51b1b0f4864495a7393dea6ceebd86b3cd0d178 100644 --- a/tests/value/empty_base.c +++ b/tests/value/empty_base.c @@ -1,4 +1,5 @@ /* run.config* + EXIT: 1 STDOPT: +"-machdep gcc_x86_32" STDOPT: */ diff --git a/tests/value/oracle/array_zero_length.0.res.oracle b/tests/value/oracle/array_zero_length.0.res.oracle index 6fdacf5f712ee03db803d2beb51af3d8158ce397..e74e0ef0bd84ccb3d91adb66ba28a5cd81aa5937 100644 --- a/tests/value/oracle/array_zero_length.0.res.oracle +++ b/tests/value/oracle/array_zero_length.0.res.oracle @@ -1,19 +1,19 @@ [kernel] Parsing tests/value/array_zero_length.i (no preprocessing) -[kernel] tests/value/array_zero_length.i:10: Warning: +[kernel] tests/value/array_zero_length.i:11: Warning: declaration of array of 'zero-length arrays' ('char [0]`); zero-length arrays are a compiler extension -[kernel] tests/value/array_zero_length.i:15: Warning: +[kernel] tests/value/array_zero_length.i:16: Warning: declaration of array of 'zero-length arrays' ('char [0]`); zero-length arrays are a compiler extension [eva] Analyzing a complete application starting at main [eva] Computing initial state -[eva] tests/value/array_zero_length.i:7: Warning: +[eva] tests/value/array_zero_length.i:8: Warning: during initialization of variable 'T', size of type 'char []' cannot be computed (Size of array without number of elements.) -[eva] tests/value/array_zero_length.i:9: Warning: +[eva] tests/value/array_zero_length.i:10: Warning: during initialization of variable 'V', size of type 'char [][2]' cannot be computed (Size of array without number of elements.) -[eva] tests/value/array_zero_length.i:10: Warning: +[eva] tests/value/array_zero_length.i:11: Warning: during initialization of variable 'W', size of type 'char [][0]' cannot be computed (Size of array without number of elements.) [eva] Initial state computed @@ -23,34 +23,34 @@ W[bits 0 to ..] ∈ {0} or UNINITIALIZED W2[0..1][0] ∈ {0} pW ∈ {0} -[eva] tests/value/array_zero_length.i:24: assertion got status valid. -[eva] tests/value/array_zero_length.i:28: assertion got status valid. -[eva] tests/value/array_zero_length.i:30: assertion got status valid. -[eva] tests/value/array_zero_length.i:32: assertion got status valid. -[eva] tests/value/array_zero_length.i:34: assertion got status valid. -[eva:alarm] tests/value/array_zero_length.i:36: Warning: - out of bounds write. assert \valid(&T[2]); +[eva] tests/value/array_zero_length.i:25: assertion got status valid. +[eva] tests/value/array_zero_length.i:29: assertion got status valid. +[eva] tests/value/array_zero_length.i:31: assertion got status valid. +[eva] tests/value/array_zero_length.i:33: assertion got status valid. +[eva] tests/value/array_zero_length.i:35: assertion got status valid. [eva:alarm] tests/value/array_zero_length.i:37: Warning: + out of bounds write. assert \valid(&T[2]); +[eva:alarm] tests/value/array_zero_length.i:38: Warning: out of bounds write. assert \valid(&T[1]); -[eva:alarm] tests/value/array_zero_length.i:37: Warning: +[eva:alarm] tests/value/array_zero_length.i:38: Warning: accessing uninitialized left-value. assert \initialized(&T[3]); -[eva:alarm] tests/value/array_zero_length.i:37: Warning: +[eva:alarm] tests/value/array_zero_length.i:38: Warning: out of bounds read. assert \valid_read(&T[3]); -[eva:alarm] tests/value/array_zero_length.i:39: Warning: - out of bounds write. assert \valid(&V[2][1]); [eva:alarm] tests/value/array_zero_length.i:40: Warning: + out of bounds write. assert \valid(&V[2][1]); +[eva:alarm] tests/value/array_zero_length.i:41: Warning: out of bounds write. assert \valid(&V[1][1]); -[eva:alarm] tests/value/array_zero_length.i:40: Warning: +[eva:alarm] tests/value/array_zero_length.i:41: Warning: accessing uninitialized left-value. assert \initialized(&V[3][1]); -[eva:alarm] tests/value/array_zero_length.i:40: Warning: +[eva:alarm] tests/value/array_zero_length.i:41: Warning: out of bounds read. assert \valid_read(&V[3][1]); -[eva:alarm] tests/value/array_zero_length.i:42: Warning: - out of bounds write. assert \valid(&W[2][1]); [eva:alarm] tests/value/array_zero_length.i:43: Warning: + out of bounds write. assert \valid(&W[2][1]); +[eva:alarm] tests/value/array_zero_length.i:44: Warning: out of bounds write. assert \valid(&W[1][1]); -[eva:alarm] tests/value/array_zero_length.i:43: Warning: +[eva:alarm] tests/value/array_zero_length.i:44: Warning: accessing uninitialized left-value. assert \initialized(&W[3][1]); -[eva:alarm] tests/value/array_zero_length.i:43: Warning: +[eva:alarm] tests/value/array_zero_length.i:44: Warning: out of bounds read. assert \valid_read(&W[3][1]); [eva] Recording results for main [eva] done for function main diff --git a/tests/value/oracle/array_zero_length.1.res.oracle b/tests/value/oracle/array_zero_length.1.res.oracle index 70dc88689546fef2e4ee22528325bf1da0cfb6b8..1b90339b79a210f4bd4e74a18cfc5d44d1e68180 100644 --- a/tests/value/oracle/array_zero_length.1.res.oracle +++ b/tests/value/oracle/array_zero_length.1.res.oracle @@ -1,19 +1,19 @@ [kernel] Parsing tests/value/array_zero_length.i (no preprocessing) -[kernel] tests/value/array_zero_length.i:10: Warning: +[kernel] tests/value/array_zero_length.i:11: Warning: declaration of array of 'zero-length arrays' ('char [0]`); zero-length arrays are a compiler extension -[kernel] tests/value/array_zero_length.i:15: Warning: +[kernel] tests/value/array_zero_length.i:16: Warning: declaration of array of 'zero-length arrays' ('char [0]`); zero-length arrays are a compiler extension [eva] Analyzing an incomplete application starting at main [eva] Computing initial state -[eva] tests/value/array_zero_length.i:7: Warning: +[eva] tests/value/array_zero_length.i:8: Warning: during initialization of variable 'T', size of type 'char []' cannot be computed (Size of array without number of elements.) -[eva] tests/value/array_zero_length.i:9: Warning: +[eva] tests/value/array_zero_length.i:10: Warning: during initialization of variable 'V', size of type 'char [][2]' cannot be computed (Size of array without number of elements.) -[eva] tests/value/array_zero_length.i:10: Warning: +[eva] tests/value/array_zero_length.i:11: Warning: during initialization of variable 'W', size of type 'char [][0]' cannot be computed (Size of array without number of elements.) [eva] Initial state computed @@ -24,34 +24,34 @@ W2[0..1][0] ∈ [--..--] pW ∈ {{ NULL ; &S_pW[0] }} S_pW[0..1] ∈ [--..--] -[eva] tests/value/array_zero_length.i:24: assertion got status valid. -[eva] tests/value/array_zero_length.i:28: assertion got status valid. -[eva] tests/value/array_zero_length.i:30: assertion got status valid. -[eva] tests/value/array_zero_length.i:32: assertion got status valid. -[eva] tests/value/array_zero_length.i:34: assertion got status valid. -[eva:alarm] tests/value/array_zero_length.i:36: Warning: - out of bounds write. assert \valid(&T[2]); +[eva] tests/value/array_zero_length.i:25: assertion got status valid. +[eva] tests/value/array_zero_length.i:29: assertion got status valid. +[eva] tests/value/array_zero_length.i:31: assertion got status valid. +[eva] tests/value/array_zero_length.i:33: assertion got status valid. +[eva] tests/value/array_zero_length.i:35: assertion got status valid. [eva:alarm] tests/value/array_zero_length.i:37: Warning: + out of bounds write. assert \valid(&T[2]); +[eva:alarm] tests/value/array_zero_length.i:38: Warning: out of bounds write. assert \valid(&T[1]); -[eva:alarm] tests/value/array_zero_length.i:37: Warning: +[eva:alarm] tests/value/array_zero_length.i:38: Warning: accessing uninitialized left-value. assert \initialized(&T[3]); -[eva:alarm] tests/value/array_zero_length.i:37: Warning: +[eva:alarm] tests/value/array_zero_length.i:38: Warning: out of bounds read. assert \valid_read(&T[3]); -[eva:alarm] tests/value/array_zero_length.i:39: Warning: - out of bounds write. assert \valid(&V[2][1]); [eva:alarm] tests/value/array_zero_length.i:40: Warning: + out of bounds write. assert \valid(&V[2][1]); +[eva:alarm] tests/value/array_zero_length.i:41: Warning: out of bounds write. assert \valid(&V[1][1]); -[eva:alarm] tests/value/array_zero_length.i:40: Warning: +[eva:alarm] tests/value/array_zero_length.i:41: Warning: accessing uninitialized left-value. assert \initialized(&V[3][1]); -[eva:alarm] tests/value/array_zero_length.i:40: Warning: +[eva:alarm] tests/value/array_zero_length.i:41: Warning: out of bounds read. assert \valid_read(&V[3][1]); -[eva:alarm] tests/value/array_zero_length.i:42: Warning: - out of bounds write. assert \valid(&W[2][1]); [eva:alarm] tests/value/array_zero_length.i:43: Warning: + out of bounds write. assert \valid(&W[2][1]); +[eva:alarm] tests/value/array_zero_length.i:44: Warning: out of bounds write. assert \valid(&W[1][1]); -[eva:alarm] tests/value/array_zero_length.i:43: Warning: +[eva:alarm] tests/value/array_zero_length.i:44: Warning: accessing uninitialized left-value. assert \initialized(&W[3][1]); -[eva:alarm] tests/value/array_zero_length.i:43: Warning: +[eva:alarm] tests/value/array_zero_length.i:44: Warning: out of bounds read. assert \valid_read(&W[3][1]); [eva] Recording results for main [eva] done for function main diff --git a/tests/value/oracle/array_zero_length.2.res.oracle b/tests/value/oracle/array_zero_length.2.res.oracle index 20b7cf8335339ce1a11fedfeb396eb5f69949087..d5eb6f33988efe8fe86ec90a88f5012364e1e7c6 100644 --- a/tests/value/oracle/array_zero_length.2.res.oracle +++ b/tests/value/oracle/array_zero_length.2.res.oracle @@ -1,18 +1,18 @@ [kernel] Parsing tests/value/array_zero_length.i (no preprocessing) -[kernel] tests/value/array_zero_length.i:8: User Error: +[kernel] tests/value/array_zero_length.i:9: User Error: zero-length arrays only allowed for GCC/MSVC -[kernel] tests/value/array_zero_length.i:10: User Error: +[kernel] tests/value/array_zero_length.i:11: User Error: zero-length arrays only allowed for GCC/MSVC -[kernel] tests/value/array_zero_length.i:10: User Error: +[kernel] tests/value/array_zero_length.i:11: User Error: declaration of array of 'zero-length arrays' ('char [0]`); zero-length arrays are not allowed in C99 -[kernel] tests/value/array_zero_length.i:12: User Error: +[kernel] tests/value/array_zero_length.i:13: User Error: empty initializers only allowed for GCC/MSVC - 10 char W[][0]; - 11 - 12 char T1[] = {}; + 11 char W[][0]; + 12 + 13 char T1[] = {}; ^^^^^^^^^^^^^^^ - 13 char U1[0] = {}; - 14 char V1[][2] = {}; + 14 char U1[0] = {}; + 15 char V1[][2] = {}; [kernel] User Error: stopping on file "tests/value/array_zero_length.i" that has errors. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/value/oracle/empty_base.0.res.oracle b/tests/value/oracle/empty_base.0.res.oracle index aeae7116f43d7078810a20537b31366e3fdf4c96..0af48095560b9c93b62c891c7466ad21314f60a8 100644 --- a/tests/value/oracle/empty_base.0.res.oracle +++ b/tests/value/oracle/empty_base.0.res.oracle @@ -1,11 +1,11 @@ [kernel] Parsing tests/value/empty_base.c (with preprocessing) -[kernel] tests/value/empty_base.c:62: User Error: +[kernel] tests/value/empty_base.c:63: User Error: variable `c' has initializer but incomplete type -[kernel] tests/value/empty_base.c:66: Warning: +[kernel] tests/value/empty_base.c:67: Warning: Too many initializers for structure -[kernel] tests/value/empty_base.c:74: User Error: +[kernel] tests/value/empty_base.c:75: User Error: field `z' declared with a type containing a flexible array member. -[kernel] tests/value/empty_base.c:79: User Error: +[kernel] tests/value/empty_base.c:80: User Error: field `f1' declared with a type containing a flexible array member. [kernel] User Error: stopping on file "tests/value/empty_base.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. diff --git a/tests/value/oracle/empty_base.1.res.oracle b/tests/value/oracle/empty_base.1.res.oracle index 462f654cb30d09c1897b7cb830aca984f4e0686b..d20639084b8ef275e8ff05de7e5179670ad8a54a 100644 --- a/tests/value/oracle/empty_base.1.res.oracle +++ b/tests/value/oracle/empty_base.1.res.oracle @@ -1,16 +1,16 @@ [kernel] Parsing tests/value/empty_base.c (with preprocessing) -[kernel] tests/value/empty_base.c:12: User Error: +[kernel] tests/value/empty_base.c:13: User Error: empty structs only allowed for GCC/MSVC -[kernel] tests/value/empty_base.c:47: User Error: +[kernel] tests/value/empty_base.c:48: User Error: zero-length arrays only allowed for GCC/MSVC -[kernel] tests/value/empty_base.c:49: User Error: +[kernel] tests/value/empty_base.c:50: User Error: empty initializers only allowed for GCC/MSVC - 47 struct empty empty_array_of_empty[0]; - 48 struct empty array_of_empty[1]; - 49 struct empty many_empty[3] = {{}}; + 48 struct empty empty_array_of_empty[0]; + 49 struct empty array_of_empty[1]; + 50 struct empty many_empty[3] = {{}}; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 50 - 51 comp array_of_comp[1] = {{.a = 17, .b = 45, .e = {}}}; + 51 + 52 comp array_of_comp[1] = {{.a = 17, .b = 45, .e = {}}}; [kernel] User Error: stopping on file "tests/value/empty_base.c" that has errors. Add '-kernel-msg-key pp' for preprocessing command. [kernel] Frama-C aborted: invalid user input. diff --git a/tests/value/oracle/recursion.0.res.oracle b/tests/value/oracle/recursion.0.res.oracle index ce5542a5e4b49993e223f8c370341f1e032a698c..11c074e5b372b9701116afdea0737dc70dd5e8d4 100644 --- a/tests/value/oracle/recursion.0.res.oracle +++ b/tests/value/oracle/recursion.0.res.oracle @@ -10,9 +10,9 @@ pg ∈ {{ NULL ; &S_pg[0] }} S_pg[0..1] ∈ [--..--] [eva] computing for function ff <- main. - Called from tests/value/recursion.i:67. -[eva] tests/value/recursion.i:8: User Error: - detected recursive call (ff <- ff :: tests/value/recursion.i:67 <- main) + Called from tests/value/recursion.i:68. +[eva] tests/value/recursion.i:9: User Error: + detected recursive call (ff <- ff :: tests/value/recursion.i:68 <- main) Use -eva-ignore-recursive-calls to ignore (beware this will make the analysis unsound) [eva] User Error: Degeneration occurred: diff --git a/tests/value/oracle/recursion.1.res.oracle b/tests/value/oracle/recursion.1.res.oracle index f191d35fb500de8a27cc0bbfdd9a065427be64f2..4738d12e1cca4cee88dc7dad81f2718b31e1b7ea 100644 --- a/tests/value/oracle/recursion.1.res.oracle +++ b/tests/value/oracle/recursion.1.res.oracle @@ -10,79 +10,79 @@ pg ∈ {{ NULL ; &S_pg[0] }} S_pg[0..1] ∈ [--..--] [eva] computing for function ff <- main. - Called from tests/value/recursion.i:67. -[eva] tests/value/recursion.i:8: Warning: + Called from tests/value/recursion.i:68. +[eva] tests/value/recursion.i:9: Warning: recursive call during value analysis - of ff (ff <- ff :: tests/value/recursion.i:67 <- main). Assuming the call has + of ff (ff <- ff :: tests/value/recursion.i:68 <- main). Assuming the call has no effect. The analysis will be unsound. [eva] computing for function ff <- ff <- main. - Called from tests/value/recursion.i:8. + Called from tests/value/recursion.i:9. [eva] using specification for function ff [eva] Done for function ff [eva] Recording results for ff [eva] Done for function ff [eva] computing for function g <- main. - Called from tests/value/recursion.i:68. -[eva] tests/value/recursion.i:39: Warning: + Called from tests/value/recursion.i:69. +[eva] tests/value/recursion.i:40: Warning: recursive call during value analysis - of g (g <- g :: tests/value/recursion.i:68 <- main). Assuming the call has + of g (g <- g :: tests/value/recursion.i:69 <- main). Assuming the call has no effect. The analysis will be unsound. [eva] computing for function g <- g <- main. - Called from tests/value/recursion.i:39. + Called from tests/value/recursion.i:40. [eva] using specification for function g [eva] Done for function g [eva] Recording results for g [eva] Done for function g [eva] computing for function h <- main. - Called from tests/value/recursion.i:70. -[eva] tests/value/recursion.i:44: Warning: + Called from tests/value/recursion.i:71. +[eva] tests/value/recursion.i:45: Warning: recursive call during value analysis - of h (h <- h :: tests/value/recursion.i:70 <- main). Assuming the call has + of h (h <- h :: tests/value/recursion.i:71 <- main). Assuming the call has no effect. The analysis will be unsound. [eva] computing for function h <- h <- main. - Called from tests/value/recursion.i:44. + Called from tests/value/recursion.i:45. [eva] using specification for function h [eva] Done for function h [eva] Recording results for h [eva] Done for function h -[eva] tests/value/recursion.i:71: Frama_C_show_each: Bottom, Bottom +[eva] tests/value/recursion.i:72: Frama_C_show_each: Bottom, Bottom [eva] computing for function escaping_formal <- main. - Called from tests/value/recursion.i:72. -[eva] tests/value/recursion.i:72: + Called from tests/value/recursion.i:73. +[eva] tests/value/recursion.i:73: function escaping_formal: precondition got status valid. -[eva] tests/value/recursion.i:58: Frama_C_show_each: {{ &i }}, {10}, {0}, {10} -[eva] tests/value/recursion.i:59: Warning: +[eva] tests/value/recursion.i:59: Frama_C_show_each: {{ &i }}, {10}, {0}, {10} +[eva] tests/value/recursion.i:60: Warning: recursive call during value analysis - of escaping_formal (escaping_formal <- escaping_formal :: tests/value/recursion.i:72 <- + of escaping_formal (escaping_formal <- escaping_formal :: tests/value/recursion.i:73 <- main). Assuming the call has no effect. The analysis will be unsound. -[eva] tests/value/recursion.i:59: User Error: +[eva] tests/value/recursion.i:60: User Error: function 'escaping_formal' (involved in a recursive call) has a formal parameter whose address is taken. Analysis may be unsound. [eva] computing for function escaping_formal <- escaping_formal <- main. - Called from tests/value/recursion.i:59. + Called from tests/value/recursion.i:60. [eva] using specification for function escaping_formal [eva] Done for function escaping_formal -[eva] tests/value/recursion.i:62: Frama_C_show_each: {{ &i }}, {10}, {0}, {10} -[eva] tests/value/recursion.i:54: +[eva] tests/value/recursion.i:63: Frama_C_show_each: {{ &i }}, {10}, {0}, {10} +[eva] tests/value/recursion.i:55: function escaping_formal: postcondition got status valid. [eva] Recording results for escaping_formal [eva] Done for function escaping_formal [eva] computing for function f <- main. - Called from tests/value/recursion.i:73. -[eva] tests/value/recursion.i:28: Frama_C_show_each: {2}, {0} -[eva] tests/value/recursion.i:30: Warning: + Called from tests/value/recursion.i:74. +[eva] tests/value/recursion.i:29: Frama_C_show_each: {2}, {0} +[eva] tests/value/recursion.i:31: Warning: recursive call during value analysis - of f (f <- f :: tests/value/recursion.i:73 <- main). Assuming the call has + of f (f <- f :: tests/value/recursion.i:74 <- main). Assuming the call has no effect. The analysis will be unsound. [eva] computing for function f <- f <- main. - Called from tests/value/recursion.i:30. + Called from tests/value/recursion.i:31. [eva] using specification for function f [eva] Done for function f -[eva] tests/value/recursion.i:31: Frama_C_show_each: {2}, {0} +[eva] tests/value/recursion.i:32: Frama_C_show_each: {2}, {0} [eva] Recording results for f [eva] Done for function f -[eva] tests/value/recursion.i:74: Frama_C_show_each: {2} -[eva:alarm] tests/value/recursion.i:75: Warning: +[eva] tests/value/recursion.i:75: Frama_C_show_each: {2} +[eva:alarm] tests/value/recursion.i:76: Warning: signed overflow. assert r.f1 + 1 ≤ 2147483647; [eva] Recording results for main [eva] done for function main diff --git a/tests/value/oracle/split_return.0.res.oracle b/tests/value/oracle/split_return.0.res.oracle index 91a2153418a268c08e37b36b945cf667389b2575..3c39daac7720985d50738ccf8f1157084f82ae0b 100644 --- a/tests/value/oracle/split_return.0.res.oracle +++ b/tests/value/oracle/split_return.0.res.oracle @@ -19,109 +19,109 @@ v7 ∈ {0} rand ∈ [--..--] [eva] computing for function main1 <- main. - Called from tests/value/split_return.i:204. + Called from tests/value/split_return.i:207. [eva] computing for function init <- main1 <- main. - Called from tests/value/split_return.i:17. + Called from tests/value/split_return.i:20. [eva] using specification for function init [eva] Done for function init [eva] Recording results for main1 [eva] Done for function main1 [eva] computing for function main2 <- main. - Called from tests/value/split_return.i:205. + Called from tests/value/split_return.i:208. [eva] computing for function f2 <- main2 <- main. - Called from tests/value/split_return.i:48. + Called from tests/value/split_return.i:51. [eva] Recording results for f2 [eva] Done for function f2 -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {0}, {0} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {5; 7}, {5} -[eva] tests/value/split_return.i:51: assertion got status valid. -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {5; 7}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {0}, {0} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {5; 7}, {5} [eva] tests/value/split_return.i:54: assertion got status valid. +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {5; 7}, {5} +[eva] tests/value/split_return.i:57: assertion got status valid. [eva] Recording results for main2 [eva] Done for function main2 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. -[eva] tests/value/split_return.i:69: cannot properly split on \result == -2 + Called from tests/value/split_return.i:76. +[eva] tests/value/split_return.i:72: cannot properly split on \result == -2 [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2; 7}, {0; 5} -[eva:alarm] tests/value/split_return.i:76: Warning: +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2; 7}, {0; 5} +[eva:alarm] tests/value/split_return.i:79: Warning: assertion got status unknown. -[eva:alarm] tests/value/split_return.i:78: Warning: +[eva:alarm] tests/value/split_return.i:81: Warning: assertion got status unknown. [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4; 7}, {0; 5} -[eva:alarm] tests/value/split_return.i:97: Warning: +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4; 7}, {0; 5} +[eva:alarm] tests/value/split_return.i:100: Warning: assertion got status unknown. -[eva:alarm] tests/value/split_return.i:99: Warning: +[eva:alarm] tests/value/split_return.i:102: Warning: assertion got status unknown. [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main5 <- main. - Called from tests/value/split_return.i:208. + Called from tests/value/split_return.i:211. [eva] computing for function f5 <- main5 <- main. - Called from tests/value/split_return.i:117. + Called from tests/value/split_return.i:120. [eva] Recording results for f5 [eva] Done for function f5 -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {-2}, {0} -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {7}, {5} -[eva] tests/value/split_return.i:120: assertion got status valid. -[eva] tests/value/split_return.i:122: assertion got status valid. +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {-2}, {0} +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {7}, {5} +[eva] tests/value/split_return.i:123: assertion got status valid. +[eva] tests/value/split_return.i:125: assertion got status valid. [eva] Recording results for main5 [eva] Done for function main5 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. -[eva:alarm] tests/value/split_return.i:130: Warning: + Called from tests/value/split_return.i:138. +[eva:alarm] tests/value/split_return.i:133: Warning: assertion got status unknown. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ NULL ; &v }}, {0; 1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1; 4}, {{ NULL ; &x }} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main9 <- main. - Called from tests/value/split_return.i:212. + Called from tests/value/split_return.i:215. [eva] computing for function uninit <- main9 <- main. - Called from tests/value/split_return.i:199. + Called from tests/value/split_return.i:202. [eva] Recording results for uninit [eva] Done for function uninit [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. -[eva:locals-escaping] tests/value/split_return.i:192: Warning: + Called from tests/value/split_return.i:203. +[eva:locals-escaping] tests/value/split_return.i:195: Warning: locals {x} escaping the scope of a block of escaping through p [eva] Recording results for escaping [eva] Done for function escaping [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. + Called from tests/value/split_return.i:203. [eva] Recording results for escaping [eva] Done for function escaping [eva] Recording results for main9 @@ -363,13 +363,13 @@ --- Properties of Function 'init' -------------------------------------------------------------------------------- -[ Extern ] Post-condition (file tests/value/split_return.i, line 12) +[ Extern ] Post-condition (file tests/value/split_return.i, line 15) Unverifiable but considered Valid. -[ Extern ] Assigns (file tests/value/split_return.i, line 10) +[ Extern ] Assigns (file tests/value/split_return.i, line 13) Unverifiable but considered Valid. -[ Extern ] Froms (file tests/value/split_return.i, line 10) +[ Extern ] Froms (file tests/value/split_return.i, line 13) Unverifiable but considered Valid. -[ Extern ] Froms (file tests/value/split_return.i, line 11) +[ Extern ] Froms (file tests/value/split_return.i, line 14) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -378,54 +378,54 @@ --- Properties of Function 'main1' -------------------------------------------------------------------------------- -[ Dead ] Assertion (file tests/value/split_return.i, line 27) +[ Dead ] Assertion (file tests/value/split_return.i, line 30) Locally valid, but unreachable. By Eva because: - - Unreachable program point (file tests/value/split_return.i, line 27) -[Unreachable] Unreachable program point (file tests/value/split_return.i, line 27) + - Unreachable program point (file tests/value/split_return.i, line 30) +[Unreachable] Unreachable program point (file tests/value/split_return.i, line 30) by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main2' -------------------------------------------------------------------------------- -[ Valid ] Assertion (file tests/value/split_return.i, line 51) - by Eva. [ Valid ] Assertion (file tests/value/split_return.i, line 54) by Eva. +[ Valid ] Assertion (file tests/value/split_return.i, line 57) + by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main3' -------------------------------------------------------------------------------- -[ - ] Assertion (file tests/value/split_return.i, line 76) +[ - ] Assertion (file tests/value/split_return.i, line 79) tried with Eva. -[ - ] Assertion (file tests/value/split_return.i, line 78) +[ - ] Assertion (file tests/value/split_return.i, line 81) tried with Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main4' -------------------------------------------------------------------------------- -[ - ] Assertion (file tests/value/split_return.i, line 97) +[ - ] Assertion (file tests/value/split_return.i, line 100) tried with Eva. -[ - ] Assertion (file tests/value/split_return.i, line 99) +[ - ] Assertion (file tests/value/split_return.i, line 102) tried with Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main5' -------------------------------------------------------------------------------- -[ Valid ] Assertion (file tests/value/split_return.i, line 120) +[ Valid ] Assertion (file tests/value/split_return.i, line 123) by Eva. -[ Valid ] Assertion (file tests/value/split_return.i, line 122) +[ Valid ] Assertion (file tests/value/split_return.i, line 125) by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'f6' -------------------------------------------------------------------------------- -[ - ] Assertion (file tests/value/split_return.i, line 130) +[ - ] Assertion (file tests/value/split_return.i, line 133) tried with Eva. -------------------------------------------------------------------------------- diff --git a/tests/value/oracle/split_return.1.res.oracle b/tests/value/oracle/split_return.1.res.oracle index 31917f8388259ed060c5ff08e9b6289bf35effbc..e161e8a21148dd6de625f47fd1cd8b0935903ee8 100644 --- a/tests/value/oracle/split_return.1.res.oracle +++ b/tests/value/oracle/split_return.1.res.oracle @@ -21,102 +21,102 @@ v7 ∈ {0} rand ∈ [--..--] [eva] computing for function main1 <- main. - Called from tests/value/split_return.i:204. + Called from tests/value/split_return.i:207. [eva] computing for function init <- main1 <- main. - Called from tests/value/split_return.i:17. + Called from tests/value/split_return.i:20. [eva] using specification for function init [eva] Done for function init [eva] Recording results for main1 [eva] Done for function main1 [eva] computing for function main2 <- main. - Called from tests/value/split_return.i:205. + Called from tests/value/split_return.i:208. [eva] computing for function f2 <- main2 <- main. - Called from tests/value/split_return.i:48. + Called from tests/value/split_return.i:51. [eva] Recording results for f2 [eva] Done for function f2 -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {0}, {0} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {5; 7}, {5} -[eva] tests/value/split_return.i:51: assertion got status valid. -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {5; 7}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {0}, {0} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {5; 7}, {5} [eva] tests/value/split_return.i:54: assertion got status valid. +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {5; 7}, {5} +[eva] tests/value/split_return.i:57: assertion got status valid. [eva] Recording results for main2 [eva] Done for function main2 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:76: assertion got status valid. -[eva] tests/value/split_return.i:78: assertion got status valid. +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:79: assertion got status valid. +[eva] tests/value/split_return.i:81: assertion got status valid. [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} -[eva] tests/value/split_return.i:97: assertion got status valid. -[eva] tests/value/split_return.i:99: assertion got status valid. +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:100: assertion got status valid. +[eva] tests/value/split_return.i:102: assertion got status valid. [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main5 <- main. - Called from tests/value/split_return.i:208. + Called from tests/value/split_return.i:211. [eva] computing for function f5 <- main5 <- main. - Called from tests/value/split_return.i:117. + Called from tests/value/split_return.i:120. [eva] Recording results for f5 [eva] Done for function f5 -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {-2}, {0} -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {7}, {5} -[eva] tests/value/split_return.i:120: assertion got status valid. -[eva] tests/value/split_return.i:122: assertion got status valid. +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {-2}, {0} +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {7}, {5} +[eva] tests/value/split_return.i:123: assertion got status valid. +[eva] tests/value/split_return.i:125: assertion got status valid. [eva] Recording results for main5 [eva] Done for function main5 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. -[eva:alarm] tests/value/split_return.i:130: Warning: + Called from tests/value/split_return.i:138. +[eva:alarm] tests/value/split_return.i:133: Warning: assertion got status unknown. -[eva] tests/value/split_return.i:131: cannot properly split on \result == 0 +[eva] tests/value/split_return.i:134: cannot properly split on \result == 0 [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main9 <- main. - Called from tests/value/split_return.i:212. + Called from tests/value/split_return.i:215. [eva] computing for function uninit <- main9 <- main. - Called from tests/value/split_return.i:199. + Called from tests/value/split_return.i:202. [eva] Recording results for uninit [eva] Done for function uninit [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. -[eva:locals-escaping] tests/value/split_return.i:192: Warning: + Called from tests/value/split_return.i:203. +[eva:locals-escaping] tests/value/split_return.i:195: Warning: locals {x} escaping the scope of a block of escaping through p [eva] Recording results for escaping [eva] Done for function escaping @@ -359,13 +359,13 @@ --- Properties of Function 'init' -------------------------------------------------------------------------------- -[ Extern ] Post-condition (file tests/value/split_return.i, line 12) +[ Extern ] Post-condition (file tests/value/split_return.i, line 15) Unverifiable but considered Valid. -[ Extern ] Assigns (file tests/value/split_return.i, line 10) +[ Extern ] Assigns (file tests/value/split_return.i, line 13) Unverifiable but considered Valid. -[ Extern ] Froms (file tests/value/split_return.i, line 10) +[ Extern ] Froms (file tests/value/split_return.i, line 13) Unverifiable but considered Valid. -[ Extern ] Froms (file tests/value/split_return.i, line 11) +[ Extern ] Froms (file tests/value/split_return.i, line 14) Unverifiable but considered Valid. [ Valid ] Default behavior by Frama-C kernel. @@ -374,54 +374,54 @@ --- Properties of Function 'main1' -------------------------------------------------------------------------------- -[ Dead ] Assertion (file tests/value/split_return.i, line 27) +[ Dead ] Assertion (file tests/value/split_return.i, line 30) Locally valid, but unreachable. By Eva because: - - Unreachable program point (file tests/value/split_return.i, line 27) -[Unreachable] Unreachable program point (file tests/value/split_return.i, line 27) + - Unreachable program point (file tests/value/split_return.i, line 30) +[Unreachable] Unreachable program point (file tests/value/split_return.i, line 30) by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main2' -------------------------------------------------------------------------------- -[ Valid ] Assertion (file tests/value/split_return.i, line 51) - by Eva. [ Valid ] Assertion (file tests/value/split_return.i, line 54) by Eva. +[ Valid ] Assertion (file tests/value/split_return.i, line 57) + by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main3' -------------------------------------------------------------------------------- -[ Valid ] Assertion (file tests/value/split_return.i, line 76) +[ Valid ] Assertion (file tests/value/split_return.i, line 79) by Eva. -[ Valid ] Assertion (file tests/value/split_return.i, line 78) +[ Valid ] Assertion (file tests/value/split_return.i, line 81) by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main4' -------------------------------------------------------------------------------- -[ Valid ] Assertion (file tests/value/split_return.i, line 97) +[ Valid ] Assertion (file tests/value/split_return.i, line 100) by Eva. -[ Valid ] Assertion (file tests/value/split_return.i, line 99) +[ Valid ] Assertion (file tests/value/split_return.i, line 102) by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'main5' -------------------------------------------------------------------------------- -[ Valid ] Assertion (file tests/value/split_return.i, line 120) +[ Valid ] Assertion (file tests/value/split_return.i, line 123) by Eva. -[ Valid ] Assertion (file tests/value/split_return.i, line 122) +[ Valid ] Assertion (file tests/value/split_return.i, line 125) by Eva. -------------------------------------------------------------------------------- --- Properties of Function 'f6' -------------------------------------------------------------------------------- -[ - ] Assertion (file tests/value/split_return.i, line 130) +[ - ] Assertion (file tests/value/split_return.i, line 133) tried with Eva. -------------------------------------------------------------------------------- diff --git a/tests/value/oracle/split_return.3.res.oracle b/tests/value/oracle/split_return.3.res.oracle index 1ad5a6b949801e802041412d0870ce55b97cb0da..0efcd2430ce9e8239d2ac44023a3a3c42f36a4b1 100644 --- a/tests/value/oracle/split_return.3.res.oracle +++ b/tests/value/oracle/split_return.3.res.oracle @@ -13,196 +13,196 @@ v7 ∈ {0} rand ∈ [--..--] [eva] computing for function main1 <- main. - Called from tests/value/split_return.i:204. + Called from tests/value/split_return.i:207. [eva] computing for function init <- main1 <- main. - Called from tests/value/split_return.i:17. + Called from tests/value/split_return.i:20. [eva] using specification for function init [eva] Done for function init [eva] Recording results for main1 [eva] Done for function main1 [eva] computing for function main2 <- main. - Called from tests/value/split_return.i:205. + Called from tests/value/split_return.i:208. [eva] computing for function f2 <- main2 <- main. - Called from tests/value/split_return.i:48. + Called from tests/value/split_return.i:51. [eva] Recording results for f2 [eva] Done for function f2 -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {0}, {0} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {5}, {5} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {7}, {5} -[eva] tests/value/split_return.i:51: assertion got status valid. -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {5}, {5} -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {7}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {0}, {0} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {5}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {7}, {5} [eva] tests/value/split_return.i:54: assertion got status valid. +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {5}, {5} +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {7}, {5} +[eva] tests/value/split_return.i:57: assertion got status valid. [eva] Recording results for main2 [eva] Done for function main2 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} -[eva] tests/value/split_return.i:76: assertion got status valid. -[eva] tests/value/split_return.i:78: assertion got status valid. +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:79: assertion got status valid. +[eva] tests/value/split_return.i:81: assertion got status valid. [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} -[eva] tests/value/split_return.i:97: assertion got status valid. -[eva] tests/value/split_return.i:99: assertion got status valid. +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:100: assertion got status valid. +[eva] tests/value/split_return.i:102: assertion got status valid. [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main5 <- main. - Called from tests/value/split_return.i:208. + Called from tests/value/split_return.i:211. [eva] computing for function f5 <- main5 <- main. - Called from tests/value/split_return.i:117. + Called from tests/value/split_return.i:120. [eva] Recording results for f5 [eva] Done for function f5 -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {7}, {5} -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {-2}, {0} -[eva] tests/value/split_return.i:120: assertion got status valid. -[eva] tests/value/split_return.i:122: assertion got status valid. +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {7}, {5} +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {-2}, {0} +[eva] tests/value/split_return.i:123: assertion got status valid. +[eva] tests/value/split_return.i:125: assertion got status valid. [eva] Recording results for main5 [eva] Done for function main5 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. -[eva:alarm] tests/value/split_return.i:130: Warning: + Called from tests/value/split_return.i:138. +[eva:alarm] tests/value/split_return.i:133: Warning: assertion got status unknown. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. + Called from tests/value/split_return.i:138. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main9 <- main. - Called from tests/value/split_return.i:212. + Called from tests/value/split_return.i:215. [eva] computing for function uninit <- main9 <- main. - Called from tests/value/split_return.i:199. + Called from tests/value/split_return.i:202. [eva] Recording results for uninit [eva] Done for function uninit [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. -[eva:locals-escaping] tests/value/split_return.i:192: Warning: + Called from tests/value/split_return.i:203. +[eva:locals-escaping] tests/value/split_return.i:195: Warning: locals {x} escaping the scope of a block of escaping through p [eva] Recording results for escaping [eva] Done for function escaping [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. + Called from tests/value/split_return.i:203. [eva] Recording results for escaping [eva] Done for function escaping [eva] Recording results for main9 diff --git a/tests/value/oracle/split_return.4.res.oracle b/tests/value/oracle/split_return.4.res.oracle index 08cbe3aca4477cb95925fcb4f6d6365c1f5e4ec7..9751f1d714782c4f4f5c41324c7050e3690dd387 100644 --- a/tests/value/oracle/split_return.4.res.oracle +++ b/tests/value/oracle/split_return.4.res.oracle @@ -16,196 +16,196 @@ v7 ∈ {0} rand ∈ [--..--] [eva] computing for function main1 <- main. - Called from tests/value/split_return.i:204. + Called from tests/value/split_return.i:207. [eva] computing for function init <- main1 <- main. - Called from tests/value/split_return.i:17. + Called from tests/value/split_return.i:20. [eva] using specification for function init [eva] Done for function init [eva] Recording results for main1 [eva] Done for function main1 [eva] computing for function main2 <- main. - Called from tests/value/split_return.i:205. + Called from tests/value/split_return.i:208. [eva] computing for function f2 <- main2 <- main. - Called from tests/value/split_return.i:48. + Called from tests/value/split_return.i:51. [eva] Recording results for f2 [eva] Done for function f2 -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {0}, {0} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {5}, {5} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {7}, {5} -[eva] tests/value/split_return.i:51: assertion got status valid. -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {5}, {5} -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {7}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {0}, {0} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {5}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {7}, {5} [eva] tests/value/split_return.i:54: assertion got status valid. +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {5}, {5} +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {7}, {5} +[eva] tests/value/split_return.i:57: assertion got status valid. [eva] Recording results for main2 [eva] Done for function main2 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} -[eva] tests/value/split_return.i:76: assertion got status valid. -[eva] tests/value/split_return.i:78: assertion got status valid. +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:79: assertion got status valid. +[eva] tests/value/split_return.i:81: assertion got status valid. [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} -[eva] tests/value/split_return.i:97: assertion got status valid. -[eva] tests/value/split_return.i:99: assertion got status valid. +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:100: assertion got status valid. +[eva] tests/value/split_return.i:102: assertion got status valid. [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main5 <- main. - Called from tests/value/split_return.i:208. + Called from tests/value/split_return.i:211. [eva] computing for function f5 <- main5 <- main. - Called from tests/value/split_return.i:117. + Called from tests/value/split_return.i:120. [eva] Recording results for f5 [eva] Done for function f5 -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {7}, {5} -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {-2}, {0} -[eva] tests/value/split_return.i:120: assertion got status valid. -[eva] tests/value/split_return.i:122: assertion got status valid. +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {7}, {5} +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {-2}, {0} +[eva] tests/value/split_return.i:123: assertion got status valid. +[eva] tests/value/split_return.i:125: assertion got status valid. [eva] Recording results for main5 [eva] Done for function main5 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. -[eva:alarm] tests/value/split_return.i:130: Warning: + Called from tests/value/split_return.i:138. +[eva:alarm] tests/value/split_return.i:133: Warning: assertion got status unknown. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. + Called from tests/value/split_return.i:138. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main9 <- main. - Called from tests/value/split_return.i:212. + Called from tests/value/split_return.i:215. [eva] computing for function uninit <- main9 <- main. - Called from tests/value/split_return.i:199. + Called from tests/value/split_return.i:202. [eva] Recording results for uninit [eva] Done for function uninit [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. -[eva:locals-escaping] tests/value/split_return.i:192: Warning: + Called from tests/value/split_return.i:203. +[eva:locals-escaping] tests/value/split_return.i:195: Warning: locals {x} escaping the scope of a block of escaping through p [eva] Recording results for escaping [eva] Done for function escaping [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. + Called from tests/value/split_return.i:203. [eva] Recording results for escaping [eva] Done for function escaping [eva] Recording results for main9 @@ -460,181 +460,181 @@ v7 ∈ {0} rand ∈ [--..--] [eva] computing for function main1 <- main. - Called from tests/value/split_return.i:204. + Called from tests/value/split_return.i:207. [eva] computing for function init <- main1 <- main. - Called from tests/value/split_return.i:17. + Called from tests/value/split_return.i:20. [eva] Done for function init [eva] Recording results for main1 [eva] Done for function main1 [eva] computing for function main2 <- main. - Called from tests/value/split_return.i:205. + Called from tests/value/split_return.i:208. [eva] computing for function f2 <- main2 <- main. - Called from tests/value/split_return.i:48. + Called from tests/value/split_return.i:51. [eva] Recording results for f2 [eva] Done for function f2 -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {0}, {0} -[eva] tests/value/split_return.i:49: Frama_C_show_each_f2: {5; 7}, {5} -[eva] tests/value/split_return.i:53: Frama_C_show_each_f2_2: {5; 7}, {5} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {0}, {0} +[eva] tests/value/split_return.i:52: Frama_C_show_each_f2: {5; 7}, {5} +[eva] tests/value/split_return.i:56: Frama_C_show_each_f2_2: {5; 7}, {5} [eva] Recording results for main2 [eva] Done for function main2 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main3 <- main. - Called from tests/value/split_return.i:206. + Called from tests/value/split_return.i:209. [eva] computing for function f3 <- main3 <- main. - Called from tests/value/split_return.i:73. + Called from tests/value/split_return.i:76. [eva] Recording results for f3 [eva] Done for function f3 -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {7}, {5} -[eva] tests/value/split_return.i:74: Frama_C_show_each_f3: {-2}, {0} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {7}, {5} +[eva] tests/value/split_return.i:77: Frama_C_show_each_f3: {-2}, {0} [eva] Recording results for main3 [eva] Done for function main3 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main4 <- main. - Called from tests/value/split_return.i:207. + Called from tests/value/split_return.i:210. [eva] computing for function f4 <- main4 <- main. - Called from tests/value/split_return.i:94. + Called from tests/value/split_return.i:97. [eva] Recording results for f4 [eva] Done for function f4 -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {4}, {0} -[eva] tests/value/split_return.i:95: Frama_C_show_each_f4: {7}, {5} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {4}, {0} +[eva] tests/value/split_return.i:98: Frama_C_show_each_f4: {7}, {5} [eva] Recording results for main4 [eva] Done for function main4 [eva] computing for function main5 <- main. - Called from tests/value/split_return.i:208. + Called from tests/value/split_return.i:211. [eva] computing for function f5 <- main5 <- main. - Called from tests/value/split_return.i:117. + Called from tests/value/split_return.i:120. [eva] Recording results for f5 [eva] Done for function f5 -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {7}, {5} -[eva] tests/value/split_return.i:118: Frama_C_show_each_f5: {-2}, {0} +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {7}, {5} +[eva] tests/value/split_return.i:121: Frama_C_show_each_f5: {-2}, {0} [eva] Recording results for main5 [eva] Done for function main5 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. + Called from tests/value/split_return.i:138. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main6 <- main. - Called from tests/value/split_return.i:209. + Called from tests/value/split_return.i:212. [eva] computing for function f6 <- main6 <- main. - Called from tests/value/split_return.i:135. + Called from tests/value/split_return.i:138. [eva] Recording results for f6 [eva] Done for function f6 [eva] Recording results for main6 [eva] Done for function main6 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main7 <- main. - Called from tests/value/split_return.i:210. + Called from tests/value/split_return.i:213. [eva] computing for function f7 <- main7 <- main. - Called from tests/value/split_return.i:148. + Called from tests/value/split_return.i:151. [eva] Recording results for f7 [eva] Done for function f7 -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {0}, {0} -[eva] tests/value/split_return.i:153: Frama_C_show_each_NULL: {{ &v }}, {1} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {0}, {0} +[eva] tests/value/split_return.i:156: Frama_C_show_each_NULL: {{ &v }}, {1} [eva] Recording results for main7 [eva] Done for function main7 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main8 <- main. - Called from tests/value/split_return.i:211. + Called from tests/value/split_return.i:214. [eva] computing for function f8 <- main8 <- main. - Called from tests/value/split_return.i:171. + Called from tests/value/split_return.i:174. [eva] Recording results for f8 [eva] Done for function f8 -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {4}, {{ &x }} -[eva] tests/value/split_return.i:172: Frama_C_show_each_then8: {-1}, {0} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {4}, {{ &x }} +[eva] tests/value/split_return.i:175: Frama_C_show_each_then8: {-1}, {0} [eva] Recording results for main8 [eva] Done for function main8 [eva] computing for function main9 <- main. - Called from tests/value/split_return.i:212. + Called from tests/value/split_return.i:215. [eva] computing for function uninit <- main9 <- main. - Called from tests/value/split_return.i:199. + Called from tests/value/split_return.i:202. [eva] Recording results for uninit [eva] Done for function uninit [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. + Called from tests/value/split_return.i:203. [eva] Recording results for escaping [eva] Done for function escaping [eva] computing for function escaping <- main9 <- main. - Called from tests/value/split_return.i:200. + Called from tests/value/split_return.i:203. [eva] Recording results for escaping [eva] Done for function escaping [eva] Recording results for main9 diff --git a/tests/value/oracle/va_list.0.res.oracle b/tests/value/oracle/va_list.0.res.oracle index dd7d28e7c730028ddea8ae1c1f259d29818a6085..ab51d92efd04854b39bf5a77d5812ea908c7a4dc 100644 --- a/tests/value/oracle/va_list.0.res.oracle +++ b/tests/value/oracle/va_list.0.res.oracle @@ -9,8 +9,8 @@ [eva:initial-state] creating variable S_1_S___va_params with imprecise size (type void) [eva] computing for function __builtin_next_arg <- main. - Called from tests/value/va_list.c:13. -[kernel:annot:missing-spec] tests/value/va_list.c:13: Warning: + Called from tests/value/va_list.c:14. +[kernel:annot:missing-spec] tests/value/va_list.c:14: Warning: Neither code nor specification for function __builtin_next_arg, generating default assigns from the prototype [eva] using specification for function __builtin_next_arg [eva] Done for function __builtin_next_arg diff --git a/tests/value/oracle/va_list.1.res.oracle b/tests/value/oracle/va_list.1.res.oracle index e5c9853fe1164c594a07cf8da34a21ebb3aa6df3..54aa90f97b95cdbeb41756dbbb9bd98e1de282fb 100644 --- a/tests/value/oracle/va_list.1.res.oracle +++ b/tests/value/oracle/va_list.1.res.oracle @@ -5,11 +5,11 @@ [eva:initial-state] Values of globals at initialization [eva] computing for function __builtin_next_arg <- main. - Called from tests/value/va_list.c:13. -[kernel:annot:missing-spec] tests/value/va_list.c:13: Warning: + Called from tests/value/va_list.c:14. +[kernel:annot:missing-spec] tests/value/va_list.c:14: Warning: Neither code nor specification for function __builtin_next_arg, generating default assigns from the prototype [eva] using specification for function __builtin_next_arg -[eva] tests/value/va_list.c:13: User Error: +[eva] tests/value/va_list.c:14: User Error: functions returning variadic arguments must be stubbed [eva] Done for function __builtin_next_arg [eva] Recording results for main diff --git a/tests/value/recursion.i b/tests/value/recursion.i index 2b916a17354f17b3e39f216477a7343128c08a36..c3670163290ec5e0d912bff2106bc72a63fc1466 100644 --- a/tests/value/recursion.i +++ b/tests/value/recursion.i @@ -1,4 +1,5 @@ -/*run.config* +/* run.config* + EXIT: 1 OPT: -no-autoload-plugins -load-module from,inout,eva -lib-entry -main main -eva @EVA_CONFIG@ -journal-disable OPT: -no-autoload-plugins -load-module from,inout,eva -lib-entry -main main -eva @EVA_CONFIG@ -eva-ignore-recursive-calls -journal-disable */ diff --git a/tests/value/split_return.i b/tests/value/split_return.i index 8cfc8a21a7528455accae9f91f3678fc12e51767..df9fbcbdada17c3366d1da87a6b948f454b8129e 100644 --- a/tests/value/split_return.i +++ b/tests/value/split_return.i @@ -1,12 +1,15 @@ /* run.config* STDOPT: +"-deterministic -eva-no-memexec -eva-slevel-function init:3,main1:3,f2:4,main2:4,f4:3,main5:3,uninit:2,main9:2 -eva-split-return-function f2:0,f3:-2:-4,f4:4,f5:-2,NON_EXISTING:4,uninit:0,escaping:0 -eva-warn-copy-indeterminate=-uninit,-escaping,-main9 -permissive -then -load-module report -report" STDOPT: +"-deterministic -eva-no-memexec -eva -journal-disable -out -input -deps -eva-slevel 6 -eva-split-return auto -eva-split-return-function f7:0:3 -eva-warn-copy-indeterminate=-uninit,-escaping,-main9 -then -load-module report -report" + EXIT:1 COMMENT: below command must fail, as -permissive is not set STDOPT: +"-deterministic -eva-no-memexec -eva -eva-slevel-function NON_EXISTING:4 -eva-warn-copy-indeterminate=-uninit,-escaping,-main9" + EXIT:0 STDOPT: +"-deterministic -eva-no-memexec -eva -journal-disable -out -input -deps -eva-slevel 6 -eva-split-return full -eva-warn-copy-indeterminate=-uninit,-escaping,-main9" STDOPT: +"-deterministic -eva-no-memexec -eva -journal-disable -out -input -deps -eva-slevel 6 -eva-split-return full -eva-split-return-function f7:0:3 -eva-split-return-function f2:full -eva-warn-copy-indeterminate=-uninit,-escaping,-main9 -then -eva-split-return-function f2:auto" */ + /*@ assigns \result \from \nothing; assigns *p \from \nothing; ensures \result == 0 && \initialized(p) || \result == 1; */ diff --git a/tests/value/traces/test5.i b/tests/value/traces/test5.i index d3f122845da8990429ab62d1f98d30ebd81bfb4b..8f21952cadf7e80687dc60f6a6e274cee2e14b8d 100644 --- a/tests/value/traces/test5.i +++ b/tests/value/traces/test5.i @@ -1,8 +1,8 @@ /* run.config + EXIT: 1 STDOPT: #"-eva-domains traces -eva-msg-key d-traces -eva-slevel 10" +"-then-last -eva -eva-slevel 10 -print -no-eva-traces-domain" */ - /* Check the fix for the creation of expression by dataflows2 for switch (conversion to list of if) */ diff --git a/tests/value/unknown_sizeof.i b/tests/value/unknown_sizeof.i index f3a1c3c0c65e3ed31968b58d4531746eba71b228..94e88f03ca2aaa60f0b99312ef0a1c2dbc9868b0 100644 --- a/tests/value/unknown_sizeof.i +++ b/tests/value/unknown_sizeof.i @@ -1,8 +1,8 @@ /* run.config* + EXIT: 1 OPT: -no-autoload-plugins -load-module eva -eva @EVA_CONFIG@ -main main1 OPT: -no-autoload-plugins -load-module eva -eva @EVA_CONFIG@ -main main2 */ - struct s; struct s s; diff --git a/tests/value/use_spec.i b/tests/value/use_spec.i index b22673b3052ae0dc65f6d85e38de74b386760165..3097dcc25cb54367cd22fe2bc77aa23d5cfea43c 100644 --- a/tests/value/use_spec.i +++ b/tests/value/use_spec.i @@ -1,9 +1,9 @@ /* run.config* - OPT: -no-autoload-plugins -load-module from,inout,eva -eva-use-spec f,h -eva @EVA_CONFIG@ -inout -calldeps - OPT: -no-autoload-plugins -load-module from,inout,eva -eva-use-spec f,h -eva @EVA_CONFIG@ -inout -calldeps -show-indirect-deps + EXIT: 1 + OPT: -no-autoload-plugins -load-module from,inout,eva -eva-use-spec f,h -eva @EVA_CONFIG@ -inout -calldeps + OPT: -no-autoload-plugins -load-module from,inout,eva -eva-use-spec f,h -eva @EVA_CONFIG@ -inout -calldeps -show-indirect-deps */ - void f(int *x) { } diff --git a/tests/value/va_list.c b/tests/value/va_list.c index 431e9a600ed7bc3239e368efaf8b8df29cc628b3..374d236b163780ee612f7d470a45e6c351f6a8b1 100644 --- a/tests/value/va_list.c +++ b/tests/value/va_list.c @@ -1,6 +1,7 @@ -/*run.config* - STDOPT: - STDOPT: #"-variadic-no-translation" +/* run.config* + STDOPT: + EXIT: 1 + STDOPT: #"-variadic-no-translation" */ typedef void *va_list;