From patchwork Mon Jun 28 06:29:30 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [RTL] move rtl diagnostics out of toplev.h Date: Sun, 27 Jun 2010 20:29:30 -0000 From: =?utf-8?b?TWFudWVsIEzDs3Blei1JYsOhw7FleiA8bG9wZXppYmFuZXpAZ21haWwu?= =?utf-8?q?com=3E?= X-Patchwork-Id: 57116 Message-Id: To: Gcc Patch List , Steven Bosscher What the subject says. Bootstrapped on x86_64-linux-gnu. I move the fatal* declarations to rtl.h because they are used by targets, they don't require anything from diagnostics-core.h and I didn't want to add rtl-error.h to every target file. If moving them to rtl-error.h is desirable for some reason, they could always be moved in a follow-up patch. toplev.h is now free of diagnostic and rtl stuff, so it should be possible to not include it anymore in many places. OK? Manuel. 2010-06-28 Manuel López-Ibáñez * toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations to rtl.h. (error_for_asm, warning_for_asm): Move declarations to rtl-error.h. * rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations here. * rtl-error.h: New. * regrename.c: Do not include toplev.h. Include rtl-error.h. * rtl-error.c: Likewise. * reload.c: Likewise. * recog.c: Likewise. * sel-sched.c: Likewise. * function.c: Likewise. * reg-stack.c: Likewise. * cfgrtl.c: Likewise. * reload1.c: Likewise. * final.c: Include rtl-error. Index: gcc/regrename.c =================================================================== --- gcc/regrename.c (revision 161471) +++ gcc/regrename.c (working copy) @@ -20,11 +20,11 @@ #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" -#include "rtl.h" +#include "rtl-error.h" #include "tm_p.h" #include "insn-config.h" #include "regs.h" #include "addresses.h" #include "hard-reg-set.h" @@ -32,11 +32,10 @@ #include "reload.h" #include "output.h" #include "function.h" #include "recog.h" #include "flags.h" -#include "toplev.h" #include "obstack.h" #include "timevar.h" #include "tree-pass.h" #include "df.h" Index: gcc/rtl-error.c =================================================================== --- gcc/rtl-error.c (revision 161471) +++ gcc/rtl-error.c (working copy) @@ -20,15 +20,14 @@ along with GCC; see the file COPYING3. #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" -#include "rtl.h" +#include "rtl-error.h" #include "insn-attr.h" #include "insn-config.h" #include "input.h" -#include "toplev.h" #include "intl.h" #include "diagnostic.h" static location_t location_for_asm (const_rtx); static void diagnostic_for_asm (const_rtx, const char *, va_list *, diagnostic_t) ATTRIBUTE_GCC_DIAG(2,0); Index: gcc/rtl-error.h =================================================================== --- gcc/rtl-error.h (revision 0) +++ gcc/rtl-error.h (revision 0) @@ -0,0 +1,24 @@ +/* RTL specific diagnostic subroutines for GCC + Copyright (C) 2010 Free Software Foundation, Inc. + +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 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or 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 +along with GCC; see the file COPYING3. If not see +. */ + +#include "rtl.h" +#include "diagnostic-core.h" + +extern void error_for_asm (const_rtx, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); +extern void warning_for_asm (const_rtx, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); Index: gcc/reload.c =================================================================== --- gcc/reload.c (revision 161471) +++ gcc/reload.c (working copy) @@ -92,11 +92,11 @@ a register with any other reload. */ #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" -#include "rtl.h" +#include "rtl-error.h" #include "tm_p.h" #include "insn-config.h" #include "expr.h" #include "optabs.h" #include "recog.h" @@ -106,11 +106,10 @@ a register with any other reload. */ #include "addresses.h" #include "hard-reg-set.h" #include "flags.h" #include "output.h" #include "function.h" -#include "toplev.h" #include "params.h" #include "target.h" #include "ira.h" /* True if X is a constant that can be forced into the constant pool. */ Index: gcc/final.c =================================================================== --- gcc/final.c (revision 161471) +++ gcc/final.c (working copy) @@ -60,11 +60,12 @@ along with GCC; see the file COPYING3. #include "flags.h" #include "hard-reg-set.h" #include "output.h" #include "except.h" #include "function.h" -#include "toplev.h" +#include "rtl-error.h" +#include "toplev.h" /* exact_log2, floor_log2 */ #include "reload.h" #include "intl.h" #include "basic-block.h" #include "target.h" #include "debug.h" Index: gcc/toplev.h =================================================================== --- gcc/toplev.h (revision 161471) +++ gcc/toplev.h (working copy) @@ -30,31 +30,19 @@ along with GCC; see the file COPYING3. #define skip_leading_substring(whole, part) \ (strncmp (whole, part, strlen (part)) ? NULL : whole + strlen (part)) extern int toplev_main (int, char **); extern void strip_off_ending (char *, int); -extern void _fatal_insn_not_found (const_rtx, const char *, int, const char *) - ATTRIBUTE_NORETURN; -extern void _fatal_insn (const char *, const_rtx, const char *, int, const char *) - ATTRIBUTE_NORETURN; - -#define fatal_insn(msgid, insn) \ - _fatal_insn (msgid, insn, __FILE__, __LINE__, __FUNCTION__) -#define fatal_insn_not_found(insn) \ - _fatal_insn_not_found (insn, __FILE__, __LINE__, __FUNCTION__) - extern void rest_of_decl_compilation (tree, int, int); extern void rest_of_type_compilation (tree, int); extern void tree_rest_of_compilation (tree); extern void init_optimization_passes (void); extern void finish_optimization_passes (void); extern bool enable_rtl_dump_file (void); extern void announce_function (tree); -extern void error_for_asm (const_rtx, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); -extern void warning_for_asm (const_rtx, const char *, ...) ATTRIBUTE_GCC_DIAG(2,3); extern void warn_deprecated_use (tree, tree); extern bool parse_optimize_options (tree, bool); #ifdef BUFSIZ extern void output_quoted_string (FILE *, const char *); Index: gcc/sel-sched.c =================================================================== --- gcc/sel-sched.c (revision 161471) +++ gcc/sel-sched.c (working copy) @@ -19,21 +19,19 @@ along with GCC; see the file COPYING3. #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" -#include "toplev.h" -#include "rtl.h" +#include "rtl-error.h" #include "tm_p.h" #include "hard-reg-set.h" #include "regs.h" #include "function.h" #include "flags.h" #include "insn-config.h" #include "insn-attr.h" #include "except.h" -#include "toplev.h" #include "recog.h" #include "params.h" #include "target.h" #include "output.h" #include "timevar.h" Index: gcc/recog.c =================================================================== --- gcc/recog.c (revision 161471) +++ gcc/recog.c (working copy) @@ -22,22 +22,21 @@ along with GCC; see the file COPYING3. #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" -#include "rtl.h" +#include "rtl-error.h" #include "tm_p.h" #include "insn-config.h" #include "insn-attr.h" #include "hard-reg-set.h" #include "recog.h" #include "regs.h" #include "addresses.h" #include "expr.h" #include "function.h" #include "flags.h" -#include "toplev.h" #include "basic-block.h" #include "output.h" #include "reload.h" #include "target.h" #include "timevar.h" Index: gcc/function.c =================================================================== --- gcc/function.c (revision 161471) +++ gcc/function.c (working copy) @@ -35,11 +35,11 @@ along with GCC; see the file COPYING3. #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" -#include "rtl.h" +#include "rtl-error.h" #include "tree.h" #include "flags.h" #include "except.h" #include "function.h" #include "expr.h" @@ -49,11 +49,10 @@ along with GCC; see the file COPYING3. #include "hard-reg-set.h" #include "insn-config.h" #include "recog.h" #include "output.h" #include "basic-block.h" -#include "toplev.h" #include "hashtab.h" #include "ggc.h" #include "tm_p.h" #include "integrate.h" #include "langhooks.h" Index: gcc/rtl.h =================================================================== --- gcc/rtl.h (revision 161471) +++ gcc/rtl.h (working copy) @@ -2438,6 +2438,19 @@ extern void set_curr_insn_block (tree); extern tree get_curr_insn_block (void); extern int curr_insn_locator (void); extern bool optimize_insn_for_size_p (void); extern bool optimize_insn_for_speed_p (void); +/* rtl-error.c */ +extern void _fatal_insn_not_found (const_rtx, const char *, int, const char *) + ATTRIBUTE_NORETURN; +extern void _fatal_insn (const char *, const_rtx, const char *, int, const char *) + ATTRIBUTE_NORETURN; + +#define fatal_insn(msgid, insn) \ + _fatal_insn (msgid, insn, __FILE__, __LINE__, __FUNCTION__) +#define fatal_insn_not_found(insn) \ + _fatal_insn_not_found (insn, __FILE__, __LINE__, __FUNCTION__) + + + #endif /* ! GCC_RTL_H */ Index: gcc/reg-stack.c =================================================================== --- gcc/reg-stack.c (revision 161471) +++ gcc/reg-stack.c (working copy) @@ -154,18 +154,17 @@ #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" #include "tree.h" -#include "rtl.h" +#include "rtl-error.h" #include "tm_p.h" #include "function.h" #include "insn-config.h" #include "regs.h" #include "hard-reg-set.h" #include "flags.h" -#include "toplev.h" #include "recog.h" #include "output.h" #include "basic-block.h" #include "cfglayout.h" #include "reload.h" Index: gcc/cfgrtl.c =================================================================== --- gcc/cfgrtl.c (revision 161471) +++ gcc/cfgrtl.c (working copy) @@ -40,19 +40,18 @@ along with GCC; see the file COPYING3. #include "config.h" #include "system.h" #include "coretypes.h" #include "tm.h" #include "tree.h" -#include "rtl.h" #include "hard-reg-set.h" #include "basic-block.h" #include "regs.h" #include "flags.h" #include "output.h" #include "function.h" #include "except.h" -#include "toplev.h" +#include "rtl-error.h" #include "tm_p.h" #include "obstack.h" #include "insn-attr.h" #include "insn-config.h" #include "cfglayout.h" Index: gcc/reload1.c =================================================================== --- gcc/reload1.c (revision 161471) +++ gcc/reload1.c (working copy) @@ -24,11 +24,11 @@ along with GCC; see the file COPYING3. #include "coretypes.h" #include "tm.h" #include "machmode.h" #include "hard-reg-set.h" -#include "rtl.h" +#include "rtl-error.h" #include "tm_p.h" #include "obstack.h" #include "insn-config.h" #include "flags.h" #include "function.h" @@ -39,11 +39,10 @@ along with GCC; see the file COPYING3. #include "basic-block.h" #include "df.h" #include "reload.h" #include "recog.h" #include "output.h" -#include "toplev.h" #include "except.h" #include "tree.h" #include "ira.h" #include "target.h" #include "emit-rtl.h"