https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78524
--- Comment #7 from amker at gcc dot gnu.org --- (In reply to Richard Biener from comment #5) > The MIN_EXPR it builds is correct now though. Looks like a bug in Adas > max_size to me when invoked on > > <min_expr 0x7ffff5ea77d0 > type <integer_type 0x7ffff5e80dc8 p__char___XDLU_87__90 > type <integer_type 0x7ffff61e7498 character sizes-gimplified public > visited string-flag QI > size <integer_cst 0x7ffff61e2ca8 constant visited 8> > unit size <integer_cst 0x7ffff61e2cc0 constant visited 1> > align 8 symtab 0 alias set 4 canonical type 0x7ffff61e7498 > precision 8 min <integer_cst 0x7ffff61e2cf0 -128> max <integer_cst > 0x7ffff61e2d20 127> context <translation_unit_decl 0x7ffff61ed168 D.15> RM > min <integer_cst 0x7ffff61e2cd8 0> RM max <integer_cst 0x7ffff61e2c78 255> > debug type <integer_type 0x7ffff61e73f0 character> > pointer_to_this <pointer_type 0x7ffff6202000 access_character>> > public unsigned string-flag QI size <integer_cst 0x7ffff61e2ca8 8> > unit size <integer_cst 0x7ffff61e2cc0 1> > align 8 symtab 0 alias set 4 canonical type 0x7ffff5e80dc8 precision > 8 min <integer_cst 0x7ffff5e967c8 0> max <integer_cst 0x7ffff6238300 255> > context <function_decl 0x7ffff5ea0e00 p> RM size <integer_cst 0x7ffff5e96828 > 7> RM min <integer_cst 0x7ffff5e967f8 87> RM max <integer_cst 0x7ffff5e96810 > 90> > chain <type_decl 0x7ffff6207ab0 p__char___XDLU_87__90>> > > arg 0 <component_ref 0x7ffff5ea6270 type <integer_type 0x7ffff5e80dc8 > p__char___XDLU_87__90> > visited > arg 0 <placeholder_expr 0x7ffff5e969f0 type <record_type > 0x7ffff5ea4bd0 p__rec> > visited> > arg 1 <field_decl 0x7ffff5ea5688 d type <integer_type 0x7ffff5e80dc8 > p__char___XDLU_87__90> > visited nonaddressable decl_4 VOID file p.adb line 7 col 13 > align 8 offset_align 1 context <record_type 0x7ffff5ea4bd0 > p__rec> initial <integer_cst 0x7ffff61e2cc0 1>>> > arg 1 <integer_cst 0x7ffff5e96ab0 type <integer_type 0x7ffff5e80dc8 > p__char___XDLU_87__90> constant 88>> > > we end up with mismatched type lhs/rhs. The placeholder is transformed to > > (gdb) p debug_tree (lhs) > <integer_cst 0x7ffff5e967f8 type <integer_type 0x7ffff61e7498 character> > constant 87> > > a signed integer constant. Thanks very much for helping. I am trying to enable ada on my system. Thanks.