c++/1830: Singletons are buggy

pb@instadia.net pb@instadia.net
Thu Feb 1 10:06:00 GMT 2001


>Number:         1830
>Category:       c++
>Synopsis:       Singletons are buggy
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 01 10:06:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Philip Bergen
>Release:        gcc 2.96 (20000731 Red Hat Linux 7.0), RPM: gcc-2.96-69.i386.rpm
>Organization:
>Environment:
GlibC 2.2-9 (RPM: glibc-2.2-9.i686.rpm)
Dell Inspiron 5000e (mobile pentium III @ 750 MHz),
ASUS CUSL2 mobo + 800 MHz P3.
Red Hat 7.0
>Description:
Bad value is returned. Seemingly the singleton does not work. Error was discovered when our, perfectly functional code, could no longer compile after an upgrade. 
All our singleton's were refused to link with errors like: Undefined reference theLogger.15

This works perfectly on RedHat 6.2/Athlon or Intel/gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
>How-To-Repeat:
Compile the included source with gcc singletontest.cpp -o singletontest (Advanced! :o)
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gccbug_singleton.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gccbug_singleton.tgz"

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


More information about the Gcc-bugs mailing list