Error Buddy
Do you have an error message from your application? Then find the answer with Error Buddy. You can search over 40000 source code files and troubleshooting documents using our beta lucene/nutch search interface or if you prefer, search as normal using google. With LXR technology you can drill right down into the line of source code where it came from with full cross-referencing.
If after searching you didn't get your ideal answer, or you are still unclear what the error means, you can choose to post that question to the community forums following the link included in the search results.
[1.6]001 /* Various declarations for the C and C++ pretty-printers. 002 Copyright (C) 2002 Free Software Foundation, Inc. 003 Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net> 004 005 This file is part of GCC. 006 007 GCC is free software; you can redistribute it and/or modify it under 008 the terms of the GNU General Public License as published by the Free 009 Software Foundation; either version 2, or (at your option) any later 010 version. 011 012 GCC is distributed in the hope that it will be useful, but WITHOUT ANY 013 WARRANTY; without even the implied warranty of MERCHANTABILITY or 014 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 015 for more details. 016 017 You should have received a copy of the GNU General Public License 018 along with GCC; see the file COPYING. If not, write to the Free 019 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 020 02111-1307, USA. */ 021 022 #ifndef GCC_C_PRETTY_PRINTER 023 #define GCC_C_PRETTY_PRINTER 024 025 #include "tree.h" 026 #include "c-common.h" 027 #include "pretty-print.h" 028 029 030 /* The data type used to bundle information necessary for pretty-printing 031 a C or C++ entity. */ 032 typedef struct c_pretty_print_info *c_pretty_printer; 033 034 /* The type of a C pretty-printer 'member' function. */ 035 typedef void (*c_pretty_print_fn) PARAMS ((c_pretty_printer, tree)); 036 037 struct c_pretty_print_info 038 { 039 struct pretty_print_info base; 040 /* Points to the first element of an array of offset-list. 041 Not used yet. */ 042 int *offset_list; 043 044 /* These must be overriden by each of the C and C++ front-end to 045 reflect their understanding of syntatic productions when they differ. */ 046 c_pretty_print_fn declaration; 047 c_pretty_print_fn declaration_specifiers; 048 c_pretty_print_fn type_specifier; 049 c_pretty_print_fn declarator; 050 c_pretty_print_fn direct_declarator; 051 c_pretty_print_fn parameter_declaration; 052 c_pretty_print_fn type_id; 053 054 c_pretty_print_fn statement; 055 056 c_pretty_print_fn primary_expression; 057 c_pretty_print_fn postfix_expression; 058 c_pretty_print_fn unary_expression; 059 c_pretty_print_fn initializer; 060 c_pretty_print_fn multiplicative_expression; 061 c_pretty_print_fn conditional_expression; 062 c_pretty_print_fn assignment_expression; 063 }; 064 065 #define pp_c_left_paren(PPI) \ 066 do { \ 067 pp_left_paren (PPI); \ 068 pp_c_base (PPI)->base.padding = pp_none; \ 069 } while (0) 070 #define pp_c_right_paren(PPI) \ 071 do { \ 072 pp_right_paren (PPI); \ 073 pp_c_base (PPI)->base.padding = pp_none; \ 074 } while (0) 075 #define pp_c_left_bracket(PPI) \ 076 do { \ 077 pp_left_bracket (PPI); \ 078 pp_c_base (PPI)->base.padding = pp_none; \ 079 } while (0) 080 #define pp_c_right_bracket(PPI) \ 081 do { \ 082 pp_right_bracket (PPI); \ 083 pp_c_base (PPI)->base.padding = pp_none; \ 084 } while (0) 085 #define pp_c_whitespace(PPI) \ 086 do { \ 087 pp_whitespace (PPI); \ 088 pp_c_base (PPI)->base.padding = pp_none; \ 089 } while (0) 090 #define pp_c_maybe_whitespace(PPI) \ 091 do { \ 092 if (pp_c_base (PPI)->base.padding != pp_none) \ 093 pp_c_whitespace (PPI); \ 094 } while (0) 095 #define pp_c_identifier(PPI, ID) \ 096 do { \ 097 pp_c_maybe_whitespace (PPI); \ 098 pp_identifier (PPI, ID); \ 099 pp_c_base (PPI)->base.padding = pp_before; \ 100 } while (0) 101 102 #define pp_c_tree_identifier(PPI, ID) \ 103 pp_c_identifier (PPI, IDENTIFIER_POINTER (ID)) 104 105 /* Returns the 'output_buffer *' associated with a PRETTY-PRINTER, the latter 106 being something digestible by pp_c_base. */ 107 #define pp_buffer(PPI) pp_c_base (PPI)->base.buffer 108 109 #define pp_declaration(PPI, T) \ 110 (*pp_c_base (PPI)->declaration) (pp_c_base (PPI), T) 111 #define pp_declaration_specifiers(PPI, D) \ 112 (*pp_c_base (PPI)->declaration_specifiers) (pp_c_base (PPI), D) 113 #define pp_type_specifier(PPI, D) \ 114 (*pp_c_base (PPI)->type_specifier) (pp_c_base (PPI), D) 115 #define pp_declarator(PPI, D) \ 116 (*pp_c_base (PPI)->declarator) (pp_c_base (PPI), D) 117 #define pp_direct_declarator(PPI, D) \ 118 (*pp_c_base (PPI)->direct_declarator) (pp_c_base (PPI), D) 119 #define pp_parameter_declaration(PPI, T) \ 120 (*pp_c_base (PPI)->parameter_declaration) (pp_c_base (PPI), T) 121 #define pp_type_id(PPI, D) \ 122 (*pp_c_base (PPI)->type_id) (pp_c_base (PPI), D) 123 124 #define pp_statement(PPI, S) \ 125 (*pp_c_base (PPI)->statement) (pp_c_base (PPI), S) 126 127 #define pp_primary_expression(PPI, E) \ 128 (*pp_c_base (PPI)->primary_expression) (pp_c_base (PPI), E) 129 #define pp_postfix_expression(PPI, E) \ 130 (*pp_c_base (PPI)->postfix_expression) (pp_c_base (PPI), E) 131 #define pp_unary_expression(PPI, E) \ 132 (*pp_c_base (PPI)->unary_expression) (pp_c_base (PPI), E) 133 #define pp_initializer(PPI, E) \ 134 (*pp_c_base (PPI)->initializer) (pp_c_base (PPI), E) 135 #define pp_multiplicative_expression(PPI, E) \ 136 (*pp_c_base (PPI)->multiplicative_expression) (pp_c_base (PPI), E) 137 #define pp_conditional_expression(PPI, E) \ 138 (*pp_c_base (PPI)->conditional_expression) (pp_c_base (PPI), E) 139 #define pp_assignment_expression(PPI, E) \ 140 (*pp_c_base (PPI)->assignment_expression) (pp_c_base (PPI), E) 141 142 143 /* Returns the c_pretty_printer base object of PRETTY-PRINTER. This 144 macro must be overriden by any subclass of c_pretty_print_info. */ 145 #define pp_c_base(PP) (PP) 146 147 extern void pp_c_pretty_printer_init PARAMS ((c_pretty_printer)); 148 149 /* Declarations. */ 150 void pp_c_attributes PARAMS ((c_pretty_printer, tree)); 151 void pp_c_cv_qualifier PARAMS ((c_pretty_printer, int)); 152 void pp_c_parameter_declaration_clause PARAMS ((c_pretty_printer, tree)); 153 void pp_c_declaration PARAMS ((c_pretty_printer, tree)); 154 /* Statements. */ 155 void pp_c_statement PARAMS ((c_pretty_printer, tree)); 156 /* Expressions. */ 157 void pp_c_expression PARAMS ((c_pretty_printer, tree)); 158 void pp_c_logical_or_expression PARAMS ((c_pretty_printer, tree)); 159 void pp_c_expression_list PARAMS ((c_pretty_printer, tree)); 160 void pp_c_cast_expression PARAMS ((c_pretty_printer, tree)); 161 void pp_c_postfix_expression PARAMS ((c_pretty_printer, tree)); 162 void pp_c_initializer PARAMS ((c_pretty_printer, tree)); 163 void pp_c_literal PARAMS ((c_pretty_printer, tree)); 164 165 #endif /* GCC_C_PRETTY_PRINTER */
Testing
