https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85887
Bug ID: 85887 Summary: [6.4.1 & 7.3.1 Regression] Missing DW_TAG_lexical_block PC range Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: jason.vas.dias at gmail dot com Target Milestone: --- Bug #55665 has reappeared in builds of the gcc-6-branch and gcc-7-branch SVN trees, and its test case ( g++.dg/guality/pr55665.C ) now fails, on my up-to-date RHEL7.5 Linux x86_64 system (glibc 2.17, with either gdb-8.1 built from source or the distro gdb-7.6.1-110.el7: Under GCC 6.4.1 ( 20180521, SVN revision # 260441, gdb 8.1 ): After 'make check' fails, cd to $GCC_BUILD_DIR/host-x86_64-linux-gnu/gcc, and run: $ make check-g++ RUNTESTFLAGS='guality.exp=pr55665*' ... Running /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/guality.exp ... FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 FAIL: g++.dg/guality/pr55665.C -O3 -g line 23 p == 40 Here is the detailed gcc/testsuite/g++/g++.log extract showing errors: spawn gdb -nx -nw -quiet -batch -x pr55665.gdb ./pr55665.exe [?1034hBreakpoint 1 at 0x4007cb: file /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C, line 23. Breakpoint 1, A::A (this=0x7fffffffccac, x=<optimized out>) at /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C:23 23 foo (p); // { dg-final { gdb-test 23 "p" "40" } } $1 = 0 $2 = 40 0 != 40 FAIL: g++.dg/guality/pr55665.C -O2 line 23 p == 40 spawn gdb -nx -nw -quiet -batch -x pr55665.gdb ./pr55665.exe [?1034hBreakpoint 1 at 0x4007cb: file /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C, line 23. Breakpoint 1, A::A (this=0x7fffffffccac, x=<optimized out>) at /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C:23 23 foo (p); // { dg-final { gdb-test 23 "p" "40" } } $1 = 0 $2 = 40 0 != 40 FAIL: g++.dg/guality/pr55665.C -O3 -g line 23 p == 40 spawn gdb -nx -nw -quiet -batch -x pr55665.gdb ./pr55665.exe [?1034hBreakpoint 1 at 0x4007cb: file /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C, line 23. Breakpoint 1, A::A (this=0x7fffffffccac, x=<optimized out>) at /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C:23 23 foo (p); // { dg-final { gdb-test 23 "p" "40" } } pr55665.gdb:3: Error in sourced command file: No symbol "p" in current context. UNSUPPORTED: g++.dg/guality/pr55665.C -O2 -flto -fno-use-linker-plugin -flto-partition=none line 23 p == 40 spawn gdb -nx -nw -quiet -batch -x pr55665.gdb ./pr55665.exe [?1034hBreakpoint 1 at 0x400680: file /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C, line 23. Breakpoint 1, A::__base_ctor (x=42, this=<synthetic pointer>) at /home/devel/OS/gcc-6-branch/gcc/testsuite/g++.dg/guality/pr55665.C:23 23 foo (p); // { dg-final { gdb-test 23 "p" "40" } } pr55665.gdb:3: Error in sourced command file: No symbol "p" in current context. UNSUPPORTED: g++.dg/guality/pr55665.C -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects line 23 p == 40 The tests pass with GCC 4.8.5 (distro compiler). Perhaps the fix for 4.8.5 has not been ported to 7.3 / 6.4 ? investigating.