public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "kargl at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/51605] internal compiler error gfc_trans_block_construct, at fortran/trans-stmt.c:984 Date: Sun, 18 Dec 2011 09:24:00 -0000 [thread overview] Message-ID: <bug-51605-4-V764qEU3Y9@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-51605-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51605 kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #3 from kargl at gcc dot gnu.org 2011-12-18 07:07:22 UTC --- laptop:kargl[499] gfc4x --version GNU Fortran (GCC) 4.7.0 20111124 (experimental) laptop:kargl[500] gfc4x -o z coco.f90 coco.f90: In function 'process_coco_statement': coco.f90:89:0: internal compiler error: in gfc_trans_block_construct, at fortran/trans-stmt.c:1193 Reduced testcase. program coco use, intrinsic :: iso_fortran_env, only: input_unit, output_unit implicit none character( len= *), parameter :: string_fmt = '( a)' character( len= *), parameter :: integer_fmt = '( a, i10)' character( len= *), parameter :: directory_fmt = '( a, i0, a)' character( len= *), parameter :: conversion_fmt = '(i10)' character( len= *), parameter :: null_string = '' character( len= *), parameter :: mark_set_file = 'following SET file' character( len= *), parameter :: alpha_chars = 'abcdefghijklmnopqrstuvwxyz' character( len= *), parameter :: digit_chars = '0123456789' character( len= *), parameter :: underscore = '_' character( len= *), parameter :: alphanum_chars = alpha_chars // digit_chars // underscore character( len= *), parameter :: dot = '.' character( len= *), parameter :: equals = '=' integer, parameter :: format_len = max(3, 12) integer, parameter :: io_specifier_len = 16 integer, parameter :: conversion_len = 10 integer, parameter :: symbol_name_len = 31 integer, parameter :: free_form_len = 131 integer, parameter :: fixed_form_len = 72 integer, parameter :: source_line_len = 12 integer, parameter :: file_name_len = 256 integer, parameter :: max_continuations = 39 type, abstract :: symbol_t logical referenced class(symbol_t), pointer :: next end type symbol_t type, extends(symbol_t) :: logical_t logical logical_value type(logical_t), pointer :: next_logical end type logical_t type, extends(symbol_t) :: integer_t integer integer_value type(integer_t), pointer :: next_integer end type integer_t class( symbol_t), pointer :: first_symbol class( symbol_t), pointer :: last_symbol type( integer_t), pointer :: first_integer type( integer_t), pointer :: last_integer type( logical_t), pointer :: first_logical type( logical_t), pointer :: last_logical class( symbol_t), pointer :: first_sf_symbol class( symbol_t), pointer :: last_sf_symbol type( integer_t), pointer :: first_cl_integer type( integer_t), pointer :: last_cl_integer type( logical_t), pointer :: first_cl_logical type( logical_t), pointer :: last_cl_logical contains subroutine process_coco_statement(coco_stmt) character(len= *), intent(in) :: coco_stmt class(symbol_t), pointer :: symbol_ptr type(integer_t), pointer :: integer_ptr type(logical_t), pointer :: logical_ptr integer eq_idx integer expr_idx nullify( symbol_ptr) eq_idx = scan( coco_stmt( 1: symbol_name_len + len( equals)), equals) got_equals: if( eq_idx > 0 )then call seek_symbol_name( coco_stmt( 1: eq_idx - 1), symbol_ptr) end if got_equals if (associated(symbol_ptr))then expr_idx = eq_idx + len(equals) integer_or_logical: select type(symbol_ptr) type is(integer_t) integer_or_logical integer_ptr => symbol_ptr call process_integer_assignment( coco_stmt( expr_idx: ), integer_ptr) type is(logical_t) integer_or_logical logical_ptr => symbol_ptr call process_logical_assignment( coco_stmt( expr_idx: ), logical_ptr) class default integer_or_logical call msg_quit("target of assignment must ") end select integer_or_logical end if end subroutine process_coco_statement subroutine integer_or_logical( expr_str, flag) character(len= *), intent(in) :: expr_str logical, intent(out) :: flag flag = .true. end subroutine integer_or_logical recursive subroutine eval_int_expr( int_expr, value) character(len= *), intent(in) :: int_expr integer, intent(out) :: value value = 42 end subroutine eval_int_expr end program coco
next prev parent reply other threads:[~2011-12-18 7:07 UTC|newest] Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-12-17 22:46 [Bug fortran/51605] New: " danlnagle at me dot com 2011-12-17 23:26 ` [Bug fortran/51605] " danlnagle at me dot com 2011-12-17 23:48 ` dominiq at lps dot ens.fr 2011-12-18 9:24 ` kargl at gcc dot gnu.org [this message] 2011-12-18 10:08 ` burnus at gcc dot gnu.org 2011-12-18 13:55 ` danlnagle at me dot com 2011-12-18 14:15 ` burnus at gcc dot gnu.org 2011-12-18 16:57 ` sgk at troutmask dot apl.washington.edu 2011-12-19 11:52 ` burnus at gcc dot gnu.org 2011-12-19 13:19 ` burnus at gcc dot gnu.org 2011-12-19 15:32 ` burnus at gcc dot gnu.org 2011-12-19 15:54 ` danlnagle at me dot com 2011-12-19 18:56 ` burnus at gcc dot gnu.org 2011-12-19 20:26 ` burnus at gcc dot gnu.org 2011-12-19 20:30 ` burnus at gcc dot gnu.org 2013-12-14 20:15 ` dominiq at lps dot ens.fr 2013-12-14 22:25 ` janus at gcc dot gnu.org 2023-03-06 17:18 ` anlauf at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-51605-4-V764qEU3Y9@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).