public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/3333: Using declaration doesn't work with classes.
@ 2001-06-26 9:26 Martin Sebor
0 siblings, 0 replies; 3+ messages in thread
From: Martin Sebor @ 2001-06-26 9:26 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/3333; it has been noted by GNATS.
From: Martin Sebor <sebor@roguewave.com>
To: aroach@stoic.electriceyeball.com
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: c++/3333: Using declaration doesn't work with classes.
Date: Tue, 26 Jun 2001 10:25:40 -0600
aroach@stoic.electriceyeball.com wrote:
>
> >Number: 3333
> >Category: c++
> >Synopsis: Using declaration doesn't work with classes.
...
> >Description:
> Using declaration should be usable for classes as well as namespaces in
> most cases, but GCC restricts most uses to namespaces.
7.3.3, p6: A using-declaration for a class member shall be
a member-declaration.
You can't declare a class member in namespace scope so the test case
is ill-formed.
Regards
Martin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: c++/3333: Using declaration doesn't work with classes.
@ 2001-07-01 7:57 nathan
0 siblings, 0 replies; 3+ messages in thread
From: nathan @ 2001-07-01 7:57 UTC (permalink / raw)
To: aroach, gcc-bugs, gcc-prs, nobody
Synopsis: Using declaration doesn't work with classes.
State-Changed-From-To: open->closed
State-Changed-By: nathan
State-Changed-When: Sun Jul 1 07:57:26 2001
State-Changed-Why:
You are mistaken. Only using declarations at class scope
can give a qualified name of a (base) class member.
Your example has a using declaration at namespace scope.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3333&database=gcc
^ permalink raw reply [flat|nested] 3+ messages in thread
* c++/3333: Using declaration doesn't work with classes.
@ 2001-06-21 8:46 aroach
0 siblings, 0 replies; 3+ messages in thread
From: aroach @ 2001-06-21 8:46 UTC (permalink / raw)
To: gcc-gnats
>Number: 3333
>Category: c++
>Synopsis: Using declaration doesn't work with classes.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Thu Jun 21 08:46:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Anthony Roach
>Release: 3.0
>Organization:
>Environment:
System: Linux stoic 2.2.19 #1 Thu Apr 5 15:18:02 EST 2001 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-3.0/configure --prefix=/usr/local/opt/gcc-3.0
>Description:
Using declaration should be usable for classes as well as namespaces in
most cases, but GCC restricts most uses to namespaces.
>How-To-Repeat:
source that produces the bug:
// BEGIN: usingBug.cpp
class A
{
public:
class B
{
};
};
using A::B;
int main()
{
B b;
return 0;
}
// END: usingBug.cpp
to compine: gcc usingBug.cpp
gcc output:
usingBug.cpp:11: `A' is not a namespace
usingBug.cpp: In function `int main()':
usingBug.cpp:15: `B' undeclared (first use this function)
usingBug.cpp:15: (Each undeclared identifier is reported only once for each
function it appears in.)
usingBug.cpp:15: parse error before `;' token
>Fix:
work around:
// BEGIN: usingFixed.cpp
class A
{
public:
class B
{
};
};
int main()
{
A::B b;
return 0;
}
// END: usingFixed.cpp
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-07-01 7:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-26 9:26 c++/3333: Using declaration doesn't work with classes Martin Sebor
-- strict thread matches above, loose matches on Subject: below --
2001-07-01 7:57 nathan
2001-06-21 8:46 aroach
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).