diff options
author | Andreas Arnez <arnez@linux.vnet.ibm.com> | 2015-04-27 11:38:46 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-04-27 11:38:46 +0200 |
commit | 6dbc9c045741c27435b9b23246c2113221b26c2f (patch) | |
tree | e4575291703cae0fd4073ebbfa579cce63cc0936 /gdb/s390-linux-tdep.c | |
parent | 9e19566105546654ab24b2b58c890fd7e2b9e00c (diff) | |
download | gdb-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.c | 3 |
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, |