+2011-07-01 Jean-Charles Delay <delay@adacore.com>
+
+ * ada-typeprint.c (ada_print_type): Fix both PAD type and
+ pointer to constrained packed array type output.
+ * ada-valprint.c (ada_val_print_1): Fix pointer to constrained
+ packed array output.
+
2011-07-01 Jean-Charles Delay <delay@adacore.com>
* ada-typeprint.c (print_array_type): removed if condition on show
fprintf_filtered (stream, "%.*s: ",
ada_name_prefix_len (varstring), varstring);
- if (type_name != NULL && show <= 0)
+ if (type_name != NULL && show <= 0 && !ada_is_aligner_type (type))
{
fprintf_filtered (stream, "%.*s",
ada_name_prefix_len (type_name), type_name);
if (ada_is_aligner_type (type))
ada_print_type (ada_aligned_type (type), "", stream, show, level);
- else if (ada_is_constrained_packed_array_type (type))
- {
- if (TYPE_CODE (type) == TYPE_CODE_PTR)
- {
- fprintf_filtered (stream, "access ");
- print_array_type (TYPE_TARGET_TYPE (type), stream, show, level);
- }
- else
- {
- print_array_type (type, stream, show, level);
- }
- }
+ else if (ada_is_constrained_packed_array_type (type)
+ && TYPE_CODE (type) != TYPE_CODE_PTR)
+ print_array_type (type, stream, show, level);
else
switch (TYPE_CODE (type))
{
type = ada_check_typedef (type);
if (ada_is_array_descriptor_type (type)
- || ada_is_constrained_packed_array_type (type))
+ || (ada_is_constrained_packed_array_type (type)
+ && TYPE_CODE (type) != TYPE_CODE_PTR))
{
int retn;
struct value *mark = value_mark ();
"ptype &var"
gdb_test "print &var" \
- "= \\(access array \\(4 \\.\\. 8\\) of boolean <packed: 1-bit elements>\\) \\(4 => true, false, true, false, true\\)" \
+ "= \\(access pa.packed_array\\) 0x.*" \
"print &var"
# Print the value of U_Var, an unconstrainted packed array.