https://gcc.gnu.org/legacy-ml/gcc-patches/2017-07/msg00556.html