fixes for METHODDEF definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -53,15 +53,26 @@ extern "C"
|
||||
#include <setjmp.h>
|
||||
|
||||
#ifdef __SALFORDC__
|
||||
#ifdef FAR
|
||||
#undef FAR
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// we can't use METHODDEF here as it includes static yet the functions must be
|
||||
// extern "C" and these can't be used together!
|
||||
#undef METHODDEF
|
||||
#define METHODDEF(type) extern "C" type wxC_CALLING_CONV
|
||||
// ----------------------------------------------------------------------------
|
||||
// types
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// the standard definition of METHODDEF(type) from jmorecfg.h is "static type"
|
||||
// which means that we can't declare the method functions as extern "C" - the
|
||||
// compiler (rightfully) complains about the multiple storage classes in
|
||||
// declaration
|
||||
//
|
||||
// so we only add extern "C" when using our own, modified, jmorecfg.h - and use
|
||||
// whatever we have in the system headers if this is what we use hoping that it
|
||||
// should be ok (can't do anything else)
|
||||
#ifdef JPEG_METHOD_LINKAGE
|
||||
#define CPP_METHODDEF(type) extern "C" METHODDEF(type)
|
||||
#else // not using our jmorecfg.h header
|
||||
#define CPP_METHODDEF(type) METHODDEF(type)
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxJPEGHandler
|
||||
@@ -84,11 +95,11 @@ typedef struct {
|
||||
|
||||
typedef my_source_mgr * my_src_ptr;
|
||||
|
||||
METHODDEF(void) my_init_source ( j_decompress_ptr WXUNUSED(cinfo) )
|
||||
CPP_METHODDEF(void) my_init_source ( j_decompress_ptr WXUNUSED(cinfo) )
|
||||
{
|
||||
}
|
||||
|
||||
METHODDEF(boolean) my_fill_input_buffer ( j_decompress_ptr cinfo )
|
||||
CPP_METHODDEF(boolean) my_fill_input_buffer ( j_decompress_ptr cinfo )
|
||||
{
|
||||
my_src_ptr src = (my_src_ptr) cinfo->src;
|
||||
|
||||
@@ -105,7 +116,7 @@ METHODDEF(boolean) my_fill_input_buffer ( j_decompress_ptr cinfo )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
METHODDEF(void) my_skip_input_data ( j_decompress_ptr cinfo, long num_bytes )
|
||||
CPP_METHODDEF(void) my_skip_input_data ( j_decompress_ptr cinfo, long num_bytes )
|
||||
{
|
||||
if (num_bytes > 0)
|
||||
{
|
||||
@@ -121,7 +132,7 @@ METHODDEF(void) my_skip_input_data ( j_decompress_ptr cinfo, long num_bytes )
|
||||
}
|
||||
}
|
||||
|
||||
METHODDEF(void) my_term_source ( j_decompress_ptr cinfo )
|
||||
CPP_METHODDEF(void) my_term_source ( j_decompress_ptr cinfo )
|
||||
{
|
||||
my_src_ptr src = (my_src_ptr) cinfo->src;
|
||||
|
||||
@@ -145,7 +156,7 @@ typedef struct my_error_mgr * my_error_ptr;
|
||||
* Here's the routine that will replace the standard error_exit method:
|
||||
*/
|
||||
|
||||
METHODDEF(void) my_error_exit (j_common_ptr cinfo)
|
||||
CPP_METHODDEF(void) my_error_exit (j_common_ptr cinfo)
|
||||
{
|
||||
/* cinfo->err really points to a my_error_mgr struct, so coerce pointer */
|
||||
my_error_ptr myerr = (my_error_ptr) cinfo->err;
|
||||
@@ -254,7 +265,7 @@ typedef my_destination_mgr * my_dest_ptr;
|
||||
|
||||
#define OUTPUT_BUF_SIZE 4096 /* choose an efficiently fwrite'able size */
|
||||
|
||||
METHODDEF(void) init_destination (j_compress_ptr cinfo)
|
||||
CPP_METHODDEF(void) init_destination (j_compress_ptr cinfo)
|
||||
{
|
||||
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
||||
|
||||
@@ -266,7 +277,7 @@ METHODDEF(void) init_destination (j_compress_ptr cinfo)
|
||||
dest->pub.free_in_buffer = OUTPUT_BUF_SIZE;
|
||||
}
|
||||
|
||||
METHODDEF(boolean) empty_output_buffer (j_compress_ptr cinfo)
|
||||
CPP_METHODDEF(boolean) empty_output_buffer (j_compress_ptr cinfo)
|
||||
{
|
||||
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
||||
|
||||
@@ -276,7 +287,7 @@ METHODDEF(boolean) empty_output_buffer (j_compress_ptr cinfo)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
METHODDEF(void) term_destination (j_compress_ptr cinfo)
|
||||
CPP_METHODDEF(void) term_destination (j_compress_ptr cinfo)
|
||||
{
|
||||
my_dest_ptr dest = (my_dest_ptr) cinfo->dest;
|
||||
size_t datacount = OUTPUT_BUF_SIZE - dest->pub.free_in_buffer;
|
||||
|
@@ -208,26 +208,30 @@ typedef unsigned int JDIMENSION;
|
||||
* or code profilers that require it.
|
||||
*/
|
||||
|
||||
#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
|
||||
/* a function called through method pointers: */
|
||||
#define METHODDEF(type) static type _Optlink
|
||||
/* a function used only in its module: */
|
||||
#define LOCAL(type) static type _Optlink
|
||||
/* a function referenced thru EXTERNs: */
|
||||
#define GLOBAL(type) type
|
||||
/* a reference to a GLOBAL function: */
|
||||
#define EXTERN(type) extern type _Optlink
|
||||
#else
|
||||
/* a function called through method pointers: */
|
||||
#define METHODDEF(type) static type
|
||||
/* a function used only in its module: */
|
||||
#define LOCAL(type) static type
|
||||
/* a function referenced thru EXTERNs: */
|
||||
#define GLOBAL(type) type
|
||||
/* a reference to a GLOBAL function: */
|
||||
#define EXTERN(type) extern type
|
||||
#if defined(__VISAGECPP__)
|
||||
#define JPEG_CALLING_CONV _Optlink
|
||||
#else /* !Visual Age C++ */
|
||||
#define JPEG_CALLING_CONV
|
||||
#endif
|
||||
|
||||
/* We can't declare a static function as extern "C" as we need to do in C++
|
||||
* programs, so suppress static in METHODDEF when using C++.
|
||||
*/
|
||||
#if defined(__cplusplus)
|
||||
#define JPEG_METHOD_LINKAGE
|
||||
#else /* !__cplusplus */
|
||||
#define JPEG_METHOD_LINKAGE static
|
||||
#endif
|
||||
|
||||
/* a function called through method pointers: */
|
||||
#define METHODDEF(type) JPEG_METHOD_LINKAGE type JPEG_CALLING_CONV
|
||||
/* a function used only in its module: */
|
||||
#define LOCAL(type) static type JPEG_CALLING_CONV
|
||||
/* a function referenced thru EXTERNs: */
|
||||
#define GLOBAL(type) type
|
||||
/* a reference to a GLOBAL function: */
|
||||
#define EXTERN(type) extern type JPEG_CALLING_CONV
|
||||
|
||||
/* This macro is used to declare a "method", that is, a function pointer.
|
||||
* We want to supply prototype parameters if the compiler can cope.
|
||||
* Note that the arglist parameter must be parenthesized!
|
||||
|
Reference in New Issue
Block a user