https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78172
Bug ID: 78172 Summary: gen-sysinfo.go vs AIX cred.h Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: dje at gcc dot gnu.org CC: cmang at google dot com Target Milestone: --- Target: powerpc-ibm-aix* Linux has a fairly simple ucred, but AIX has a large, complicated one with multiple variations that appears to be too much for sysinfo.go. /opt/freeware/src/packages/BUILD/gcc-build-6.2.0/./gcc/gccgo -B/opt/freeware/src/packages/BUILD/gcc-build-6.2.0/./gcc/ -B/opt/freeware/powerpc-ibm-aix6.1.0.0/bin/ -B/opt/freeware/powerpc-ibm-aix6.1.0.0/lib/ -isystem /opt/freeware/powerpc-ibm-aix6.1.0.0/include -isystem /opt/freeware/powerpc-ibm-aix6.1.0.0/sys-include -g -O2 -I. -c -fgo-pkgpath=syscall ../../../gcc-6.2.0/libgo/go/syscall/env_unix.go ../../../gcc-6.2.0/libgo/go/syscall/syscall_errno.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_support.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_posix.go ../../../gcc-6.2.0/libgo/go/syscall/msan0.go ../../../gcc-6.2.0/libgo/go/syscall/socket.go ../../../gcc-6.2.0/libgo/go/syscall/sockcmsg_unix.go ../../../gcc-6.2.0/libgo/go/syscall/str.go ../../../gcc-6.2.0/libgo/go/syscall/syscall.go ../../../gcc-6.2.0/libgo/go/syscall/syscall_stubs.go ../../../gcc-6.2.0/libgo/go/syscall/exec_unix.go ../../../gcc-6.2.0/libgo/go/syscall/exec_bsd.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_wait4.go ../../../gcc-6.2.0/libgo/go/syscall/sleep_select.go ../../../gcc-6.2.0/libgo/go/syscall/errstr.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_posix_regfile.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_bsd.go ../../../gcc-6.2.0/libgo/go/syscall/socket_bsd.go ../../../gcc-6.2.0/libgo/go/syscall/socket_posix.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_uname.go ../../../gcc-6.2.0/libgo/go/syscall/libcall_posix_utimesnano.go libcalls.go sysinfo.go syscall_arch.go -fPIC -o .libs/syscall.o sysinfo.go:10171:307: error: expected ';' or newline after top level declaration id uint32; Cr_sgid uint32; Cr_ngrps int16; Cr_caps int16; Cr_groupset _groupset_t; Cr_mpriv _priv_t; Cr_ipriv _priv_t; Cr_epriv _priv_t; Cr_bpriv _priv_t; Cr_pag int32; } type _ucred_43 struct { ocr_ref int32; Ocr_ruid uint32; Ocr_uid uint32; Ocr_suid uint32; Ocr_luid uint32; Ocr_acctid uint32; Ocr_gid uint32; Ocr_rgid uint32; Ocr_sgid uint32; Ocr_ngrps int16; Ocr_groups [31+1]uint32; Ocr_mpriv _priv_t; Ocr_ipriv _priv_t; Ocr_epriv _priv_t; Ocr_bpriv _priv_t; Ocr_pag int32; } type _ucred_ext struct { crx_ruid uint32; Crx_uid uint32; Crx_suid uint32; Crx_luid uint32; Crx_acctid uint32; Crx_gid uint32; Crx_rgid uint32; Crx_sgid uint32; Crx_ngrps int32; Crx_groups [127+1]uint32; Crx_reserved_1 int32; Crx_caps ___cap_t; Crx_mpriv _priv_t; Crx_ipriv _priv_t; Crx_epriv _priv_t; Crx_bpriv _priv_t; Crx_npags int32; Crx_pagids [15+1]uint8; Crx_pags [15+1]int32; Crx_reserved_2 int32; Crx_roles [7+1]uint32; Crx_nroles int16; Crx_reserved_3 int16; Crx_flags uint32; Crx_effpriv _privg_t; Crx_maxpriv _privg_t; Crx_inhpriv _privg_t; Crx_limpriv _privg_t; Crx_usedpriv _privg_t; Crx_pad [31+1]int32; } type _ucred_ext2_t struct { crx2_labels _sec_labels_t; Crx_pad [147+1]int32; } ^ sysinfo.go:10171:346: error: expected declaration Could this be a complaint about missing declaration of the _priv_t type, defined by priv.h on AIX?