This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/30381] [4.1 and 4.2] ISHFTC() constant folding is broken.



------- Comment #5 from fxcoudert at gcc dot gnu dot org  2007-02-16 12:19 -------
Subject: Bug 30381

Author: fxcoudert
Date: Fri Feb 16 12:19:01 2007
New Revision: 122039

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122039
Log:
2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/30720
        * trans-array.c (gfc_trans_create_temp_array): Remove use of the
        function argument. Always generate code for negative extent.
        Simplify said code.
        * trans-array.h (gfc_trans_create_temp_array): Change prototype.
        * trans-expr.c (gfc_conv_function_call): Remove use of last argument
        of gfc_trans_create_temp_array.
        * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
        * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/30611
        * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
        arguments only once. Generate check that NCOPIES argument is not
        negative.

2007-02-16  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/30389
        * gfortran.h:  Remove gfc_simplify_init_1.
        * arith.h:  Remove third argument from gfc_compare_string.
        * arith.c(gfc_compare_expression):  Remove third argument
        from call to gfc_compare_string.
        (gfc_compare_string):  Remove third argument xcoll_table.
        Remove use of xcoll_table.
        * misc.c(gfc_init_1):  Remove call to gfc_simplify_init_1.
        * simplify.c(ascii_table):  Remove.
        (xascii_table): Likewise.
        (gfc_simplify_achar):  ICE if extract_int fails.  Remove use of
        ascii_table.  Warn if -Wsurprising and value < 0 or > 127.
        (gfc_simplify_char):  ICE if extract_int fails. Error if
        value < 0 or value > 255.
        (gfc_simplify_iachar):  Remove use of xascii_table.
        Char values outside of 0..255 are an ICE.
        (gfc_simplify_lge):  Remove use of xascii_table.
        (gfc_simplify_lgt):  Likewise.
        (gfc_simplify_lle):  Likewise.
        (gfc_simplify_llt):  Likewise.
        (invert_table):  Remove.
        (gfc_simplify_init_1):  Remove.

2007-02-16  Brooks Moses  <brooks.moses@codesourcery.com>

        PR 30381
        PR 30420
        * simplify.c (convert_mpz_to_unsigned): New function.
        (convert_mpz_to_signed): New function, largely based on
        twos_complement().
        (twos_complement): Removed.
        (gfc_simplify_ibclr): Add conversions to and from an
        unsigned representation before bit-twiddling.
        (gfc_simplify_ibset): Same.
        (gfc_simplify_ishftc): Add checks for overly large
        constant arguments, only check the third argument if
        it's present, carry over high bits into the result as
        appropriate, and perform the final conversion back to
        a signed representation using the correct sign bit.
        (gfc_simplify_not): Removed unnecessary masking.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/30720
        * gfortran.dg/array_function_1.f90: New test.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/30611
        * gcc/testsuite/gfortran.dg/repeat_1.f90: New test.

2007-02-16  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/30389
        * gfortran.dg/achar_2.f90:  New test.
        * gfortran.dg/achar_3.f90:  New test.

2007-02-16  Brooks Moses  <brooks.moses@codesourcery.com>

        * gfortran.dg/chkbits.f90: Added IBCLR tests; test calls
        for different integer kinds.
        * gfortran.dg/ishft.f90: Renamed to ishft_1.f90...
        * gfortran.dg/ishft_1.f90: ...Renamed from ishft.f90.
        * gfortran.dg/ishft_2.f90: New test.
        * gfortran.dg/ishft_3.f90: New test.

2007-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>

        PR fortran/30611
        * intrinsics/string_intrinsics.c (string_repeat): Don't check
        if ncopies is negative.

Added:
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/achar_2.f90
      - copied unchanged from r121255,
trunk/gcc/testsuite/gfortran.dg/achar_2.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/achar_3.f90
      - copied unchanged from r121255,
trunk/gcc/testsuite/gfortran.dg/achar_3.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/array_function_1.f90
      - copied unchanged from r121773,
trunk/gcc/testsuite/gfortran.dg/array_function_1.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/ishft_1.f90
      - copied unchanged from r120634,
trunk/gcc/testsuite/gfortran.dg/ishft_1.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/ishft_2.f90
      - copied unchanged from r120634,
trunk/gcc/testsuite/gfortran.dg/ishft_2.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/ishft_3.f90
      - copied unchanged from r120634,
trunk/gcc/testsuite/gfortran.dg/ishft_3.f90
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/repeat_1.f90
      - copied unchanged from r121581,
trunk/gcc/testsuite/gfortran.dg/repeat_1.f90
Removed:
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/ishft.f90
Modified:
    branches/gcc-4_2-branch/gcc/fortran/ChangeLog
    branches/gcc-4_2-branch/gcc/fortran/arith.c
    branches/gcc-4_2-branch/gcc/fortran/arith.h
    branches/gcc-4_2-branch/gcc/fortran/gfortran.h
    branches/gcc-4_2-branch/gcc/fortran/misc.c
    branches/gcc-4_2-branch/gcc/fortran/simplify.c
    branches/gcc-4_2-branch/gcc/fortran/trans-array.c
    branches/gcc-4_2-branch/gcc/fortran/trans-array.h
    branches/gcc-4_2-branch/gcc/fortran/trans-expr.c
    branches/gcc-4_2-branch/gcc/fortran/trans-intrinsic.c
    branches/gcc-4_2-branch/gcc/fortran/trans-stmt.c
    branches/gcc-4_2-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_2-branch/gcc/testsuite/gfortran.dg/chkbits.f90
    branches/gcc-4_2-branch/libgfortran/ChangeLog
    branches/gcc-4_2-branch/libgfortran/intrinsics/string_intrinsics.c


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]