https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80617
--- Comment #7 from S. Davis Herring <herring at lanl dot gov> --- We can extend the C test case (thanks for that) with a shared, non-constant value (and more savings by having dead code as in the original C++ example): void foo(int *p,int *q,int x) { *q=*p=x; if(*p!=x) abort(); /* dead */ }