https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109411

            Bug ID: 109411
           Summary: missing debug information with statement frontiers
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

$ cat main.cc
#include "test.h"

void invokeInline (Message & msg, int param)
{
  someInlineFunction (msg, param);
}

int main ()
{
  Message msg;
  invokeInline (msg, 42);
}

$ cat test.h 
struct Message {
  int member{35};
};

template<typename T>
void someInlineFunction (T & msg, int value)
{
   msg.member += value;
}

$ g++ -Og -g main.cc
$ gdb --nh --batch -ex 'break test.h:9' -ex run ./a.out
No line 9 in file "test.h".
[...]

but:

$ g++ -Og -g main.cc -gno-statement-frontiers
$ gdb --nh --batch -ex 'break test.h:9' -ex run ./a.out
Breakpoint 1 at 0x40113b: file /home/mpolacek/x/trunk/gcc/r/test.h, line 9.
[...]

Reply via email to