added wxFORCE_LINK_MODULE public macro which can now be used outside of wxHTML too; modified it to not provoke icc warnings when used

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2005-09-25 18:09:26 +00:00
parent 7a7bd38a77
commit 6cf2fb76fe
5 changed files with 42 additions and 28 deletions

32
include/wx/link.h Normal file
View File

@@ -0,0 +1,32 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/link.h
// Purpose: macros to force linking modules which might otherwise be
// discarded by the linker
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_LINK_H_
#define _WX_LINK_H_
// This must be part of the module you want to force:
#define wxFORCE_LINK_THIS_MODULE(module_name) \
extern void _wx_link_dummy_func_##module_name (); \
void _wx_link_dummy_func_##module_name () { }
// And this must be somewhere where it certainly will be linked:
#define wxFORCE_LINK_MODULE(module_name) \
extern int _wx_link_dummy_func_##module_name (); \
static struct wxForceLink##module_name \
{ \
wxForceLink##module_name() \
{ \
_wx_link_dummy_func_##module_name (); \
} \
} _wx_link_dummy_var_##module_name;
#endif // _WX_LINK_H_