This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug c++/13383] New: scope for top-level using statements is wrong
- From: "tromey at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Fri, 04 Nov 2011 16:58:53 +0000
- Subject: [Bug c++/13383] New: scope for top-level using statements is wrong
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=13383
Bug #: 13383
Summary: scope for top-level using statements is wrong
Product: gdb
Version: unknown
Status: NEW
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned@sourceware.org
ReportedBy: tromey@redhat.com
Classification: Unclassified
Consider this:
namespace A {
namespace B {
namespace C {
int x = 5;
int nsfunc () {
return x;
}
}
}
}
namespace Q = A::B;
int xfun() {
return Q::C::x; // Breakpoint xfun
}
using namespace Q::C;
int yfun() {
return x; // Breakpoint yfun
}
int main(){
return xfun() + yfun();
}
If you stop in xfun, then "print x" should fail.
Currently it prints A::B::C::x.
The bug here is that "using" statements aren't properly scoped.
Implementing this would probably require something like the macro
code's scope stuff to be available for using / blocks as well.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.