evaluate: sizeof(bool) could be larger than sizeof(char)

The C standard doesn't require that the size of a _Bool is 1,
its size is implementation defined.

However, in evaluate_sizeof() the assumption is made that
a bool is the same size as a char.

Fix this wrong assumption by using the existing bits_in_bool.

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
diff --git a/evaluate.c b/evaluate.c
index e4d6b73..2fd19ff 100644
--- a/evaluate.c
+++ b/evaluate.c
@@ -2216,7 +2216,7 @@
 	if (is_bool_type(type)) {
 		if (Wsizeof_bool)
 			warning(expr->pos, "expression using sizeof _Bool");
-		size = bits_in_char;
+		size = bits_to_bytes(bits_in_bool) * bits_in_char;
 	if (is_function(type->ctype.base_type)) {