> > Ah, indeed, good idea. FYI, clang++ seems to constant fold > &typeid(x) != &typeid(y) already, so Jonathan could use it even for > clang++ in the constexpr operator==. But it folds even > extern int &a, &b; > constexpr bool c = &a != &b; > regardless of whether some other TU has > int a; > int b __attribute__((alias (a)); > or not. > > Here is an updated patch, ok for trunk if it passes bootstrap/regtest?
Looks good to me. We are somewhat inconsistent on when we support overleap and when we don't. Also we produce local symbols that can be later globalized by partitioning. So perhaps we want this to eventually become flag in symtab node and unify the logic in aliasing code etc, but that can wait for next stage1. Honza