summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2018-06-15 17:25:57 -0700
committerH. Peter Anvin <hpa@zytor.com>2018-06-15 17:25:57 -0700
commit14a10935f7497f0dc9de1f0247e9506565e43da6 (patch)
tree76cc7ca61c5298f49aeabacd6d363ebe6a1b891c
parent430d41ede82babfbcc0d576cb0a83b09a9d62f7b (diff)
parent7daa26f9ba3ca45813d16ce540564448c13b16fa (diff)
downloadnasm-14a10935f7497f0dc9de1f0247e9506565e43da6.tar.gz
Merge commit '7daa26f9ba3ca45813d16ce540564448c13b16fa' into nasm-2.14.xx
Merge in some warning workarounds/possible bugs discovered by a recent gcc. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
-rw-r--r--asm/listing.c2
-rw-r--r--asm/parser.c3
-rw-r--r--configure.ac3
3 files changed, 6 insertions, 2 deletions
diff --git a/asm/listing.c b/asm/listing.c
index 40af8a62..6c459e13 100644
--- a/asm/listing.c
+++ b/asm/listing.c
@@ -199,7 +199,7 @@ static void list_address(int64_t offset, const char *brackets,
static void list_output(const struct out_data *data)
{
- char q[20];
+ char q[24];
uint64_t size = data->size;
uint64_t offset = data->offset;
const uint8_t *p = data->data;
diff --git a/asm/parser.c b/asm/parser.c
index 622259c8..40188410 100644
--- a/asm/parser.c
+++ b/asm/parser.c
@@ -436,6 +436,8 @@ insn *parse_line(int pass, char *buffer, insn *result)
bool recover;
int i;
+ nasm_static_assert(P_none == 0);
+
restart_parse:
first = true;
result->forw_ref = false;
@@ -444,7 +446,6 @@ restart_parse:
stdscan_set(buffer);
i = stdscan(NULL, &tokval);
- nasm_static_assert(P_none == 0);
memset(result->prefixes, P_none, sizeof(result->prefixes));
result->times = 1; /* No TIMES either yet */
result->label = NULL; /* Assume no label */
diff --git a/configure.ac b/configure.ac
index ff2d91df..e707158c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -278,6 +278,9 @@ dnl Suppress format warning on Windows targets due to their <inttypes.h>
PA_ADD_CFLAGS([-Wpedantic-ms-format],[-Wno-pedantic-ms-format])
PA_ADD_CFLAGS([-Wc90-c99-compat])
PA_ADD_CFLAGS([-Wlong-long],[-Wno-long-long])
+dnl This is needed because we intentionally expect strncpy() to fill
+dnl in a zero-padded (not zero-terminated) buffer in several backends
+PA_ADD_CFLAGS([-Wstringop-truncation],[-Wno-stringop-truncation])
dnl PA_ADD_CFLAGS([-Wwrite-strings])
PA_ARG_ENABLED([werror],
[compile with -Werror to error out on any warning],