public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* RE: c++/7934: definition of static member for template class miss ing in obj file
@ 2002-12-04 6:56 Gu, Michael
0 siblings, 0 replies; 2+ messages in thread
From: Gu, Michael @ 2002-12-04 6:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/7934; it has been noted by GNATS.
From: "Gu, Michael" <Michael_Gu@maxtor.com>
To: "'bangerth@dealii.org'" <bangerth@dealii.org>,
"'gcc-bugs@gcc.gnu.org'" <gcc-bugs@gcc.gnu.org>,
"'gcc-prs@gcc.gnu.org'"
<gcc-prs@gcc.gnu.org>,
"Gu, Michael" <Michael_Gu@Maxtor.com>,
"'mkjyg@charter.net'" <mkjyg@charter.net>,
"'nobody@gcc.gnu.org'"
<nobody@gcc.gnu.org>,
"'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Cc: "'mkjyg@charter.net'" <mkjyg@charter.net>
Subject: RE: c++/7934: definition of static member for template class miss
ing in obj file
Date: Wed, 4 Dec 2002 07:41:04 -0700
Wolfgang,
My description was not detailed enough. Here is the code example:
template <class T>
class A
{
static T * instance;
};
template <class T>
T * instance=0;
Note all of the above codes are in a header file - I know this doesn't sound
right, but on the other hand I don't have a better solution for this. This
is not my code either.
I guess the idea is that when the template class is used, the instance will
be automatically defined.
The same gcc on Sun works for this. So I guess this might be a library
problem for HP compatibility.
Michael
-----Original Message-----
From: bangerth@dealii.org [mailto:bangerth@dealii.org]
Sent: Tuesday, December 03, 2002 6:10 PM
To: gcc-bugs@gcc.gnu.org; gcc-prs@gcc.gnu.org; michael_gu@maxtor.com;
mkjyg@charter.net; nobody@gcc.gnu.org
Subject: Re: c++/7934: definition of static member for template class
missing in obj file
Synopsis: definition of static member for template class missing in obj file
State-Changed-From-To: open->feedback
State-Changed-By: bangerth
State-Changed-When: Tue Dec 3 15:10:06 2002
State-Changed-Why:
Hi Michael,
your bug report is missing a code example, so it is hard to
tell whether the problem is with the compiler or your program. Please
send it to us so that we can tell.
However, note that a common source of problems is that
people write code like
template <class T> struct X {
static int i;
}
Now, in order to actually get a _definition_ of the static
member variable, you have to have a line like
template <class T> int X<T>::i;
in your program.
Regards
Wolfgang
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=7934
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: c++/7934: definition of static member for template class miss ing in obj file
@ 2002-12-04 7:06 Wolfgang Bangerth
0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Bangerth @ 2002-12-04 7:06 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c++/7934; it has been noted by GNATS.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: "Gu, Michael" <Michael_Gu@maxtor.com>
Cc: "'gcc-bugs@gcc.gnu.org'" <gcc-bugs@gcc.gnu.org>,
"'mkjyg@charter.net'" <mkjyg@charter.net>,
"'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: RE: c++/7934: definition of static member for template class miss
ing in obj file
Date: Wed, 4 Dec 2002 09:00:11 -0600 (CST)
> template <class T>
> class A
> {
> static T * instance;
> };
>
> template <class T>
> T * instance=0;
Did you mean
T * A::instance = 0;
?? The code you sent does not compile (and should not), and is also not
what you want.
> The same gcc on Sun works for this. So I guess this might be a library
> problem for HP compatibility.
Yes, maybe. I have seen another report in this form before.
Regards
Wolfgang
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-12-04 15:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-04 6:56 c++/7934: definition of static member for template class miss ing in obj file Gu, Michael
2002-12-04 7:06 Wolfgang Bangerth
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).