diff --git a/src/dsp/alpha_processing_mips_dsp_r2.c b/src/dsp/alpha_processing_mips_dsp_r2.c index e5644998..c631d789 100644 --- a/src/dsp/alpha_processing_mips_dsp_r2.c +++ b/src/dsp/alpha_processing_mips_dsp_r2.c @@ -136,7 +136,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void WebPInitAlphaProcessingMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(WebPInitAlphaProcessingMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/alpha_processing_sse2.c b/src/dsp/alpha_processing_sse2.c index 40501303..5acb481d 100644 --- a/src/dsp/alpha_processing_sse2.c +++ b/src/dsp/alpha_processing_sse2.c @@ -293,7 +293,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingSSE2(void) { #else // !WEBP_USE_SSE2 -extern void WebPInitAlphaProcessingSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitAlphaProcessingSSE2(void) {} +WEBP_DSP_INIT_STUB(WebPInitAlphaProcessingSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/argb_mips_dsp_r2.c b/src/dsp/argb_mips_dsp_r2.c index 9e8b06c4..af65acb8 100644 --- a/src/dsp/argb_mips_dsp_r2.c +++ b/src/dsp/argb_mips_dsp_r2.c @@ -105,7 +105,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8EncDspARGBInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspARGBInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/argb_sse2.c b/src/dsp/argb_sse2.c index dc54e2c8..afcb1957 100644 --- a/src/dsp/argb_sse2.c +++ b/src/dsp/argb_sse2.c @@ -62,7 +62,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8EncDspARGBInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspARGBInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspARGBInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/cost_mips32.c b/src/dsp/cost_mips32.c index f13f37b7..d1e240e1 100644 --- a/src/dsp/cost_mips32.c +++ b/src/dsp/cost_mips32.c @@ -149,7 +149,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPS32(void) { #else // !WEBP_USE_MIPS32 -extern void VP8EncDspCostInitMIPS32(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPS32(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspCostInitMIPS32) #endif // WEBP_USE_MIPS32 diff --git a/src/dsp/cost_mips_dsp_r2.c b/src/dsp/cost_mips_dsp_r2.c index 4f9f8dae..ce640677 100644 --- a/src/dsp/cost_mips_dsp_r2.c +++ b/src/dsp/cost_mips_dsp_r2.c @@ -102,7 +102,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8EncDspCostInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspCostInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/cost_sse2.c b/src/dsp/cost_sse2.c index 67c29109..96f8f7fd 100644 --- a/src/dsp/cost_sse2.c +++ b/src/dsp/cost_sse2.c @@ -119,7 +119,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8EncDspCostInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspCostInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspCostInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/dec_mips32.c b/src/dsp/dec_mips32.c index edd5e93f..e85bbb15 100644 --- a/src/dsp/dec_mips32.c +++ b/src/dsp/dec_mips32.c @@ -582,7 +582,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMIPS32(void) { #else // !WEBP_USE_MIPS32 -extern void VP8DspInitMIPS32(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMIPS32(void) {} +WEBP_DSP_INIT_STUB(VP8DspInitMIPS32) #endif // WEBP_USE_MIPS32 diff --git a/src/dsp/dec_mips_dsp_r2.c b/src/dsp/dec_mips_dsp_r2.c index ecd2fa33..6590f439 100644 --- a/src/dsp/dec_mips_dsp_r2.c +++ b/src/dsp/dec_mips_dsp_r2.c @@ -989,7 +989,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8DspInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8DspInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/dec_neon.c b/src/dsp/dec_neon.c index 2e3a2770..86a830da 100644 --- a/src/dsp/dec_neon.c +++ b/src/dsp/dec_neon.c @@ -1486,7 +1486,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitNEON(void) { #else // !WEBP_USE_NEON -extern void VP8DspInitNEON(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitNEON(void) {} +WEBP_DSP_INIT_STUB(VP8DspInitNEON) #endif // WEBP_USE_NEON diff --git a/src/dsp/dec_sse2.c b/src/dsp/dec_sse2.c index 37ae01eb..744d5fb4 100644 --- a/src/dsp/dec_sse2.c +++ b/src/dsp/dec_sse2.c @@ -1280,7 +1280,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8DspInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8DspInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/dec_sse41.c b/src/dsp/dec_sse41.c index 23c4e3a7..dc1e7042 100644 --- a/src/dsp/dec_sse41.c +++ b/src/dsp/dec_sse41.c @@ -40,7 +40,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE41(void) { #else // !WEBP_USE_SSE41 -extern void VP8DspInitSSE41(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8DspInitSSE41(void) {} +WEBP_DSP_INIT_STUB(VP8DspInitSSE41) #endif // WEBP_USE_SSE41 diff --git a/src/dsp/dsp.h b/src/dsp/dsp.h index b52af8f0..785df706 100644 --- a/src/dsp/dsp.h +++ b/src/dsp/dsp.h @@ -122,6 +122,15 @@ typedef enum { typedef int (*VP8CPUInfo)(CPUFeature feature); WEBP_EXTERN(VP8CPUInfo) VP8GetCPUInfo; +//------------------------------------------------------------------------------ +// Init stub generator + +// Defines an init function stub to ensure each module exposes a symbol, +// avoiding a compiler warning. +#define WEBP_DSP_INIT_STUB(func) \ + extern void func(void); \ + WEBP_TSAN_IGNORE_FUNCTION void func(void) {} + //------------------------------------------------------------------------------ // Encoding diff --git a/src/dsp/enc_avx2.c b/src/dsp/enc_avx2.c index ea634e0d..93efb30b 100644 --- a/src/dsp/enc_avx2.c +++ b/src/dsp/enc_avx2.c @@ -18,7 +18,4 @@ //------------------------------------------------------------------------------ // Entry point -extern void VP8EncDspInitAVX2(void); - -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitAVX2(void) { -} +WEBP_DSP_INIT_STUB(VP8EncDspInitAVX2) diff --git a/src/dsp/enc_mips32.c b/src/dsp/enc_mips32.c index 6c1e2836..c5837f12 100644 --- a/src/dsp/enc_mips32.c +++ b/src/dsp/enc_mips32.c @@ -667,7 +667,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMIPS32(void) { #else // !WEBP_USE_MIPS32 -extern void VP8EncDspInitMIPS32(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMIPS32(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspInitMIPS32) #endif // WEBP_USE_MIPS32 diff --git a/src/dsp/enc_mips_dsp_r2.c b/src/dsp/enc_mips_dsp_r2.c index fa3bf510..56db07ca 100644 --- a/src/dsp/enc_mips_dsp_r2.c +++ b/src/dsp/enc_mips_dsp_r2.c @@ -1507,7 +1507,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8EncDspInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/enc_neon.c b/src/dsp/enc_neon.c index b6efb8db..c2aef58e 100644 --- a/src/dsp/enc_neon.c +++ b/src/dsp/enc_neon.c @@ -929,7 +929,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitNEON(void) { #else // !WEBP_USE_NEON -extern void VP8EncDspInitNEON(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitNEON(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspInitNEON) #endif // WEBP_USE_NEON diff --git a/src/dsp/enc_sse2.c b/src/dsp/enc_sse2.c index 130ee362..13030bc1 100644 --- a/src/dsp/enc_sse2.c +++ b/src/dsp/enc_sse2.c @@ -937,7 +937,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8EncDspInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/enc_sse41.c b/src/dsp/enc_sse41.c index 39b66d33..54b3ae1f 100644 --- a/src/dsp/enc_sse41.c +++ b/src/dsp/enc_sse41.c @@ -420,7 +420,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitSSE41(void) { #else // !WEBP_USE_SSE41 -extern void VP8EncDspInitSSE41(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8EncDspInitSSE41(void) {} +WEBP_DSP_INIT_STUB(VP8EncDspInitSSE41) #endif // WEBP_USE_SSE41 diff --git a/src/dsp/filters_mips_dsp_r2.c b/src/dsp/filters_mips_dsp_r2.c index ba8121ce..66f807dd 100644 --- a/src/dsp/filters_mips_dsp_r2.c +++ b/src/dsp/filters_mips_dsp_r2.c @@ -400,7 +400,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8FiltersInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8FiltersInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/filters_sse2.c b/src/dsp/filters_sse2.c index 97dfb10a..bf93342e 100644 --- a/src/dsp/filters_sse2.c +++ b/src/dsp/filters_sse2.c @@ -347,7 +347,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8FiltersInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8FiltersInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8FiltersInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/lossless_enc_mips32.c b/src/dsp/lossless_enc_mips32.c index 103944e1..922d88e7 100644 --- a/src/dsp/lossless_enc_mips32.c +++ b/src/dsp/lossless_enc_mips32.c @@ -413,7 +413,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMIPS32(void) { #else // !WEBP_USE_MIPS32 -extern void VP8LEncDspInitMIPS32(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMIPS32(void) {} +WEBP_DSP_INIT_STUB(VP8LEncDspInitMIPS32) #endif // WEBP_USE_MIPS32 diff --git a/src/dsp/lossless_enc_mips_dsp_r2.c b/src/dsp/lossless_enc_mips_dsp_r2.c index 06fed565..0abf3c4f 100644 --- a/src/dsp/lossless_enc_mips_dsp_r2.c +++ b/src/dsp/lossless_enc_mips_dsp_r2.c @@ -270,7 +270,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8LEncDspInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8LEncDspInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/lossless_enc_neon.c b/src/dsp/lossless_enc_neon.c index 076d91ec..8cd5a7ad 100644 --- a/src/dsp/lossless_enc_neon.c +++ b/src/dsp/lossless_enc_neon.c @@ -87,7 +87,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitNEON(void) { #else // !WEBP_USE_NEON -extern void VP8LEncDspInitNEON(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitNEON(void) {} +WEBP_DSP_INIT_STUB(VP8LEncDspInitNEON) #endif // WEBP_USE_NEON diff --git a/src/dsp/lossless_enc_sse2.c b/src/dsp/lossless_enc_sse2.c index 298190ad..3c09feef 100644 --- a/src/dsp/lossless_enc_sse2.c +++ b/src/dsp/lossless_enc_sse2.c @@ -188,7 +188,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8LEncDspInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LEncDspInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8LEncDspInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/lossless_mips_dsp_r2.c b/src/dsp/lossless_mips_dsp_r2.c index a5d1cf82..ad55f2c8 100644 --- a/src/dsp/lossless_mips_dsp_r2.c +++ b/src/dsp/lossless_mips_dsp_r2.c @@ -675,7 +675,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void VP8LDspInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(VP8LDspInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/lossless_neon.c b/src/dsp/lossless_neon.c index ec0217b3..42dbc40c 100644 --- a/src/dsp/lossless_neon.c +++ b/src/dsp/lossless_neon.c @@ -335,7 +335,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitNEON(void) { #else // !WEBP_USE_NEON -extern void VP8LDspInitNEON(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitNEON(void) {} +WEBP_DSP_INIT_STUB(VP8LDspInitNEON) #endif // WEBP_USE_NEON diff --git a/src/dsp/lossless_sse2.c b/src/dsp/lossless_sse2.c index e374a6b9..d3bc77b6 100644 --- a/src/dsp/lossless_sse2.c +++ b/src/dsp/lossless_sse2.c @@ -388,7 +388,6 @@ WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitSSE2(void) { #else // !WEBP_USE_SSE2 -extern void VP8LDspInitSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void VP8LDspInitSSE2(void) {} +WEBP_DSP_INIT_STUB(VP8LDspInitSSE2) #endif // WEBP_USE_SSE2 diff --git a/src/dsp/rescaler_mips32.c b/src/dsp/rescaler_mips32.c index 77898b72..467e6116 100644 --- a/src/dsp/rescaler_mips32.c +++ b/src/dsp/rescaler_mips32.c @@ -189,7 +189,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMIPS32(void) { #else // !WEBP_USE_MIPS32 -extern void WebPRescalerDspInitMIPS32(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMIPS32(void) {} +WEBP_DSP_INIT_STUB(WebPRescalerDspInitMIPS32) #endif // WEBP_USE_MIPS32 diff --git a/src/dsp/rescaler_mips_dsp_r2.c b/src/dsp/rescaler_mips_dsp_r2.c index a193c98b..68dcb189 100644 --- a/src/dsp/rescaler_mips_dsp_r2.c +++ b/src/dsp/rescaler_mips_dsp_r2.c @@ -207,7 +207,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void WebPRescalerDspInitMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPRescalerDspInitMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(WebPRescalerDspInitMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/upsampling_mips_dsp_r2.c b/src/dsp/upsampling_mips_dsp_r2.c index a8edb563..9c9665fe 100644 --- a/src/dsp/upsampling_mips_dsp_r2.c +++ b/src/dsp/upsampling_mips_dsp_r2.c @@ -273,12 +273,10 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void WebPInitYUV444ConvertersMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitYUV444ConvertersMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(WebPInitYUV444ConvertersMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 #if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_MIPS_DSP_R2)) -extern void WebPInitUpsamplersMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(WebPInitUpsamplersMIPSdspR2) #endif diff --git a/src/dsp/upsampling_neon.c b/src/dsp/upsampling_neon.c index 8597f155..a8384c21 100644 --- a/src/dsp/upsampling_neon.c +++ b/src/dsp/upsampling_neon.c @@ -257,6 +257,5 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersNEON(void) { #endif // WEBP_USE_NEON #if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_NEON)) -extern void WebPInitUpsamplersNEON(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersNEON(void) {} +WEBP_DSP_INIT_STUB(WebPInitUpsamplersNEON) #endif diff --git a/src/dsp/upsampling_sse2.c b/src/dsp/upsampling_sse2.c index ca70069e..ce5c1725 100644 --- a/src/dsp/upsampling_sse2.c +++ b/src/dsp/upsampling_sse2.c @@ -204,6 +204,5 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) { #endif // WEBP_USE_SSE2 #if !(defined(FANCY_UPSAMPLING) && defined(WEBP_USE_SSE2)) -extern void WebPInitUpsamplersSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitUpsamplersSSE2(void) {} +WEBP_DSP_INIT_STUB(WebPInitUpsamplersSSE2) #endif diff --git a/src/dsp/yuv_mips32.c b/src/dsp/yuv_mips32.c index 80b9ba3c..018f8ab7 100644 --- a/src/dsp/yuv_mips32.c +++ b/src/dsp/yuv_mips32.c @@ -98,7 +98,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPS32(void) { #else // !WEBP_USE_MIPS32 -extern void WebPInitSamplersMIPS32(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPS32(void) {} +WEBP_DSP_INIT_STUB(WebPInitSamplersMIPS32) #endif // WEBP_USE_MIPS32 diff --git a/src/dsp/yuv_mips_dsp_r2.c b/src/dsp/yuv_mips_dsp_r2.c index 8f6caa93..43f02cca 100644 --- a/src/dsp/yuv_mips_dsp_r2.c +++ b/src/dsp/yuv_mips_dsp_r2.c @@ -129,7 +129,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPSdspR2(void) { #else // !WEBP_USE_MIPS_DSP_R2 -extern void WebPInitSamplersMIPSdspR2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersMIPSdspR2(void) {} +WEBP_DSP_INIT_STUB(WebPInitSamplersMIPSdspR2) #endif // WEBP_USE_MIPS_DSP_R2 diff --git a/src/dsp/yuv_sse2.c b/src/dsp/yuv_sse2.c index d7671ce3..47d99e73 100644 --- a/src/dsp/yuv_sse2.c +++ b/src/dsp/yuv_sse2.c @@ -319,7 +319,6 @@ WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersSSE2(void) { #else // !WEBP_USE_SSE2 -extern void WebPInitSamplersSSE2(void); -WEBP_TSAN_IGNORE_FUNCTION void WebPInitSamplersSSE2(void) {} +WEBP_DSP_INIT_STUB(WebPInitSamplersSSE2) #endif // WEBP_USE_SSE2