diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2016-09-23 08:48:48 +0200 |
---|---|---|
committer | Bernhard Schommer <bernhardschommer@gmail.com> | 2016-09-23 08:48:48 +0200 |
commit | 905012098014efe6ac661ca5fdaa30ba80480296 (patch) | |
tree | 175ef31b14aae8ed083920ac42402d1846a476a8 /cparser/Elab.ml | |
parent | 8fcdd1d52fcaec72edbe2bb93054f007392065f6 (diff) | |
download | compcert-905012098014efe6ac661ca5fdaa30ba80480296.tar.gz compcert-905012098014efe6ac661ca5fdaa30ba80480296.zip |
Improved error messages for wrong vararg calls.
Now "expected at least %d" instead of "expected %d". Also improved
error message for __builtin_debug.
Bug 19872
Diffstat (limited to 'cparser/Elab.ml')
-rw-r--r-- | cparser/Elab.ml | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cparser/Elab.ml b/cparser/Elab.ml index 8d14baf1..713ea04e 100644 --- a/cparser/Elab.ml +++ b/cparser/Elab.ml @@ -1940,10 +1940,11 @@ let elab_expr vararg loc env a = | ([],env), _::_ -> let found = argno - 1 in let expected = List.length params + found in - err "too few arguments to function call, expected %d, have %d" expected found; [],env + let vararg = if vararg then "at least " else "" in + err "too few arguments to function call, expected %s%d, have %d" vararg expected found; [],env | (_::_,env), [] -> if vararg - then args + then args else let expected = argno - 1 in let found = List.length (fst args) + expected in |