[gnu.g++.bug] static members with constructors

jjc@UUNET.UU.NET (James Clark) (05/29/89)

I am not clear about whether g++ is supposed to support static members
with constructors.

Script started on Mon May 29 11:41:42 1989
jclark% cat static.cc
#include <stdio.h>

struct C {
  C() { fputs("C\n", stderr); }
  ~C() { fputs("~C\n", stderr); }
};

struct B {
  static C c;
  B() { fputs("B\n", stderr); }
  ~B() { fputs("~B\n", stderr); }
};

static B b;

main()
{
}
jclark% g++ -g -v static.cc
g++ version 1.35.1-
 /usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ static.cc /tmp/cca26825.cpp
GNU CPP version 1.35
 /usr/local/lib/gcc-cc1plus /tmp/cca26825.cpp -quiet -dumpbase static.cc -noreg -version -G -o /tmp/cca26825.s
GNU C++ version 1.35.1- (sparc) compiled by GNU C version 1.35.
static.cc:9: warning: member `c' cannot be static (type `C' needs constructing)
 as /tmp/cca26825.s -o static.o
 /usr/local/lib/gcc-ld++ -C /usr/local/lib/crt0+.o static.o -lg++ /usr/local/lib/gcc-gnulib -lg -lc
jclark% a.out
C
C
B
~B
~C
~C
jclark% exit
jclark% 
script done on Mon May 29 11:42:38 1989

James Clark
jjc@jclark.uucp