OSDN Git Service

* config/s390/s390.c (s390_fixup_clobbered_return_reg):
[pf3gnuchains/gcc-fork.git] / gcc / c-common.h
index 4c60d29..20c7c39 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions for c-common.c.
    Copyright (C) 1987, 1993, 1994, 1995, 1997, 1998,
-   1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -121,7 +121,7 @@ enum rid
 
 /* The elements of `ridpointers' are identifier nodes for the reserved
    type names and storage classes.  It is indexed by a RID_... value.  */
-extern tree *ridpointers;
+extern GTY ((length ("(int)RID_MAX"))) tree *ridpointers;
 
 /* Standard named or nameless data types of the C compiler.  */
 
@@ -177,7 +177,7 @@ enum c_tree_index
 struct c_common_identifier GTY(())
 {
   struct tree_common common;
-  struct cpp_hashnode GTY ((skip (""))) node;
+  struct cpp_hashnode node;
 };
 
 #define wchar_type_node                        c_global_trees[CTI_WCHAR_TYPE]
@@ -332,12 +332,13 @@ extern tree walk_stmt_tree                        PARAMS ((tree *,
                                                         void *));
 extern void prep_stmt                           PARAMS ((tree));
 extern void expand_stmt                         PARAMS ((tree));
-extern void shadow_warning                     PARAMS ((const char *,
-                                                        tree, tree));
 extern tree c_begin_if_stmt                    PARAMS ((void));
 extern tree c_begin_while_stmt                 PARAMS ((void));
 extern void c_finish_while_stmt_cond           PARAMS ((tree, tree));
 
+enum sw_kind { SW_PARAM = 0, SW_LOCAL, SW_GLOBAL };
+extern void shadow_warning                     PARAMS ((enum sw_kind, int,
+                                                        const char *, tree));
 
 /* Extra information associated with a DECL.  Other C dialects extend
    this structure in various ways.  The C front-end only uses this
@@ -360,13 +361,42 @@ struct c_lang_decl GTY(()) {
 
 extern c_language_kind c_language;
 
+/* Nonzero if we can read a PCH file now.  */
+
+extern int allow_pch;
+\f
 /* Switches common to the C front ends.  */
 
 /* Nonzero if prepreprocessing only.  */
+
 extern int flag_preprocess_only;
 
+/* Nonzero means don't output line number information.  */
+
+extern char flag_no_line_commands;
+
+/* Nonzero causes -E output not to be done, but directives such as
+   #define that have side effects are still obeyed.  */
+
+extern char flag_no_output;
+
+/* Nonzero means dump macros in some fashion; contains the 'D', 'M' or
+   'N' of the command line switch.  */
+
+extern char flag_dump_macros;
+
+/* Nonzero means pass #include lines through to the output.  */
+
+extern char flag_dump_includes;
+
+/* The file name to which we should write a precompiled header, or
+   NULL if no header will be written in this compile.  */
+
+extern const char *pch_file;
+
 /* Nonzero if an ISO standard was selected.  It rejects macros in the
    user's namespace.  */
+
 extern int flag_iso;
 
 /* Nonzero whenever Objective-C functionality is being used.  */
@@ -374,6 +404,7 @@ extern int flag_objc;
 
 /* Nonzero if -undef was given.  It suppresses target built-in macros
    and assertions.  */
+
 extern int flag_undef;
 
 /* Nonzero means don't recognize the non-ANSI builtin functions.  */
@@ -931,8 +962,8 @@ extern void disable_builtin_function                PARAMS ((const char *));
 extern tree build_va_arg                       PARAMS ((tree, tree));
 
 extern void c_common_init_options              PARAMS ((enum c_language_kind));
-extern bool c_common_post_options              PARAMS ((void));
-extern const char *c_common_init               PARAMS ((const char *));
+extern bool c_common_post_options              PARAMS ((const char **));
+extern bool c_common_init                      PARAMS ((void));
 extern void c_common_finish                    PARAMS ((void));
 extern void c_common_parse_file                        PARAMS ((int));
 extern HOST_WIDE_INT c_common_get_alias_set    PARAMS ((tree));
@@ -998,7 +1029,7 @@ extern tree strip_array_types                   PARAMS ((tree));
 /* GOTO_STMT accessor. This gives access to the label associated with
    a goto statement.  */
 #define GOTO_DESTINATION(NODE)  TREE_OPERAND (GOTO_STMT_CHECK (NODE), 0)
-/* True for goto created artifically by the compiler.  */
+/* True for goto created artificially by the compiler.  */
 #define GOTO_FAKE_P(NODE)      (TREE_LANG_FLAG_0 (GOTO_STMT_CHECK (NODE)))
 
 /* COMPOUND_STMT accessor. This gives access to the TREE_LIST of
@@ -1231,9 +1262,9 @@ extern int c_staticp                            PARAMS ((tree));
 
 extern int c_common_unsafe_for_reeval          PARAMS ((tree));
 
-extern const char *init_c_lex                  PARAMS ((const char *));
+extern void init_c_lex                         PARAMS ((void));
 
-extern void cb_register_builtins               PARAMS ((cpp_reader *));
+extern void c_cpp_builtins                     PARAMS ((cpp_reader *));
 
 /* Positive if an implicit `extern "C"' scope has just been entered;
    negative if such a scope has just been exited.  */
@@ -1251,6 +1282,25 @@ struct c_fileinfo
 struct c_fileinfo *get_fileinfo                        PARAMS ((const char *));
 extern void dump_time_statistics               PARAMS ((void));
 
-extern int c_dump_tree                         PARAMS ((void *, tree));
+extern bool c_dump_tree                                PARAMS ((void *, tree));
+
+extern void pch_init                           PARAMS ((void));
+extern int c_common_valid_pch                  PARAMS ((cpp_reader *pfile,
+                                                        const char *name,
+                                                        int fd));
+extern void c_common_read_pch                  PARAMS ((cpp_reader *pfile,
+                                                        const char *name,
+                                                        int fd,
+                                                        const char *orig));
+extern void c_common_write_pch                 PARAMS ((void));
+extern void builtin_define_with_value          PARAMS ((const char *,
+                                                        const char *, int));
+extern void c_stddef_cpp_builtins              PARAMS ((void));
+extern void fe_file_change             PARAMS ((const struct line_map *));
+
+/* In c-ppoutput.c  */
+extern void init_pp_output                     PARAMS ((FILE *));
+extern void preprocess_file                    PARAMS ((cpp_reader *));
+extern void pp_file_change             PARAMS ((const struct line_map *));
 
 #endif /* ! GCC_C_COMMON_H */