public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/13383] New: scope for top-level using statements is wrong
@ 2011-11-04 16:59 tromey at redhat dot com
2023-12-17 14:12 ` [Bug c++/13383] " ssbssa at sourceware dot org
0 siblings, 1 reply; 2+ messages in thread
From: tromey at redhat dot com @ 2011-11-04 16:59 UTC (permalink / raw)
To: gdb-prs
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.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug c++/13383] scope for top-level using statements is wrong
2011-11-04 16:59 [Bug c++/13383] New: scope for top-level using statements is wrong tromey at redhat dot com
@ 2023-12-17 14:12 ` ssbssa at sourceware dot org
0 siblings, 0 replies; 2+ messages in thread
From: ssbssa at sourceware dot org @ 2023-12-17 14:12 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=13383
Hannes Domani <ssbssa at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ssbssa at sourceware dot org
Target Milestone|--- |14.1
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #1 from Hannes Domani <ssbssa at sourceware dot org> ---
This is working since gdb-14.1, I think it was fixed by this commit:
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=68ce1575fc902958a9b1d197e2c79ea842a7776d
Now you get:
```
Breakpoint 1, xfun () at gdb-13383.cpp:16
16 return Q::C::x; // Breakpoint xfun
^
(gdb) p x
No symbol "x" in current context.
(gdb) c
Continuing.
Breakpoint 2, yfun () at gdb-13383.cpp:22
22 return x; // Breakpoint yfun
^
(gdb) p x
$1 = 5
```
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-12-17 14:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-04 16:59 [Bug c++/13383] New: scope for top-level using statements is wrong tromey at redhat dot com
2023-12-17 14:12 ` [Bug c++/13383] " ssbssa at sourceware dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).