https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90597

--- Comment #2 from John David Anglin <danglin at gcc dot gnu.org> ---
        /* However, if the underlying mode requires a bigger alignment than
           what the target hook provides, we cannot use the mode.  For now,
           simply reject that case.  */
        gcc_assert (TYPE_ALIGN (type)
                    >= GET_MODE_ALIGNMENT (TYPE_MODE (type)));

Breakpoint 1, layout_type (type=0x800003fffde98930)
    at ../../gcc/gcc/stor-layout.c:2401
2401            gcc_assert (TYPE_ALIGN (type)
(gdb) p debug_tree(type)
 <vector_type 800003fffde98930
    type <integer_type 800003fffddd33f0 char public string-flag QI
        size <integer_cst 800003fffddc5a08 constant 8>
        unit-size <integer_cst 800003fffddc5a20 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
800003fffddd33f0 precision:8 min <integer_cst 800003fffddc5a50 -128> max
<integer_cst 800003fffddc5a80 127>
        pointer_to_this <pointer_type 800003fffdde13f0>>
    BLK
    size <integer_cst 800003fffdeb7378 type <integer_type 800003fffddd30a8
bitsizetype> constant 1073741824>
    unit-size <integer_cst 800003fffdeb7348 type <integer_type 800003fffddd3000
sizetype> constant 134217728>
    align:32768 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
800003fffde98930 nunits:134217728>
$1 = void

(gdb) bt
#0  layout_type (type=0x800003fffde98930) at ../../gcc/gcc/stor-layout.c:2401
#1  0x4000000000bee0ac in make_vector_type (innertype=0x7e000000, nunits=...,
    mode=E_VOIDmode) at ../../gcc/gcc/tree.c:10154
#2  0x4000000000bee354 in build_vector_type (innertype=<optimized out>,
    nunits=...) at ../../gcc/gcc/tree.c:11074
#3  0x400000000042c750 in handle_vector_size_attribute (
    node=0x800003fffde98930, name=<optimized out>, args=<optimized out>,
    flags=<optimized out>, no_add_attrs=<optimized out>)
    at ../../gcc/gcc/poly-int.h:671
#4  0x400000000033ae40 in decl_attributes (node=0x0,
    attributes=<optimized out>, flags=<optimized out>, last_decl=0x0)
    at ../../gcc/gcc/attribs.c:718
#5  0x4000000000345bcc in c_decl_attributes (node=0x800003fffde98930,
    attributes=0x7e000000, flags=0) at ../../gcc/gcc/c/c-decl.c:4837
#6  0x4000000000358fac in start_decl (declarator=0x800003fffddd33f0,
    declspecs=0x800003fffddc5a20, initialized=<optimized out>,
    attributes=<optimized out>) at ../../gcc/gcc/c/c-decl.c:4976
#7  0x40000000003afed8 in c_parser_declaration_or_fndef (
    parser=0x800003fffdec5000, fndef_ok=false,
    static_assert_ok=<optimized out>, empty_ok=<optimized out>,
    nested=<optimized out>, start_attr_ok=<optimized out>,
    objc_foreach_object_declaration=<optimized out>,
    omp_declare_simd_clauses=..., oacc_routine_data=<optimized out>,
---Type <return> to continue, or q <return> to quit---
    fallthru_attr_p=<optimized out>) at ../../gcc/gcc/c/c-parser.c:2154
#8  0x40000000003b9388 in c_parser_external_declaration (
    parser=0x800003fffde98930) at ../../gcc/gcc/c/c-parser.c:1653
#9  0x40000000003ba170 in c_parser_translation_unit (parser=<optimized out>)
    at ../../gcc/gcc/c/c-parser.c:1534
#10 c_parse_file () at ../../gcc/gcc/c/c-parser.c:19871
#11 0x4000000000412274 in c_common_parse_file ()
    at ../../gcc/gcc/c-family/c-opts.c:1160
#12 0x4000000000927c44 in compile_file () at ../../gcc/gcc/toplev.c:456
#13 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Reply via email to