summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/c-pretty-print.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/c-pretty-print.c')
-rw-r--r--contrib/gcc/c-pretty-print.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/contrib/gcc/c-pretty-print.c b/contrib/gcc/c-pretty-print.c
index 5225ea3..ee60864 100644
--- a/contrib/gcc/c-pretty-print.c
+++ b/contrib/gcc/c-pretty-print.c
@@ -137,6 +137,15 @@ pp_c_star (c_pretty_printer *pp)
pp_base (pp)->padding = pp_none;
}
+/* APPLE LOCAL begin blocks */
+void
+pp_c_caret (c_pretty_printer *pp)
+{
+ pp_carret (pp);
+ pp_base (pp)->padding = pp_none;
+}
+/* APPLE LOCAL end blocks */
+
void
pp_c_arrow (c_pretty_printer *pp)
{
@@ -260,6 +269,12 @@ pp_c_pointer (c_pretty_printer *pp, tree t)
pp_c_ampersand (pp);
pp_c_type_qualifier_list (pp, t);
break;
+ /* APPLE LOCAL begin blocks */
+ case BLOCK_POINTER_TYPE:
+ pp_c_caret (pp);
+ pp_c_type_qualifier_list (pp, t);
+ break;
+ /* APPLE LOCAL end blocks */
/* ??? This node is now in GENERIC and so shouldn't be here. But
we'll fix that later. */
@@ -405,6 +420,8 @@ pp_c_specifier_qualifier_list (c_pretty_printer *pp, tree t)
{
case REFERENCE_TYPE:
case POINTER_TYPE:
+ /* APPLE LOCAL blocks */
+ case BLOCK_POINTER_TYPE:
{
/* Get the types-specifier of this type. */
tree pointee = strip_pointer_operator (TREE_TYPE (t));
@@ -487,7 +504,10 @@ pp_c_parameter_type_list (c_pretty_printer *pp, tree t)
static void
pp_c_abstract_declarator (c_pretty_printer *pp, tree t)
{
- if (TREE_CODE (t) == POINTER_TYPE)
+ /* APPLE LOCAL begin blocks */
+ if (TREE_CODE (t) == POINTER_TYPE ||
+ TREE_CODE (t) == BLOCK_POINTER_TYPE)
+ /* APPLE LOCAL end blocks */
{
if (TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE
|| TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
@@ -510,6 +530,8 @@ pp_c_direct_abstract_declarator (c_pretty_printer *pp, tree t)
switch (TREE_CODE (t))
{
case POINTER_TYPE:
+ /* APPLE LOCAL blocks */
+ case BLOCK_POINTER_TYPE:
pp_abstract_declarator (pp, t);
break;
@@ -635,6 +657,8 @@ pp_c_direct_declarator (c_pretty_printer *pp, tree t)
case ARRAY_TYPE:
case POINTER_TYPE:
+ /* APPLE LOCAL blocks */
+ case BLOCK_POINTER_TYPE:
pp_abstract_declarator (pp, TREE_TYPE (t));
break;
OpenPOWER on IntegriCloud