[Bug middle-end/37248] [4.4 Regression] regression transformation bitfield to individual bytes

jakub at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Dec 5 17:02:00 GMT 2008



------- Comment #8 from jakub at gcc dot gnu dot org  2008-12-05 17:01 -------
Subject: Bug 37248

Author: jakub
Date: Fri Dec  5 16:59:34 2008
New Revision: 142484

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142484
Log:
        PR middle-end/37248
        * fold-const.c (make_bit_field_ref): Change bitpos and bitsize
        arguments to HOST_WIDE_INT.  If type has different signedness
        than unsignedp or different precision from bitsize, create
        the right type for BIT_FIELD_REF and cast to type.
        (fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.

        Revert:
        2008-03-05  Richard Guenther  <rguenther@suse.de>
        PR c++/35336
        * fold-const.c (fold_truthop): Remove code generating
        BIT_FIELD_REFs of structure bases.
        (fold_binary): Likewise.
        (make_bit_field_ref): Remove.
        (optimize_bit_field_compare): Remove.
        (all_ones_mask_p): Remove.

        * gcc.target/i386/pr37248-1.c: New test.
        * gcc.target/i386/pr37248-2.c: New test.
        * gcc.target/i386/pr37248-3.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr37248-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr37248-2.c
    trunk/gcc/testsuite/gcc.target/i386/pr37248-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/fold-const.c
    trunk/gcc/testsuite/ChangeLog


-- 


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



More information about the Gcc-bugs mailing list