diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2017-02-16 16:45:05 +0100 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2017-02-16 16:45:05 +0100 |
commit | 20c7b4d292ca1e69b66d10e8b0054982fe464714 (patch) | |
tree | 073ff5557711a4b1141445281e56a67764c11c63 /cparser/Cutil.mli | |
parent | 9b63d90b40974eed35bd199fcfc6ccbabb1ed5b7 (diff) | |
download | compcert-20c7b4d292ca1e69b66d10e8b0054982fe464714.tar.gz compcert-20c7b4d292ca1e69b66d10e8b0054982fe464714.zip |
Added handling for noreturn std functions.
The C11 standard declares exit,abort,_Exit,quick_exit and
thrd_exit as _Noreturn however this is not included in older C
libs and leads to false negatives in reporting _Noreturn and
return type warnings. This can be avoided by enhancing the
noreturn check of the Cflow analysis to also test if one of the
above functions is called.
Bug 21009
Diffstat (limited to 'cparser/Cutil.mli')
-rw-r--r-- | cparser/Cutil.mli | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/cparser/Cutil.mli b/cparser/Cutil.mli index a1b9cd26..715cc123 100644 --- a/cparser/Cutil.mli +++ b/cparser/Cutil.mli @@ -210,6 +210,8 @@ val type_of_member : Env.t -> field -> typ (* Return the type of accessing the given field [fld]. Normally it's [fld.fld_type] but there is a special case for small unsigned bitfields. *) +val is_call_to_fun : exp -> string -> bool + (* Test whether the caller is the given function *) val is_debug_stmt : stmt -> bool (* Is the given statement a call to debug builtin? *) val is_literal_0 : exp -> bool |