https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100788
--- Comment #12 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to seberg from comment #11) > Does that mean that fixing the `#line` directives (or inserting additional > ones) should be able to fix the issue? (Or work around it, if you consider > it a bug.) Yes. I've got an approved patch for the current master: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/571593.html For older releases, I consider relaxation of the assert. > > I tried to figure out where the `#line` directives currently causes this > situation, and add new ones in some places in the templater. But I don't > really see where it goes wrong. That is, unless `#if 0` causes the > directives within the block to be ignored? Well, the problematic function is: numpy/core/src/multiarray/einsum_sumprod.c.src: In function ‘longdouble_sum_of_products_contig_three’: So one should see a line directives in the function body that cause it ends before it begins.