OSDN Git Service

2010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
[pf3gnuchains/gcc-fork.git] / gcc / c-pretty-print.c
index 0177001..12f1841 100644 (file)
@@ -1,5 +1,5 @@
 /* Subroutines common to both C and C++ pretty-printers.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
 
@@ -454,11 +454,17 @@ pp_c_specifier_qualifier_list (c_pretty_printer *pp, tree t)
 
     case VECTOR_TYPE:
     case COMPLEX_TYPE:
-      pp_c_specifier_qualifier_list (pp, TREE_TYPE (t));
       if (code == COMPLEX_TYPE)
        pp_c_ws_string (pp, flag_isoc99 ? "_Complex" : "__complex__");
       else if (code == VECTOR_TYPE)
-       pp_c_ws_string (pp, "__vector__");
+       {
+         pp_c_ws_string (pp, "__vector");
+         pp_c_left_paren (pp);
+         pp_wide_integer (pp, TYPE_VECTOR_SUBPARTS (t));
+         pp_c_right_paren (pp);
+         pp_c_whitespace (pp);
+       }
+      pp_c_specifier_qualifier_list (pp, TREE_TYPE (t));
       break;
 
     default:
@@ -847,7 +853,7 @@ pp_c_integer_constant (c_pretty_printer *pp, tree i)
          high = ~high + !low;
          low = -low;
        }
-      sprintf (pp_buffer (pp)->digit_buffer, HOST_WIDE_INT_PRINT_DOUBLE_HEX, 
+      sprintf (pp_buffer (pp)->digit_buffer, HOST_WIDE_INT_PRINT_DOUBLE_HEX,
               (unsigned HOST_WIDE_INT) high, (unsigned HOST_WIDE_INT) low);
       pp_string (pp, pp_buffer (pp)->digit_buffer);
     }
@@ -1953,7 +1959,7 @@ pp_c_conditional_expression (c_pretty_printer *pp, tree e)
 static void
 pp_c_assignment_expression (c_pretty_printer *pp, tree e)
 {
-  if (TREE_CODE (e) == MODIFY_EXPR 
+  if (TREE_CODE (e) == MODIFY_EXPR
       || TREE_CODE (e) == INIT_EXPR)
     {
       pp_c_unary_expression (pp, TREE_OPERAND (e, 0));