http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56138



             Bug #: 56138

           Summary: Deferred-length character RESULT: ICE in

                    gfc_add_modify_loc

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Keywords: ice-on-valid-code

          Severity: normal

          Priority: P3

         Component: fortran

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: bur...@gcc.gnu.org

                CC: pa...@gcc.gnu.org

            Blocks: 45170





See report at http://gcc.gnu.org/ml/fortran/2013-01/msg00206.html,

see F200x's version of iso varying string at

ftp://ftp.nag.co.uk/sc22wg5/N1901-N1950/N1913.txt



The following test case - with and without PURE - fails with:



foo.f90: In function 's_to_c':

foo.f90:5:0: internal compiler error: in gfc_add_modify_loc, at

fortran/trans.c:159

     s_to_c = string

 ^

0x5b8e97 gfc_add_modify_loc(unsigned int, stmtblock_t*, tree_node*, tree_node*)

        ../../gcc/fortran/trans.c:158

0x5f3af0 alloc_scalar_allocatable_for_assignment

        ../../gcc/fortran/trans-expr.c:7629

0x5f3af0 gfc_trans_assignment_1

        ../../gcc/fortran/trans-expr.c:7788





 PURE FUNCTION s_to_c (string)

  CHARACTER(LEN=*), INTENT(IN)  :: string 

  CHARACTER(LEN=:), ALLOCATABLE :: s_to_c 

  s_to_c = string

 ENDFUNCTION s_to_c

Reply via email to