https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78524
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- 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.