From patchwork Mon Jun 28 06:29:30 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?TWFudWVsIEzDs3Blei1JYsOhw7Fleg==?= X-Patchwork-Id: 57116 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id BB081B6F07 for ; Mon, 28 Jun 2010 16:30:02 +1000 (EST) Received: (qmail 781 invoked by alias); 28 Jun 2010 06:30:00 -0000 Received: (qmail 771 invoked by uid 22791); 28 Jun 2010 06:29:58 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM X-Spam-Check-By: sourceware.org Received: from mail-wy0-f175.google.com (HELO mail-wy0-f175.google.com) (74.125.82.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 28 Jun 2010 06:29:53 +0000 Received: by wyb36 with SMTP id 36so2040148wyb.20 for ; Sun, 27 Jun 2010 23:29:50 -0700 (PDT) Received: by 10.216.164.70 with SMTP id b48mr7724859wel.21.1277706590197; Sun, 27 Jun 2010 23:29:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.28.76 with HTTP; Sun, 27 Jun 2010 23:29:30 -0700 (PDT) From: =?ISO-8859-1?Q?Manuel_L=F3pez=2DIb=E1=F1ez?= Date: Mon, 28 Jun 2010 08:29:30 +0200 Message-ID: Subject: [RTL] move rtl diagnostics out of toplev.h To: Gcc Patch List , Steven Bosscher X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org 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"