This is the mail archive of the gcc-patches@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]

Re: [PATCH] Fix PR53501


On Wed, Oct 31, 2012 at 7:29 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>
> > It failed with revision 188008.
>
> OK, thanks.  So the testcase never compiled on the trunk (except for about
> 24
> hours between 188009 & 188118) or did it compile before 188008 at some
> point?
>
> --
> Eric Botcazou

It was OK until revision 187042:

    2012-05-02  Richard Guenther  <rguenther@suse.de>

        * tree.c (valid_constant_size_p): New function.
        * tree.h (valid_constant_size_p): Declare.
        * cfgexpand.c (expand_one_var): Adjust check for too large
        variables by using valid_constant_size_p.
        * varasm.c (assemble_variable): Likewise.

        c/
        * c-decl.c (grokdeclarator): Properly check for sizes that
        cover more than half of the address-space.

        cp/
        * decl.c (grokdeclarator): Properly check for sizes that
        cover more than half of the address-space.

    2012-05-02  Richard Guenther  <rguenther@suse.de>

        * fold-const.c (div_if_zero_remainder): sizetypes no longer
        sign-extend.
        (int_const_binop_1): New worker for int_const_binop with
        overflowable parameter.  Pass it through
        to force_fit_type_double.
        (int_const_binop): Wrap around int_const_binop_1 with overflowable
        equal to one.
        (size_binop_loc): Call int_const_binop_1 with overflowable equal
        to minus one, forcing overflow detection for even unsigned types.
        (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing.
        (fold_binary_loc): Call try_move_mult_to_index with signed offset.
        * stor-layout.c (initialize_sizetypes): sizetypes no longer
        sign-extend.
        (layout_type): For zero-sized arrays ignore overflow on the
        size calculations.
        * tree-ssa-ccp.c (bit_value_unop_1): Likewise.
        (bit_value_binop_1): Likewise.
        * tree.c (double_int_to_tree): Likewise.
        (double_int_fits_to_tree_p): Likewise.
        (force_fit_type_double): Likewise.
        (host_integerp): Likewise.
        (int_fits_type_p): Likewise.
        * varasm.c (output_constructor_regular_field): Sign-extend the
        field-offset to cater for negative offsets produced by the Ada frontend.
        * omp-low.c (extract_omp_for_data): Convert the loop step to
        signed for pointer adjustments.

which gave:

/export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O3 -Wall -mx32
-maddress-mode=long -fPIC -S x.i
x.i: In function ‘dl_start’:
x.i:30:1: error: unrecognizable insn:
 }
 ^
(insn 54 53 55 7 (set (reg:SI 108)
        (const:SI (plus:SI (symbol_ref:SI ("_dl_rtld_map") [flags
0x42] <var_decl 0x7f02997bb140 _dl_rtld_map>)
                (const_int -1073742800 [0xffffffffbffffc30])))) x.i:22 -1
     (nil))
x.i:30:1: internal compiler error: in extract_insn, at recog.c:2130
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.



--
H.J.


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