8348286: [AIX] clang 17 introduces new warning Wtentative-Definitions which produces Build errors

Reviewed-by: ihse, azvegint
This commit is contained in:
Joachim Kern 2025-01-28 10:25:36 +00:00
parent 558255ae70
commit a4942a2f7a
4 changed files with 187 additions and 155 deletions

View File

@ -24,8 +24,78 @@
*/
#include <jni.h>
#include "jni_util.h"
#define IMGEXTERN
#include "imageInitIDs.h"
/* BufferedImage ids */
jfieldID g_BImgRasterID;
jfieldID g_BImgTypeID;
jfieldID g_BImgCMID;
jmethodID g_BImgGetRGBMID;
jmethodID g_BImgSetRGBMID;
/* Raster ids */
jfieldID g_RasterWidthID;
jfieldID g_RasterHeightID;
jfieldID g_RasterMinXID;
jfieldID g_RasterMinYID;
jfieldID g_RasterBaseOriginXID;
jfieldID g_RasterBaseOriginYID;
jfieldID g_RasterSampleModelID;
jfieldID g_RasterDataBufferID;
jfieldID g_RasterNumDataElementsID;
jfieldID g_RasterNumBandsID;
jfieldID g_BCRdataID;
jfieldID g_BCRscanstrID;
jfieldID g_BCRpixstrID;
jfieldID g_BCRdataOffsetsID;
jfieldID g_BCRtypeID;
jfieldID g_BPRdataID;
jfieldID g_BPRscanstrID;
jfieldID g_BPRpixstrID;
jfieldID g_BPRtypeID;
jfieldID g_BPRdataBitOffsetID;
jfieldID g_SCRdataID;
jfieldID g_SCRscanstrID;
jfieldID g_SCRpixstrID;
jfieldID g_SCRdataOffsetsID;
jfieldID g_SCRtypeID;
jfieldID g_ICRdataID;
jfieldID g_ICRscanstrID;
jfieldID g_ICRpixstrID;
jfieldID g_ICRdataOffsetsID;
jfieldID g_ICRtypeID;
/* Color Model ids */
jfieldID g_CMnBitsID;
jfieldID g_CMcspaceID;
jfieldID g_CMnumComponentsID;
jfieldID g_CMsuppAlphaID;
jfieldID g_CMisAlphaPreID;
jfieldID g_CMtransparencyID;
jfieldID g_CMcsTypeID;
jfieldID g_CMis_sRGBID;
jmethodID g_CMgetRGBdefaultMID;
jfieldID g_ICMtransIdxID;
jfieldID g_ICMmapSizeID;
jfieldID g_ICMrgbID;
/* Sample Model ids */
jfieldID g_SMWidthID;
jfieldID g_SMHeightID;
jmethodID g_SMGetPixelsMID;
jmethodID g_SMSetPixelsMID;
/* Single Pixel Packed Sample Model ids */
jfieldID g_SPPSMmaskArrID;
jfieldID g_SPPSMmaskOffID;
jfieldID g_SPPSMnBitsID;
jfieldID g_SPPSMmaxBitID;
/* Kernel ids */
jfieldID g_KernelWidthID;
jfieldID g_KernelHeightID;
jfieldID g_KernelDataID;
JNIEXPORT void JNICALL
Java_java_awt_image_BufferedImage_initIDs(JNIEnv *env, jclass cls) {

View File

@ -28,80 +28,76 @@
#include "jni.h"
#ifndef IMGEXTERN
# define IMGEXTERN extern
#endif
/* BufferedImage ids */
IMGEXTERN jfieldID g_BImgRasterID;
IMGEXTERN jfieldID g_BImgTypeID;
IMGEXTERN jfieldID g_BImgCMID;
IMGEXTERN jmethodID g_BImgGetRGBMID;
IMGEXTERN jmethodID g_BImgSetRGBMID;
extern jfieldID g_BImgRasterID;
extern jfieldID g_BImgTypeID;
extern jfieldID g_BImgCMID;
extern jmethodID g_BImgGetRGBMID;
extern jmethodID g_BImgSetRGBMID;
/* Raster ids */
IMGEXTERN jfieldID g_RasterWidthID;
IMGEXTERN jfieldID g_RasterHeightID;
IMGEXTERN jfieldID g_RasterMinXID;
IMGEXTERN jfieldID g_RasterMinYID;
IMGEXTERN jfieldID g_RasterBaseOriginXID;
IMGEXTERN jfieldID g_RasterBaseOriginYID;
IMGEXTERN jfieldID g_RasterSampleModelID;
IMGEXTERN jfieldID g_RasterDataBufferID;
IMGEXTERN jfieldID g_RasterNumDataElementsID;
IMGEXTERN jfieldID g_RasterNumBandsID;
extern jfieldID g_RasterWidthID;
extern jfieldID g_RasterHeightID;
extern jfieldID g_RasterMinXID;
extern jfieldID g_RasterMinYID;
extern jfieldID g_RasterBaseOriginXID;
extern jfieldID g_RasterBaseOriginYID;
extern jfieldID g_RasterSampleModelID;
extern jfieldID g_RasterDataBufferID;
extern jfieldID g_RasterNumDataElementsID;
extern jfieldID g_RasterNumBandsID;
IMGEXTERN jfieldID g_BCRdataID;
IMGEXTERN jfieldID g_BCRscanstrID;
IMGEXTERN jfieldID g_BCRpixstrID;
IMGEXTERN jfieldID g_BCRdataOffsetsID;
IMGEXTERN jfieldID g_BCRtypeID;
IMGEXTERN jfieldID g_BPRdataID;
IMGEXTERN jfieldID g_BPRscanstrID;
IMGEXTERN jfieldID g_BPRpixstrID;
IMGEXTERN jfieldID g_BPRtypeID;
IMGEXTERN jfieldID g_BPRdataBitOffsetID;
IMGEXTERN jfieldID g_SCRdataID;
IMGEXTERN jfieldID g_SCRscanstrID;
IMGEXTERN jfieldID g_SCRpixstrID;
IMGEXTERN jfieldID g_SCRdataOffsetsID;
IMGEXTERN jfieldID g_SCRtypeID;
IMGEXTERN jfieldID g_ICRdataID;
IMGEXTERN jfieldID g_ICRscanstrID;
IMGEXTERN jfieldID g_ICRpixstrID;
IMGEXTERN jfieldID g_ICRdataOffsetsID;
IMGEXTERN jfieldID g_ICRtypeID;
extern jfieldID g_BCRdataID;
extern jfieldID g_BCRscanstrID;
extern jfieldID g_BCRpixstrID;
extern jfieldID g_BCRdataOffsetsID;
extern jfieldID g_BCRtypeID;
extern jfieldID g_BPRdataID;
extern jfieldID g_BPRscanstrID;
extern jfieldID g_BPRpixstrID;
extern jfieldID g_BPRtypeID;
extern jfieldID g_BPRdataBitOffsetID;
extern jfieldID g_SCRdataID;
extern jfieldID g_SCRscanstrID;
extern jfieldID g_SCRpixstrID;
extern jfieldID g_SCRdataOffsetsID;
extern jfieldID g_SCRtypeID;
extern jfieldID g_ICRdataID;
extern jfieldID g_ICRscanstrID;
extern jfieldID g_ICRpixstrID;
extern jfieldID g_ICRdataOffsetsID;
extern jfieldID g_ICRtypeID;
/* Color Model ids */
IMGEXTERN jfieldID g_CMnBitsID;
IMGEXTERN jfieldID g_CMcspaceID;
IMGEXTERN jfieldID g_CMnumComponentsID;
IMGEXTERN jfieldID g_CMsuppAlphaID;
IMGEXTERN jfieldID g_CMisAlphaPreID;
IMGEXTERN jfieldID g_CMtransparencyID;
IMGEXTERN jfieldID g_CMcsTypeID;
IMGEXTERN jfieldID g_CMis_sRGBID;
IMGEXTERN jmethodID g_CMgetRGBdefaultMID;
extern jfieldID g_CMnBitsID;
extern jfieldID g_CMcspaceID;
extern jfieldID g_CMnumComponentsID;
extern jfieldID g_CMsuppAlphaID;
extern jfieldID g_CMisAlphaPreID;
extern jfieldID g_CMtransparencyID;
extern jfieldID g_CMcsTypeID;
extern jfieldID g_CMis_sRGBID;
extern jmethodID g_CMgetRGBdefaultMID;
IMGEXTERN jfieldID g_ICMtransIdxID;
IMGEXTERN jfieldID g_ICMmapSizeID;
IMGEXTERN jfieldID g_ICMrgbID;
extern jfieldID g_ICMtransIdxID;
extern jfieldID g_ICMmapSizeID;
extern jfieldID g_ICMrgbID;
/* Sample Model ids */
IMGEXTERN jfieldID g_SMWidthID;
IMGEXTERN jfieldID g_SMHeightID;
IMGEXTERN jmethodID g_SMGetPixelsMID;
IMGEXTERN jmethodID g_SMSetPixelsMID;
extern jfieldID g_SMWidthID;
extern jfieldID g_SMHeightID;
extern jmethodID g_SMGetPixelsMID;
extern jmethodID g_SMSetPixelsMID;
/* Single Pixel Packed Sample Model ids */
IMGEXTERN jfieldID g_SPPSMmaskArrID;
IMGEXTERN jfieldID g_SPPSMmaskOffID;
IMGEXTERN jfieldID g_SPPSMnBitsID;
IMGEXTERN jfieldID g_SPPSMmaxBitID;
extern jfieldID g_SPPSMmaskArrID;
extern jfieldID g_SPPSMmaskOffID;
extern jfieldID g_SPPSMnBitsID;
extern jfieldID g_SPPSMmaxBitID;
/* Kernel ids */
IMGEXTERN jfieldID g_KernelWidthID;
IMGEXTERN jfieldID g_KernelHeightID;
IMGEXTERN jfieldID g_KernelDataID;
extern jfieldID g_KernelWidthID;
extern jfieldID g_KernelHeightID;
extern jfieldID g_KernelDataID;
#endif /* IMAGEINITIDS_H */

View File

@ -1,90 +0,0 @@
/*
* Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifdef HEADLESS
#error This file should not be included in headless library
#endif
#ifndef _FP_PIPEWIRE_H
#define _FP_PIPEWIRE_H
struct pw_buffer *(*fp_pw_stream_dequeue_buffer)(struct pw_stream *stream);
const char * (*fp_pw_stream_state_as_string)(enum pw_stream_state state);
int (*fp_pw_stream_queue_buffer)(struct pw_stream *stream,
struct pw_buffer *buffer);
int (*fp_pw_stream_set_active)(struct pw_stream *stream, bool active);
int (*fp_pw_stream_connect)(
struct pw_stream *stream,
enum pw_direction direction,
uint32_t target_id,
enum pw_stream_flags flags,
const struct spa_pod **params,
uint32_t n_params);
struct pw_stream *(*fp_pw_stream_new)(
struct pw_core *core,
const char *name,
struct pw_properties *props
);
void (*fp_pw_stream_add_listener)(struct pw_stream *stream,
struct spa_hook *listener,
const struct pw_stream_events *events,
void *data);
int (*fp_pw_stream_disconnect)(struct pw_stream *stream);
void (*fp_pw_stream_destroy)(struct pw_stream *stream);
void (*fp_pw_init)(int *argc, char **argv[]);
struct pw_core *
(*fp_pw_context_connect_fd)(struct pw_context *context,
int fd,
struct pw_properties *properties,
size_t user_data_size);
int (*fp_pw_core_disconnect)(struct pw_core *core);
struct pw_context * (*fp_pw_context_new)(struct pw_loop *main_loop,
struct pw_properties *props,
size_t user_data_size);
struct pw_thread_loop *
(*fp_pw_thread_loop_new)(const char *name, const struct spa_dict *props);
struct pw_loop * (*fp_pw_thread_loop_get_loop)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_signal)(struct pw_thread_loop *loop,
bool wait_for_accept);
void (*fp_pw_thread_loop_wait)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_accept)(struct pw_thread_loop *loop);
int (*fp_pw_thread_loop_start)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_stop)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_destroy)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_lock)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_unlock)(struct pw_thread_loop *loop);
struct pw_properties * (*fp_pw_properties_new)(const char *key, ...);
#endif //_FP_PIPEWIRE_H

View File

@ -31,7 +31,63 @@
#include "jni_util.h"
#include "awt.h"
#include "screencast_pipewire.h"
#include "fp_pipewire.h"
struct pw_buffer *(*fp_pw_stream_dequeue_buffer)(struct pw_stream *stream);
const char * (*fp_pw_stream_state_as_string)(enum pw_stream_state state);
int (*fp_pw_stream_queue_buffer)(struct pw_stream *stream,
struct pw_buffer *buffer);
int (*fp_pw_stream_set_active)(struct pw_stream *stream, bool active);
int (*fp_pw_stream_connect)(
struct pw_stream *stream,
enum pw_direction direction,
uint32_t target_id,
enum pw_stream_flags flags,
const struct spa_pod **params,
uint32_t n_params);
struct pw_stream *(*fp_pw_stream_new)(
struct pw_core *core,
const char *name,
struct pw_properties *props
);
void (*fp_pw_stream_add_listener)(struct pw_stream *stream,
struct spa_hook *listener,
const struct pw_stream_events *events,
void *data);
int (*fp_pw_stream_disconnect)(struct pw_stream *stream);
void (*fp_pw_stream_destroy)(struct pw_stream *stream);
void (*fp_pw_init)(int *argc, char **argv[]);
struct pw_core *
(*fp_pw_context_connect_fd)(struct pw_context *context,
int fd,
struct pw_properties *properties,
size_t user_data_size);
int (*fp_pw_core_disconnect)(struct pw_core *core);
struct pw_context * (*fp_pw_context_new)(struct pw_loop *main_loop,
struct pw_properties *props,
size_t user_data_size);
struct pw_thread_loop *
(*fp_pw_thread_loop_new)(const char *name, const struct spa_dict *props);
struct pw_loop * (*fp_pw_thread_loop_get_loop)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_signal)(struct pw_thread_loop *loop,
bool wait_for_accept);
void (*fp_pw_thread_loop_wait)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_accept)(struct pw_thread_loop *loop);
int (*fp_pw_thread_loop_start)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_stop)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_destroy)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_lock)(struct pw_thread_loop *loop);
void (*fp_pw_thread_loop_unlock)(struct pw_thread_loop *loop);
struct pw_properties * (*fp_pw_properties_new)(const char *key, ...);
#include <stdio.h>
#include "gtk_interface.h"