From patchwork Sun Nov 23 20:21:23 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 413459 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 806F614010B for ; Mon, 24 Nov 2014 07:21:44 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; q= dns; s=default; b=dRXCJCGIvdZP32yDPW3NYNp9HVnwYwMfhc/OzQNNhyeI/Z mtUTQJQmSvB8MlWzObSQM1KbcvwbS1ulyztLs2xqLcEOXccXodFwG2UmA7b38nV8 079avdHaFdDxCGPFtefYZr2M8SrcOjIetH9AhE3N3WXg31/Tc20kGUzdc+l+A= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; s= default; bh=Dr4yhCNdlvtckoyxmGj+DdYZs/A=; b=WLA64BVYOoFJdSQpiHhm 2FjWF6wbJjW6cjz1HsSkk1ijOR/P7dhSDyDhF2ZCEBOCZ00QRioO8igU2zI0aMdn yH/ZRm9GWJvw4fWLu6pCZGGEuVHGZZyGdQ353/mLyvldCl5IJYrCaPpUzaGFMrcc N/Zo6jvLqm6qRlm5HDUukgQ= Received: (qmail 21533 invoked by alias); 23 Nov 2014 20:21:30 -0000 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 Received: (qmail 21513 invoked by uid 89); 23 Nov 2014 20:21:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx01.qsc.de Received: from mx01.qsc.de (HELO mx01.qsc.de) (213.148.129.14) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Sun, 23 Nov 2014 20:21:27 +0000 Received: from tux.net-b.de (port-92-194-114-130.dynamic.qsc.de [92.194.114.130]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx01.qsc.de (Postfix) with ESMTPSA id D5CE33CDD1; Sun, 23 Nov 2014 21:21:23 +0100 (CET) Message-ID: <547241C3.1080007@net-b.de> Date: Sun, 23 Nov 2014 21:21:23 +0100 From: Tobias Burnus User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: gcc-patches , gfortran , =?UTF-8?B?TWFudWVsIEzDs3Blei1JYsOhw7Fleg==?= Subject: [Patch, Fortran] Remove gfc_fatal_error_1 This patch depends on Manuel's %L patch. It converts the remaining fatal error calls to the common diagnostic infrastructure and retires (removes) the old gfc_fatal_error_1. I will build and regtest it after Manuel's commit. OK, when it succeeds? Tobias 2014-11-23 Tobias Burnus * error.c (gfc_fatal_error_1): Remove. * gfortran.h (gfc_fatal_error_1): Remove. * check.c (check_co_collective): Change gfc_fatal_error_1 to gfc_fatal_error. * match.c (gfc_match_name): Ditto. * trans-array.c (gfc_conv_array_initializer): Ditto. * trans-stmt.c (gfc_trans_sync): Ditto. diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index 034b329..8da59d5 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -1482,8 +1482,8 @@ check_co_collective (gfc_expr *a, gfc_expr *image_idx, gfc_expr *stat, if (gfc_option.coarray == GFC_FCOARRAY_NONE) { - gfc_fatal_error_1 ("Coarrays disabled at %L, use -fcoarray= to enable", - &a->where); + gfc_fatal_error ("Coarrays disabled at %L, use %<-fcoarray=%> to enable", + &a->where); return false; } diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c index 3a508fa..2378a4b 100644 --- a/gcc/fortran/error.c +++ b/gcc/fortran/error.c @@ -1141,7 +1141,6 @@ gfc_error_now_2 (const char *gmsgid, ...) /* Fatal error, never returns. */ -/* This function uses the common diagnostics, but does not support %L, yet. */ void gfc_fatal_error (const char *gmsgid, ...) @@ -1265,24 +1264,6 @@ gfc_error_now (const char *gmsgid, ...) } -/* Fatal error, never returns. */ -/* Use gfc_fatal_error instead, unless gmsgid contains a %L. */ - -void -gfc_fatal_error_1 (const char *gmsgid, ...) -{ - va_list argp; - - buffer_flag = 0; - - va_start (argp, gmsgid); - error_print (_("Fatal Error:"), _(gmsgid), argp); - va_end (argp); - - exit (FATAL_EXIT_CODE); -} - - /* This shouldn't happen... but sometimes does. */ void diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h index 1ee7dd4..e6effba 100644 --- a/gcc/fortran/gfortran.h +++ b/gcc/fortran/gfortran.h @@ -2706,7 +2706,6 @@ void gfc_warning_check (void); void gfc_error (const char *, ...) ATTRIBUTE_GCC_GFC(1,2); void gfc_error_now (const char *, ...) ATTRIBUTE_GCC_GFC(1,2); void gfc_error_now_2 (const char *gmsgid, ...) ATTRIBUTE_GCC_GFC(1,2); -void gfc_fatal_error_1 (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_GCC_GFC(1,2); void gfc_fatal_error (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_GCC_GFC(1,2); void gfc_internal_error (const char *, ...) ATTRIBUTE_NORETURN ATTRIBUTE_GCC_GFC(1,2); void gfc_clear_error (void); diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c index a03b5f1..a157fe7 100644 --- a/gcc/fortran/match.c +++ b/gcc/fortran/match.c @@ -557,8 +557,8 @@ gfc_match_name (char *buffer) if (c == '$' && !gfc_option.flag_dollar_ok) { - gfc_fatal_error_1 ("Invalid character '$' at %L. Use -fdollar-ok to allow" - " it as an extension", &old_loc); + gfc_fatal_error ("Invalid character %<$%> at %L. Use %<-fdollar-ok%> to " + "allow it as an extension", &old_loc); return MATCH_ERROR; } diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 4e5fd68..218d274 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -5425,11 +5425,12 @@ gfc_conv_array_initializer (tree type, gfc_expr * expr) { /* Problems occur when we get something like integer :: a(lots) = (/(i, i=1, lots)/) */ - gfc_fatal_error_1 ("The number of elements in the array " - "constructor at %L requires an increase of " - "the allowed %d upper limit. See " - "-fmax-array-constructor option", &expr->where, - gfc_option.flag_max_array_constructor); + gfc_fatal_error ("The number of elements in the array " + "constructor at %L requires an increase of " + "the allowed %d upper limit. See " + "%<-fmax-array-constructor%> option", + &expr->where, + gfc_option.flag_max_array_constructor); return NULL_TREE; } if (mpz_cmp_si (c->offset, 0) != 0) diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index a95809c..d17b075 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -865,9 +865,9 @@ gfc_trans_sync (gfc_code *code, gfc_exec_op type) { /* FIXME. */ if (code->expr1->ts.kind != gfc_c_int_kind) - gfc_fatal_error_1 ("Sorry, only support for integer kind %d " - "implemented for image-set at %L", - gfc_c_int_kind, &code->expr1->where); + gfc_fatal_error ("Sorry, only support for integer kind %d " + "implemented for image-set at %L", + gfc_c_int_kind, &code->expr1->where); gfc_conv_array_parameter (&se, code->expr1, true, NULL, NULL, &len); images = se.expr;