https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92171
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- The constexpr evaluator doesn't see the "ref." part at all: VALUE is a static data member, so build_class_member_access_expr produces "value": (gdb) pt result <var_decl 0x7ffff7ffbbd0 value type <boolean_type 0x7fffeaa22b28 bool readonly unsigned type_6 QI size <integer_cst 0x7fffea8ddf60 constant 8> unit-size <integer_cst 0x7fffea8ddf78 constant 1> align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fffeaa22b28 precision:1 min <integer_cst 0x7fffea8fe1c8 0> max <integer_cst 0x7fffea8fe1f8 1>> readonly constant used public static tree_1 tree_2 tree_6 unsigned nonlocal weak decl_5 decl_6 QI 92171.C:5:25 size <integer_cst 0x7fffea8ddf60 8> unit-size <integer_cst 0x7fffea8ddf78 1> align:8 warn_if_not_align:0 context <record_type 0x7fffeaa229d8 A> initial <integer_cst 0x7fffea8fe1c8 0> chain <type_decl 0x7fffea90ba18 A>>