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.

Reply via email to