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.
+2015-04-27  Andreas Arnez  <arnez@linux.vnet.ibm.com>
+
+       * s390-linux-tdep.c (is_power_of_two): Add comment.  Return
+         false if the argument is zero.
+
 2015-04-27  Pierre-Marie de Rodat  <derodat@adacore.com>
 
        * ada-lang.c (template_to_static_fixed_type): Return input 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,