From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16553 invoked by alias); 4 Dec 2002 14:56:08 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 16538 invoked by uid 71); 4 Dec 2002 14:56:07 -0000 Date: Wed, 04 Dec 2002 06:56:00 -0000 Message-ID: <20021204145607.16537.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Gu, Michael" Subject: RE: c++/7934: definition of static member for template class miss ing in obj file Reply-To: "Gu, Michael" X-SW-Source: 2002-12/txt/msg00205.txt.bz2 List-Id: The following reply was made to PR c++/7934; it has been noted by GNATS. From: "Gu, Michael" To: "'bangerth@dealii.org'" , "'gcc-bugs@gcc.gnu.org'" , "'gcc-prs@gcc.gnu.org'" , "Gu, Michael" , "'mkjyg@charter.net'" , "'nobody@gcc.gnu.org'" , "'gcc-gnats@gcc.gnu.org'" Cc: "'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 A { static T * instance; }; template 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 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 int X::i; in your program. Regards Wolfgang http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p r=7934