OSDN Git Service

* config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
[pf3gnuchains/gcc-fork.git] / gcc / c-pretty-print.h
index 2bc1dbc..8f12bb0 100644 (file)
@@ -1,12 +1,12 @@
 /* Various declarations for the C and C++ pretty-printers.
 /* Various declarations for the C and C++ pretty-printers.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2007, 2009 Free Software Foundation, Inc.
    Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
 
 This file is part of GCC.
 
 GCC is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
    Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
 
 This file is part of GCC.
 
 GCC is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
+Software Foundation; either version 3, or (at your option) any later
 version.
 
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
 version.
 
 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
@@ -15,9 +15,8 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
+along with GCC; see the file COPYING3.  If not see
+<http://www.gnu.org/licenses/>.  */
 
 #ifndef GCC_C_PRETTY_PRINTER
 #define GCC_C_PRETTY_PRINTER
 
 #ifndef GCC_C_PRETTY_PRINTER
 #define GCC_C_PRETTY_PRINTER
@@ -30,7 +29,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 typedef enum
   {
      pp_c_flag_abstract = 1 << 1,
 typedef enum
   {
      pp_c_flag_abstract = 1 << 1,
-     pp_c_flag_last_bit = 2    
+     pp_c_flag_last_bit = 2
   } pp_c_pretty_print_flags;
 
 
   } pp_c_pretty_print_flags;
 
 
@@ -46,7 +45,7 @@ typedef void (*c_pretty_print_fn) (c_pretty_printer *, tree);
    language using C/c++ syntax can derive from this datatype and reuse
    facilities provided here.  It can do so by having a subobject of type
    c_pretty_printer and override the macro pp_c_base to return a pointer
    language using C/c++ syntax can derive from this datatype and reuse
    facilities provided here.  It can do so by having a subobject of type
    c_pretty_printer and override the macro pp_c_base to return a pointer
-   to that subobject.  Such a pretty-printer has the responsability to
+   to that subobject.  Such a pretty-printer has the responsibility to
    initialize the pp_base() part, then call pp_c_pretty_printer_init
    to set up the components that are specific to the C pretty-printer.
    A derived pretty-printer can override any function listed in the
    initialize the pp_base() part, then call pp_c_pretty_printer_init
    to set up the components that are specific to the C pretty-printer.
    A derived pretty-printer can override any function listed in the
@@ -60,7 +59,7 @@ struct c_pretty_print_info
   int *offset_list;
 
   pp_flags flags;
   int *offset_list;
 
   pp_flags flags;
-   
+
   /* These must be overridden by each of the C and C++ front-end to
      reflect their understanding of syntactic productions when they differ.  */
   c_pretty_print_fn declaration;
   /* These must be overridden by each of the C and C++ front-end to
      reflect their understanding of syntactic productions when they differ.  */
   c_pretty_print_fn declaration;
@@ -80,6 +79,7 @@ struct c_pretty_print_info
 
   c_pretty_print_fn statement;
 
 
   c_pretty_print_fn statement;
 
+  c_pretty_print_fn constant;
   c_pretty_print_fn id_expression;
   c_pretty_print_fn primary_expression;
   c_pretty_print_fn postfix_expression;
   c_pretty_print_fn id_expression;
   c_pretty_print_fn primary_expression;
   c_pretty_print_fn postfix_expression;
@@ -95,7 +95,7 @@ struct c_pretty_print_info
 #undef pp_base
 #define pp_base(PP)  (&pp_c_base (PP)->base)
 
 #undef pp_base
 #define pp_base(PP)  (&pp_c_base (PP)->base)
 
-     
+
 #define pp_c_tree_identifier(PPI, ID)              \
    pp_c_identifier (PPI, IDENTIFIER_POINTER (ID))
 
 #define pp_c_tree_identifier(PPI, ID)              \
    pp_c_identifier (PPI, IDENTIFIER_POINTER (ID))
 
@@ -106,7 +106,7 @@ struct c_pretty_print_info
 #define pp_abstract_declarator(PP, D)             \
    pp_c_base (PP)->abstract_declarator (pp_c_base (PP), D)
 #define pp_type_specifier_seq(PPI, D)             \
 #define pp_abstract_declarator(PP, D)             \
    pp_c_base (PP)->abstract_declarator (pp_c_base (PP), D)
 #define pp_type_specifier_seq(PPI, D)             \
-   pp_c_base (PPI)->type_specifie_seqr (pp_c_base (PPI), D)
+   pp_c_base (PPI)->type_specifier_seq (pp_c_base (PPI), D)
 #define pp_declarator(PPI, D)                     \
    pp_c_base (PPI)->declarator (pp_c_base (PPI), D)
 #define pp_direct_declarator(PPI, D)              \
 #define pp_declarator(PPI, D)                     \
    pp_c_base (PPI)->declarator (pp_c_base (PPI), D)
 #define pp_direct_declarator(PPI, D)              \
@@ -129,6 +129,8 @@ struct c_pretty_print_info
 #define pp_statement(PPI, S)                      \
   pp_c_base (PPI)->statement (pp_c_base (PPI), S)
 
 #define pp_statement(PPI, S)                      \
   pp_c_base (PPI)->statement (pp_c_base (PPI), S)
 
+#define pp_constant(PP, E) \
+  pp_c_base (PP)->constant (pp_c_base (PP), E)
 #define pp_id_expression(PP, E)  \
   pp_c_base (PP)->id_expression (pp_c_base (PP), E)
 #define pp_primary_expression(PPI, E)             \
 #define pp_id_expression(PP, E)  \
   pp_c_base (PP)->id_expression (pp_c_base (PP), E)
 #define pp_primary_expression(PPI, E)             \
@@ -159,13 +161,19 @@ void pp_c_left_paren (c_pretty_printer *);
 void pp_c_right_paren (c_pretty_printer *);
 void pp_c_left_brace (c_pretty_printer *);
 void pp_c_right_brace (c_pretty_printer *);
 void pp_c_right_paren (c_pretty_printer *);
 void pp_c_left_brace (c_pretty_printer *);
 void pp_c_right_brace (c_pretty_printer *);
+void pp_c_left_bracket (c_pretty_printer *);
+void pp_c_right_bracket (c_pretty_printer *);
 void pp_c_dot (c_pretty_printer *);
 void pp_c_ampersand (c_pretty_printer *);
 void pp_c_dot (c_pretty_printer *);
 void pp_c_ampersand (c_pretty_printer *);
+void pp_c_star (c_pretty_printer *);
 void pp_c_arrow (c_pretty_printer *);
 void pp_c_semicolon (c_pretty_printer *);
 void pp_c_arrow (c_pretty_printer *);
 void pp_c_semicolon (c_pretty_printer *);
+void pp_c_complement (c_pretty_printer *);
+void pp_c_exclamation (c_pretty_printer *);
 void pp_c_space_for_pointer_operator (c_pretty_printer *, tree);
 
 /* Declarations.  */
 void pp_c_space_for_pointer_operator (c_pretty_printer *, tree);
 
 /* Declarations.  */
+void pp_c_tree_decl_identifier (c_pretty_printer *, tree);
 void pp_c_function_definition (c_pretty_printer *, tree);
 void pp_c_attributes (c_pretty_printer *, tree);
 void pp_c_type_qualifier_list (c_pretty_printer *, tree);
 void pp_c_function_definition (c_pretty_printer *, tree);
 void pp_c_attributes (c_pretty_printer *, tree);
 void pp_c_type_qualifier_list (c_pretty_printer *, tree);
@@ -186,6 +194,7 @@ void pp_c_statement (c_pretty_printer *, tree);
 void pp_c_expression (c_pretty_printer *, tree);
 void pp_c_logical_or_expression (c_pretty_printer *, tree);
 void pp_c_expression_list (c_pretty_printer *, tree);
 void pp_c_expression (c_pretty_printer *, tree);
 void pp_c_logical_or_expression (c_pretty_printer *, tree);
 void pp_c_expression_list (c_pretty_printer *, tree);
+void pp_c_constructor_elts (c_pretty_printer *, VEC(constructor_elt,gc) *);
 void pp_c_call_argument_list (c_pretty_printer *, tree);
 void pp_c_unary_expression (c_pretty_printer *, tree);
 void pp_c_cast_expression (c_pretty_printer *, tree);
 void pp_c_call_argument_list (c_pretty_printer *, tree);
 void pp_c_unary_expression (c_pretty_printer *, tree);
 void pp_c_cast_expression (c_pretty_printer *, tree);
@@ -194,7 +203,10 @@ void pp_c_primary_expression (c_pretty_printer *, tree);
 void pp_c_init_declarator (c_pretty_printer *, tree);
 void pp_c_constant (c_pretty_printer *, tree);
 void pp_c_id_expression (c_pretty_printer *, tree);
 void pp_c_init_declarator (c_pretty_printer *, tree);
 void pp_c_constant (c_pretty_printer *, tree);
 void pp_c_id_expression (c_pretty_printer *, tree);
+void pp_c_ws_string (c_pretty_printer *, const char *);
 void pp_c_identifier (c_pretty_printer *, const char *);
 void pp_c_string_literal (c_pretty_printer *, tree);
 
 void pp_c_identifier (c_pretty_printer *, const char *);
 void pp_c_string_literal (c_pretty_printer *, tree);
 
+void print_c_tree (FILE *file, tree t);
+
 #endif /* GCC_C_PRETTY_PRINTER */
 #endif /* GCC_C_PRETTY_PRINTER */