https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91929
--- Comment #9 from Milian Wolff <mail at milianw dot de> --- > And I'm not sure that the original behavior which for > this particular case would simply say sin() was called from foo() This would indeed be the best, but that didn't happen originally when `foo` itself got inlined like in my example. See again the original backtrace from GDB: ``` Breakpoint 2, 0x0000000000418790 in __cos_fma () (gdb) bt #0 0x0000000000418790 in __cos_fma () #1 0x0000000000401573 in std::generate_n<std::back_insert_iterator<std::vector<double> >, int, main()::<lambda()> > (__n=100000, __gen=..., __first=...) at /usr/include/c++/9.1.0/new:174 #2 main () at ../../../manual/clients/vector.cpp:16 ``` This is very confusing to the end user, and personally I think it would be better to have at least one wrong branch here rather than none at all.