//#include <cstdio>

struct values
{
  static const int one = 1;
};

struct counter
{
  int n;

  counter() : n(0) {}

  counter&
  operator,(int const&) { n++; return *this; }
};

int
main()
{
  values vals;
  counter cntr;
  cntr, vals.one;
  //std::printf("%d\n", cntr.n);
  return 0;
}


g++ problem.cpp
/tmp/cc88FSiA.o: In function `main':
problem.cpp:(.text+0x19): undefined reference to `values::one'
collect2: ld returned 1 exit status

I'm getting the same failure with gcc 3.2, 4.1, 4.4, 4.5.0 20100109.
It works as expected with Visual C++ 9.0.
Is this a bug?


-- 
           Summary: long-standing g++ bug?
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rwgk at yahoo dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43594

Reply via email to