c++/9321: ctor not call in lib if a .cpp file doesn't have function called by the executable

lecroart@nevrax.com lecroart@nevrax.com
Wed Jan 15 10:56:00 GMT 2003


>Number:         9321
>Category:       c++
>Synopsis:       ctor not call in lib if a .cpp file doesn't have function called by the executable
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 15 02:26:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     gcc
>Release:        gcc (GCC) 3.2.1
>Organization:
>Environment:
Linux linuxdev01 2.4.18-bf2.4 #1 Son Apr 14 09:53:28 CEST 2002 i686 unknown unknown GNU/Linux
>Description:
I create a lib that contains some .cpp. One .cpp in the lib contains only a ctor that should register into an array.
If I launch the executable, the ctor is not called (not registered). If now, I call, in the main, a function of the .cpp, now the ctor is called.
The behavior semms to be: If there s a .cpp without any function call in a lib, then ctor are not called.
>How-To-Repeat:
tar zxvf staticclass.tgz
./go
./a.out
look that only 2 string are registered (bug)
emacs main.cpp
uncomment the test_function();
./go
./a.out
look that the 3 string are registered (ok)
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-gzip-compressed; name="staticclass.tgz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="staticclass.tgz"

H4sIAOiuIj4AA+1Za2/bNhT1V/NXXDgpKsWPSLZkAU46IEuTLFuyAnEGBOiCQqYom50ehkQ1TYv8
913Slix7CbwOjtNtOkAg6ZK8pEme+0oqXMEpDdw03a89EwzDMhzbxqdhOrZZfuaoGU7fNOyu07N6
NcPs9XtGDeznWlAZWSrcBKBG40ww3Ian+q1r/5ciLZ1/6PKoQ6fTTc9hmIbRt6wnz9/qdxfn38V+
pt21+zUwNr2Qx/A/P3+ywyMaZB6Dw1R4PO5MfiALWSPgo30aep1JY0UoWCqklJwfx2HoRh7I23Me
4W5GlGkN+dXQDwjhkVBNoOnkKwHY3wfuw32cQeBmEZ2AmDBgnxlgFzHhKaTiPmAtJW7IWRpwx4MA
oljAiEHCxjwVLGHekq6EhfEnpgZF7LMAOltUa0nF0vCOGi9bP/i4DsHjSMP1AuQ/aDDweDqdyRIm
siQC44A8kJc+sc2izP9x/DxzSP470sY/Zf/tXs7/vu1gP9MyLbvi/zZAPUA6k9D9gxF873QIbTYh
9wTQvsBWaAdoA/5jF7+CQpn/0q4/xxzfFP/1bMn/nuNU8d82sHr+l2gIfB6wTc6xJv4ze1YR/1mm
Ke1/3+galf3fBo5vbqDAG0DjT64uoSxKQmj75PLol5OSUPkLgoNPL47OhjMZQHsM7SmfMmi/M8jF
26JNttbRiaAj+YJ/ISHXR1dnJ9fDev2NdD8ywnQJcYNgUK/Xd7V5q07Iux9/HmIf2SEGFXPGhOQj
BrCryQ46qeMRJoWmQkx2NgmyA0fgszsYuSmn4DHfzQIBSRawFGQEjKFuwiPZpmQ4PQzxcgmIfR9G
94ARatJOuMejsYpUcw2jjAfeXM8dFxOIswTiu2ihMCWd4W+np+c3J8NB6RWUj8Ytkc9OPCC4d3gm
OrQpqDd1AjrsHhK5mHmQHI8+MipAsny2bhonDDSMpN3oXic0YG6kVF1d6rCH+y7bnxjfmg32snDa
UrowkqeZcEdBSSPG0WKhVd4kHdR3Pkl+4vLE1NVS24PZAG6UO5bJg5/EIaQ0cQWdECUq6Sr0L0Ql
jS/NsO8bq/ZfEmjTJYB1+b/dNQv/3+2p/L/fcyr7vw2syf/nuT+hE9ykvUVqPH9J35vG7YHK8f/a
NuRfGBp+TJrJp5h7K4l1Xg+YooUTvtZ45ZWS89+jRgvKelQW7scJGhWciyu1+Dhc6oSSZlMn0t98
JTO/k2uHdkk7vH6Vvl6a4j2/VTMAPJSWxKKVNeky/19UPHBz8oIHaHKrZIeXPtBvxGP8n2x4jnX8
7xtWwX/TdiT/e2a34v82gFz3IwxE4Pjy7YefyA6+8ojNv5aNA14PaR3KMiTKWFkMdYEKhiOxp9ko
4HRAVJVtH4mGREkyKuKkVGLTqBTDzLjMS3a/uiGTHJ4xuCBomee3SH9NDtrTQ4wZYwoaKg9YpJV1
NM05pbGNTu+1x1W1oDzmYGlS2aHZlLIH+TtmVJmvdtkAFo3SOi2ZpNJAZQTnpg8NCTbtoIXh/oua
jFX+qxh7wwHAOv6bzqL+3zVMlf9Zlf/fCv6m/y98nrwfiyq/Kq7ruYNfKaYvuXcvlhV8GdHnfvSl
f3kFiUf5v+EAYB3/kftz/puO1ZX1P9vuVv//2woK/399MrwuBQDq8+xxYn8fnqtChQoVKlSo8E/x
Jx8gg4kAKAAA



More information about the Gcc-bugs mailing list