http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-10-28 12:54:01 UTC --- I think the reason this doesn't show up everywhere is due to a problem with older versions of GDB. Using GDB 7.3.50.20110722-16.fc16 I get this in the test logs: 48362.gdb:5: Error in sourced command file:^M No symbol "t1" in current context.^M skipping: 48362.gdb:5: Error in sourced command file:^M skipping: No symbol "t1" in current context.^M UNSUPPORTED: libstdc++-prettyprinters/48362.cc and I've had the same problem running gdb myself, with gdb saying "No symbol x in current context" for all local variables, when they clearly do exist! I also see GDB 7.3 completely confused about the type of std::string: Temporary breakpoint 1, main () at d.cc:6 6 std::string s1 = "string 1"; (gdb) n 7 std::string s2 = "string 2"; (gdb) p s1 $1 = {i = {1431655765, -1077586603}, x = -0.16666666666666666} (gdb) ptype s1 type = const union { int4 i[2]; double x; } Huh?! Using GDB from the git mirror or upgrading to rawhide's 7.5.0.20120926-25.fc18 makes the problem go away and now I see the FAILs when running libstdc++-prettyprinters.exp (which I'm fixing now) This only happens for code built with trunk, so there seems to be some problem with trunk and GDB 7.3 - any ideas?