diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-07-04 18:28:56 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-07-06 03:39:33 +0200 |
commit | c6dff56f6c017cf909ddf03631d513a3fcd15888 (patch) | |
tree | 11a91c34830f108aeed66d9fbca2d7cd615d4eb0 | |
parent | 11db59ea8e96fc4e7163a54c5564cb76a6bacd63 (diff) | |
download | sparse-c6dff56f6c017cf909ddf03631d513a3fcd15888.tar.gz |
predefine: fix multi-token predefine
The function predefine() and its variants are only valid
if they define a single-token value.
However, when a type is signed, predefine_min() will produce
a multi-token value.
Fix this by using add_pre_buffer() instead of predefine().
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | predefine.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/predefine.c b/predefine.c index ff457b38..d05b1018 100644 --- a/predefine.c +++ b/predefine.c @@ -52,7 +52,7 @@ static void predefined_min(const char *name, struct symbol *type) snprintf(buf, sizeof(buf), "__%s_MIN__", name); if (is_signed_type(type)) - predefine(buf, 1, "(-__%s_MAX__ - 1)", name); + add_pre_buffer("#weak_define %s (-__%s_MAX__ - 1)\n", buf, name); else predefine(buf, 1, "0%s", suffix); } |