> Where is struct free_sock_hash_bucket declared?
It's in /usr/include/sys/socketvar.h. The problem is it also has that forward
declaration. So first up in that file we have:
extern struct free_sock_hash_bucket free_sock_hash_table[];
And then a bit later:
/*----------------------------------------------
//
// free_sock_hash_bucket
//
*/
#define FREE_SOCK_HASH_SZ 103
struct free_sock_hash_bucket
{
int fsh_freecnt;
simple_lock_data_t fsh_lock;
int fsh_intrlvl;
struct socket *fsh_freelist;
};
This is why I don't know that we can do anything about it other than work
around it in our code.
Thanks!
-Ben
________________________________
From: Jeffrey Altman
Sent: Saturday, November 30, 2024 6:43 PM
To: Ben Huntsman
Cc: openafs-devel
Subject: Re: [OpenAFS-devel] Clang (Open XL C 17.1+) on AIX
On Nov 30, 2024, at 5:52 PM, Ben Huntsman <[email protected]> wrote:
In file included from
/home/build/openafs/src/external/heimdal/hcrypto/sha256.c:34:
In file included from /home/build/openafs/src/crypto/hcrypto/kernel/config.h:30:
In file included from /home/build/openafs/src/afs/sysincludes.h:276:
../sys/socketvar.h:158:57: error: array has incomplete element type 'struct
free_sock_hash_bucket'
extern struct free_sock_hash_bucket free_sock_hash_table[];
^
../sys/socketvar.h:158:15: note: forward declaration of 'struct
free_sock_hash_bucket'
extern struct free_sock_hash_bucket free_sock_hash_table[];
^
Unfortunately sys/socketvar.h is an AIX-supplied header file, so we can't
change it. I could open a bug report with IBM but even if they fix it in the
future we still need to deal with this situation for this version.
Where is struct free_sock_hash_bucket declared?