diff options
Diffstat (limited to 'gdb/expprint.c')
-rw-r--r-- | gdb/expprint.c | 49 |
1 files changed, 14 insertions, 35 deletions
diff --git a/gdb/expprint.c b/gdb/expprint.c index d7d7c87..bdb69a9 100644 --- a/gdb/expprint.c +++ b/gdb/expprint.c @@ -585,17 +585,13 @@ print_subexp_standard (struct expression *exp, int *pos, longest_to_int (exp->elts[pc + 1].longconst); *pos += 2; - if (range_type == NONE_BOUND_DEFAULT_EXCLUSIVE - || range_type == LOW_BOUND_DEFAULT_EXCLUSIVE) + if (range_type & RANGE_HIGH_BOUND_EXCLUSIVE) fputs_filtered ("EXCLUSIVE_", stream); fputs_filtered ("RANGE(", stream); - if (range_type == HIGH_BOUND_DEFAULT - || range_type == NONE_BOUND_DEFAULT - || range_type == NONE_BOUND_DEFAULT_EXCLUSIVE) + if (!(range_type & RANGE_LOW_BOUND_DEFAULT)) print_subexp (exp, pos, stream, PREC_ABOVE_COMMA); fputs_filtered ("..", stream); - if (range_type == LOW_BOUND_DEFAULT - || range_type == NONE_BOUND_DEFAULT) + if (!(range_type & RANGE_HIGH_BOUND_DEFAULT)) print_subexp (exp, pos, stream, PREC_ABOVE_COMMA); fputs_filtered (")", stream); return; @@ -1116,36 +1112,19 @@ dump_subexp_body_standard (struct expression *exp, longest_to_int (exp->elts[elt].longconst); elt += 2; - switch (range_type) - { - case BOTH_BOUND_DEFAULT: - fputs_filtered ("Range '..'", stream); - break; - case LOW_BOUND_DEFAULT: - fputs_filtered ("Range '..EXP'", stream); - break; - case LOW_BOUND_DEFAULT_EXCLUSIVE: - fputs_filtered ("ExclusiveRange '..EXP'", stream); - break; - case HIGH_BOUND_DEFAULT: - fputs_filtered ("Range 'EXP..'", stream); - break; - case NONE_BOUND_DEFAULT: - fputs_filtered ("Range 'EXP..EXP'", stream); - break; - case NONE_BOUND_DEFAULT_EXCLUSIVE: - fputs_filtered ("ExclusiveRange 'EXP..EXP'", stream); - break; - default: - fputs_filtered ("Invalid Range!", stream); - break; - } + if (range_type & RANGE_HIGH_BOUND_EXCLUSIVE) + fputs_filtered ("Exclusive", stream); + fputs_filtered ("Range '", stream); + if (!(range_type & RANGE_LOW_BOUND_DEFAULT)) + fputs_filtered ("EXP", stream); + fputs_filtered ("..", stream); + if (!(range_type & RANGE_HIGH_BOUND_DEFAULT)) + fputs_filtered ("EXP", stream); + fputs_filtered ("'", stream); - if (range_type == HIGH_BOUND_DEFAULT - || range_type == NONE_BOUND_DEFAULT) + if (!(range_type & RANGE_LOW_BOUND_DEFAULT)) elt = dump_subexp (exp, stream, elt); - if (range_type == LOW_BOUND_DEFAULT - || range_type == NONE_BOUND_DEFAULT) + if (!(range_type & RANGE_HIGH_BOUND_DEFAULT)) elt = dump_subexp (exp, stream, elt); } break; |