Re: static initializers do not get run in dylibs with gcc 3.3
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Perhaps this is way too simple, but in your example there is no reference to myClass other than its declaration. Is it possibly the compiler recognized that and "optimized" the code away? -- Jerry Pendergraft jerry.pendergraft@endocardial.com Endocardial Solutions voice: 651-523-6935 1350 Energy Lane, Suite 110 fax: 651-644-7897 St Paul, MN 55108-5254 mobile: 651-491-0163 On Mon, 6 Dec 2004, Jan Hardenbergh wrote:
I am having a problem with static initializers. This problem is well documented if you Google: "mac osx gcc static initializers" or variations. It works on about 1/4 of the classes. I cannot discern which ones it will or will not work with. The static is instantiated if I call hackMyClass()
My flavor of the Problem is
class MyClass { MyClass() { do some init } ... }
static MyClass myClass;
hackMyClass() { return; }
This works on Linux with gcc 3.3, MSVC++, and Solaris.
This was rumored to have been fixed with GCC 3.3, but, it is not for me. I have tried all fo the link flags that seemed to make any sense.
Any ideas?
YON - Jan C. Hardenbergh
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Jerry Pendergraft