Достаточно включить LTO (или что там в IAR) . И из-за
переиспользования блоков ассемблерных инструкций, у компилятора не
будет шанса достоверно привязать тот или иной участок кода к
конкретной строке исходника. Такое пройдет, если, например, в GCC
собирать с оптимизацией для отладки -Og. Ну, может ещё без LTO
связь сохраниться.