aboutsummaryrefslogtreecommitdiff
path: root/gdb/s390-linux-tdep.c
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2015-04-27 11:38:46 +0200
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2015-04-27 11:38:46 +0200
commit6dbc9c045741c27435b9b23246c2113221b26c2f (patch)
treee4575291703cae0fd4073ebbfa579cce63cc0936 /gdb/s390-linux-tdep.c
parent9e19566105546654ab24b2b58c890fd7e2b9e00c (diff)
downloadgdb-6dbc9c045741c27435b9b23246c2113221b26c2f.zip
gdb-6dbc9c045741c27435b9b23246c2113221b26c2f.tar.gz
gdb-6dbc9c045741c27435b9b23246c2113221b26c2f.tar.bz2
S390: For zero, let is_power_of_two() return false
This fixes a minor issue with the helper function is_power_of_two(), which returned non-zero ("true") if the argument was zero. This led to a wrong decision when passing a zero-sized struct in an inferior function call. gdb/ChangeLog: * s390-linux-tdep.c (is_power_of_two): Add comment. Return false if the argument is zero.
Diffstat (limited to 'gdb/s390-linux-tdep.c')
-rw-r--r--gdb/s390-linux-tdep.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c
index b83a264..44feee7 100644
--- a/gdb/s390-linux-tdep.c
+++ b/gdb/s390-linux-tdep.c
@@ -2484,11 +2484,12 @@ is_float_like (struct type *type)
|| is_float_singleton (type));
}
+/* Determine whether N is a power of two. */
static int
is_power_of_two (unsigned int n)
{
- return ((n & (n - 1)) == 0);
+ return n && ((n & (n - 1)) == 0);
}
/* Return non-zero if TYPE should be passed as a pointer to a copy,