http://sourceware.org/ml/gdb-patches/2012-09/msg00015.html
authorAndrew Burgess <aburgess@broadcom.com>
Fri, 14 Sep 2012 21:23:45 +0000 (21:23 +0000)
committerAndrew Burgess <aburgess@broadcom.com>
Fri, 14 Sep 2012 21:23:45 +0000 (21:23 +0000)
gdb/ChangeLog

        * c-typeprint.c (c_type_print_varspec_suffix): Display the size of
        vector variables using vector_size syntax rather than array
        syntax.

gdb/testsuite/ChangeLog

        * gdb.xml/tdesc-regs.exp: Update expected output for new
        vector_size syntax of vector types.

gdb/ChangeLog
gdb/c-typeprint.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.xml/tdesc-regs.exp

index beaa8c2..b5d48f6 100644 (file)
@@ -1,3 +1,9 @@
+2012-09-14  Andrew Burgess  <aburgess@broadcom.com>
+
+       * c-typeprint.c (c_type_print_varspec_suffix): Display the size of
+       vector variables using vector_size syntax rather than array
+       syntax.
+
 2012-09-14  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
        * valarith.c (value_concat): Replace unsafe ALLOCA with
index b51ced8..92bc47d 100644 (file)
@@ -618,15 +618,17 @@ c_type_print_varspec_suffix (struct type *type,
     case TYPE_CODE_ARRAY:
       {
        LONGEST low_bound, high_bound;
+       int is_vector = TYPE_VECTOR (type);
 
        if (passed_a_ptr)
          fprintf_filtered (stream, ")");
 
-       fprintf_filtered (stream, "[");
+       fprintf_filtered (stream, (is_vector ?
+                                  "__attribute__ ((vector_size(" : "["));
        if (get_array_bounds (type, &low_bound, &high_bound))
          fprintf_filtered (stream, "%d", 
                            (int) (high_bound - low_bound + 1));
-       fprintf_filtered (stream, "]");
+       fprintf_filtered (stream, (is_vector ? ")))" : "]"));
 
        c_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream,
                                     show, 0, 0);
index 98c54a4..7fcf520 100644 (file)
@@ -1,3 +1,8 @@
+2012-09-14  Andrew Burgess  <aburgess@broadcom.com>
+
+       * gdb.xml/tdesc-regs.exp: Update expected output for new
+       vector_size syntax of vector types.
+
 2012-09-13  Khoo Yit Phang  <khooyp@cs.umd.edu>
 
        Refactor Python "gdb" module into a proper Python package, by
index 9a89d7e..6d87dd3 100644 (file)
@@ -137,13 +137,13 @@ proc load_description { file errmsg } {
 load_description "extra-regs.xml" ""
 gdb_test "ptype \$extrareg" "type = (int|long|long long)"
 gdb_test "ptype \$uintreg" "type = uint32_t"
-gdb_test "ptype \$vecreg" "type = int8_t \\\[4\\\]"
+gdb_test "ptype \$vecreg" "type = int8_t __attribute__ \\(\\(vector_size\\(4\\)\\)\\)"
 gdb_test "ptype \$unionreg" \
     "type = union {\r\n *v4int8 v4;\r\n *v2int16 v2;\r\n}"
-gdb_test "ptype \$unionreg.v4" "type = int8_t \\\[4\\\]"
+gdb_test "ptype \$unionreg.v4" "type = int8_t __attribute__ \\(\\(vector_size\\(4\\)\\)\\)"
 gdb_test "ptype \$structreg" \
     "type = struct struct1 {\r\n *v4int8 v4;\r\n *v2int16 v2;\r\n}"
-gdb_test "ptype \$structreg.v4" "type = int8_t \\\[4\\\]"
+gdb_test "ptype \$structreg.v4" "type = int8_t __attribute__ \\(\\(vector_size\\(4\\)\\)\\)"
 gdb_test "ptype \$bitfields" \
     "type = struct struct2 {\r\n *uint64_t f1 : 35;\r\n *uint64_t f2 : 1;\r\n}"