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?

Reply via email to