OSDN Git Service

* timevar.def (TV_SCEV_CONST): New timevar.
[pf3gnuchains/gcc-fork.git] / gcc / diagnostic.h
index 9087617..5bbb135 100644 (file)
@@ -1,5 +1,6 @@
 /* Various declarations for language-independent diagnostics subroutines.
-   Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
+   Free Software Foundation, Inc.
    Contributed by Gabriel Dos Reis <gdr@codesourcery.com>
 
 This file is part of GCC.
@@ -27,7 +28,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 /* Constants used to discriminate diagnostics.  */
 typedef enum
 {
-#define DEFINE_DIAGNOSTIC_KIND(K, M) K,  
+#define DEFINE_DIAGNOSTIC_KIND(K, msgid) K,  
 #include "diagnostic.def"
 #undef DEFINE_DIAGNOSTIC_KIND
   DK_LAST_DIAGNOSTIC_KIND
@@ -42,6 +43,8 @@ typedef struct
   location_t location;
   /* The kind of diagnostic it is about.  */
   diagnostic_t kind;
+  /* Which OPT_* directly controls this diagnostic.  */
+  int option_index;
 } diagnostic_info;
 
 #define pedantic_error_kind() (flag_pedantic_errors ? DK_ERROR : DK_WARNING)
@@ -57,7 +60,7 @@ typedef diagnostic_starter_fn diagnostic_finalizer_fn;
    the context of a diagnostic message.  */
 struct diagnostic_context
 {
-  /* Where most of the diagnostic formatting work is done.   */
+  /* Where most of the diagnostic formatting work is done.  */
   pretty_printer *printer;
 
   /* The number of times we have issued diagnostics.  */
@@ -65,7 +68,14 @@ struct diagnostic_context
 
   /* True if we should display the "warnings are being tread as error"
      message, usually displayed once per compiler run.  */
-  bool warnings_are_errors_message;
+  bool issue_warnings_are_errors_message;
+  
+  /* True if it has been requested that warnings be treated as errors.  */
+  bool warning_as_error_requested;
+
+  /* True if we should print the command line option which controls
+     each diagnostic, if known.  */
+  bool show_option_requested;
 
   /* True if we should raise a SIGABRT on errors.  */
   bool abort_on_error;
@@ -94,9 +104,6 @@ struct diagnostic_context
   int last_module;
 
   int lock;
-  
-  /* Hook for front-end extensions.  */
-  void *x_data;
 };
 
 /* Client supplied function to announce a diagnostic.  */
@@ -182,4 +189,14 @@ extern char *diagnostic_build_prefix (diagnostic_info *);
 extern void verbatim (const char *, ...);
 extern char *file_name_as_prefix (const char *);
 
+/* In tree-pretty-print.c  */
+extern int dump_generic_node (pretty_printer *, tree, int, int, bool);
+extern void print_generic_stmt (FILE *, tree, int);
+extern void print_generic_stmt_indented (FILE *, tree, int, int);
+extern void print_generic_expr (FILE *, tree, int);
+extern void print_generic_decl (FILE *, tree, int);
+
+extern void debug_generic_expr (tree);
+extern void debug_generic_stmt (tree);
+extern void debug_c_tree (tree);
 #endif /* ! GCC_DIAGNOSTIC_H */