From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19392 invoked by alias); 19 Jan 2008 16:04:23 -0000 Received: (qmail 19302 invoked by uid 48); 19 Jan 2008 16:03:40 -0000 Date: Sat, 19 Jan 2008 17:17:00 -0000 Message-ID: <20080119160340.19301.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/34872] [4.3 Regression] Spurious error in snapshot of 01/18/08: Statement at (1) is not a valid branch target statement for the branch statement at (2) In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-01/txt/msg02086.txt.bz2 ------- Comment #1 from burnus at gcc dot gnu dot org 2008-01-19 16:03 ------- Confirm. I think it is a fallout of Paul's typespec patch (PR 34429 et alia). In resolve_branch (which prints the error message), label->defined == ST_LABEL_BAD_TARGET. The problem is probably that ST_GET_FCN_CHARACTERISTICS is not taken care of correctly. check_statement_label has: switch (st) { case ST_END_PROGRAM: [... some more ST_END*] case_executable: case_exec_markers: type = ST_LABEL_TARGET; case ST_FORMAT: type = ST_LABEL_FORMAT; default: type = ST_LABEL_BAD_TARGET; The question is now whether one simply adds the ST_GET_FCN_CHARACTERISTICS to the cases or whether one adds it to, e.g., "#define case_executable" ? -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pault at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |rejects-valid Last reconfirmed|0000-00-00 00:00:00 |2008-01-19 16:03:40 date| | Summary|Spurious error in snapshot |[4.3 Regression] Spurious |of 01/18/08: Statement at |error in snapshot of |(1) is not a valid branch |01/18/08: Statement at (1) |target statement for the |is not a valid branch target |branch statement at (2) |statement for the branch | |statement at (2) http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34872