=> Bootstrap dependency digest>=20010302: found digest-20190127
===> Skipping vulnerability checks.
WARNING: No /var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities'.
===> Skipping vulnerability checks.
WARNING: No /var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities'.
===> Building for sfslite-1.2.7nb1
cd . && /bin/sh /data/scratch/devel/sfslite/work/sfslite-1.2.7/missing --run aclocal-1.10 -I m4
WARNING: 'aclocal' is missing on your system.  You should only need it if
         you modified 'acinclude.m4' or 'configure.in'.  You might want
         to install the Automake and Perl packages.  Grab them from
         any GNU archive site.
cd . && /bin/sh /data/scratch/devel/sfslite/work/sfslite-1.2.7/missing --run autoconf
 cd . && /bin/sh /data/scratch/devel/sfslite/work/sfslite-1.2.7/missing --run automake-1.10 --gnu 
WARNING: 'autoconf' is missing on your system.  You should only need it if
         you modified 'configure.in'.  You might want to install the
         Autoconf and GNU m4 packages.  Grab them from any GNU
         archive site.
/bin/sh ./config.status --recheck
WARNING: 'automake' is missing on your system.  You should only need it if
         you modified 'Makefile.am', 'acinclude.m4' or 'configure.in'.
         You might want to install the Automake and Perl packages.
         Grab them from any GNU archive site.
 cd . && /bin/sh ./config.status Makefile 
config.status: creating Makefile
/bin/sh ./config.status --recheck
cd . && /bin/sh /data/scratch/devel/sfslite/work/sfslite-1.2.7/missing --run autoheader
WARNING: 'autoheader' is missing on your system.  You should only need it if
         you modified 'acconfig.h' or 'configure.in'.  You might want
         to install the Autoconf and GNU m4 packages.  Grab them
         from any GNU archive site.
rm -f stamp-h1
touch config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
sed -f ./autoconf.sed config.h > autoconf.h~
cmp autoconf.h~ autoconf.h > /dev/null 2>&1 \
	|| mv -f autoconf.h~ autoconf.h
/usr/pkg/bin/gmake  all-recursive
gmake[1]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
Making all in async
gmake[2]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/async'
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
 cd .. && /bin/sh ./config.status async/Makefile depfiles
config.status: creating async/Makefile
config.status: executing depfiles commands
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT arandom.lo -MD -MP -MF .deps/arandom.Tpo -c -o arandom.lo arandom.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT clock_gettime.lo -MD -MP -MF .deps/clock_gettime.Tpo -c -o clock_gettime.lo clock_gettime.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT flock.lo -MD -MP -MF .deps/flock.Tpo -c -o flock.lo flock.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT rwfd.lo -MD -MP -MF .deps/rwfd.Tpo -c -o rwfd.lo rwfd.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -w -c ./stktrace.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT suidprotect.lo -MD -MP -MF .deps/suidprotect.Tpo -c -o suidprotect.lo suidprotect.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT maketables.lo -MD -MP -MF .deps/maketables.Tpo -c -o maketables.lo maketables.c
clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT dftables.o -MD -MP -MF .deps/dftables.Tpo -c -o dftables.o dftables.c
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT arandom.lo -MD -MP -MF .deps/arandom.Tpo -c arandom.c  -fPIC -DPIC -o .libs/arandom.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT suidprotect.lo -MD -MP -MF .deps/suidprotect.Tpo -c suidprotect.c  -fPIC -DPIC -o .libs/suidprotect.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rwfd.lo -MD -MP -MF .deps/rwfd.Tpo -c rwfd.c  -fPIC -DPIC -o .libs/rwfd.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT maketables.lo -MD -MP -MF .deps/maketables.Tpo -c maketables.c  -fPIC -DPIC -o .libs/maketables.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -w -c ./stktrace.c  -fPIC -DPIC -o .libs/stktrace.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT flock.lo -MD -MP -MF .deps/flock.Tpo -c flock.c  -fPIC -DPIC -o .libs/flock.o
mv -f .deps/dftables.Tpo .deps/dftables.Po
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT study.lo -MD -MP -MF .deps/study.Tpo -c -o study.lo study.c
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT suidprotect.lo -MD -MP -MF .deps/suidprotect.Tpo -c suidprotect.c -o suidprotect.o >/dev/null 2>&1
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -w -c ./stktrace.c -o stktrace.o >/dev/null 2>&1
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT flock.lo -MD -MP -MF .deps/flock.Tpo -c flock.c -o flock.o >/dev/null 2>&1
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT arandom.lo -MD -MP -MF .deps/arandom.Tpo -c arandom.c -o arandom.o >/dev/null 2>&1
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT maketables.lo -MD -MP -MF .deps/maketables.Tpo -c maketables.c -o maketables.o >/dev/null 2>&1
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT aerr.lo -MD -MP -MF .deps/aerr.Tpo -c -o aerr.lo aerr.C
mv -f .deps/arandom.Tpo .deps/arandom.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT aio.lo -MD -MP -MF .deps/aio.Tpo -c -o aio.lo aio.C
mv -f .deps/suidprotect.Tpo .deps/suidprotect.Plo
mv -f .deps/flock.Tpo .deps/flock.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT aios.lo -MD -MP -MF .deps/aios.Tpo -c -o aios.lo aios.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT arena.lo -MD -MP -MF .deps/arena.Tpo -c -o arena.lo arena.C
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rwfd.lo -MD -MP -MF .deps/rwfd.Tpo -c rwfd.c -o rwfd.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aios.lo -MD -MP -MF .deps/aios.Tpo -c aios.C  -fPIC -DPIC -o .libs/aios.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT arena.lo -MD -MP -MF .deps/arena.Tpo -c arena.C  -fPIC -DPIC -o .libs/arena.o
mv -f .deps/maketables.Tpo .deps/maketables.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT armor.lo -MD -MP -MF .deps/armor.Tpo -c -o armor.lo armor.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aio.lo -MD -MP -MF .deps/aio.Tpo -c aio.C  -fPIC -DPIC -o .libs/aio.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aerr.lo -MD -MP -MF .deps/aerr.Tpo -c aerr.C  -fPIC -DPIC -o .libs/aerr.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT clock_gettime.lo -MD -MP -MF .deps/clock_gettime.Tpo -c clock_gettime.c  -fPIC -DPIC -o .libs/clock_gettime.o
mv -f .deps/rwfd.Tpo .deps/rwfd.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT bbuddy.lo -MD -MP -MF .deps/bbuddy.Tpo -c -o bbuddy.lo bbuddy.C
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT armor.lo -MD -MP -MF .deps/armor.Tpo -c armor.C  -fPIC -DPIC -o .libs/armor.o
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT study.lo -MD -MP -MF .deps/study.Tpo -c study.c  -fPIC -DPIC -o .libs/study.o
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
./str.h:178:1:./callback.h :warning2459: :'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]11
: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT clock_gettime.lo -MD -MP -MF .deps/clock_gettime.Tpo -c clock_gettime.c -o clock_gettime.o >/dev/null 2>&1
                    ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30./str.h:
:./callback.h91::102460:: 11: notewarning: : did you mean struct here?struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

  friend class bssstr;
         ^~~~~
         struct
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aiod.h:68:11: note: in instantiation of template class 'callback<void, ptr<aiobuf>, void, void>' requested here
  typedef callback<void, ptr<aiobuf> >::ref cbb;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aiod.h:70:11: note: in instantiation of template class 'callback<void, stat *, int, void>' requested here
  typedef callback<void, struct stat *, int>::ref cbstat;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aiod.h:71:11: note: in instantiation of template class 'callback<void, statvfs *, int, void>' requested here
  typedef callback<void, struct statvfs *, int>::ref cbstatvfs;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aiod.h:72:11: note: in instantiation of template class 'callback<void, ptr<aiofh>, int, void>' requested here
  typedef callback<void, ptr<aiofh>, int>::ref cbopen;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:105:17: note: in instantiation of template class 'ref<aiobuf>' requested here
    ref<aiobuf> buf;
                ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./vec.h:58:27: note: in instantiation of template class 'ref<callback<void, ptr<aiobuf>, void, void>>' requested here
    char defbuf_space[N * sizeof (elm_t)];
                          ^
./vec.h:56:3: note: in instantiation of member class 'vec_base<ref<callback<void, ptr<aiobuf>, void, void>>, 1>::(anonymous)' requested here
  union {
  ^
./vec.h:89:52: note: in instantiation of template class 'vec_base<ref<callback<void, ptr<aiobuf>, void, void>>, 1>' requested here
template<class T, size_t N = 0> class vec : public vec_base<T, N> {
                                                   ^
./aiod.h:107:17: note: in instantiation of template class 'vec<ref<callback<void, ptr<aiobuf>, void, void>>, 1>' requested here
    vec<cbb, 1> cbvec;
                ^
In file included from armor.C:24:
In file included from ./serial.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./aiod.h:111:10: warning./array.h: :class 'request' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]75
:29: note: did you mean class here?
  friend class request;
         ^
./aiod.h:104:10: note: previous use is here
template<class T, size_t n> struct array;  struct request {

                            ^~~~~~
         ^                            class

./aiod.h:111:10: note: did you mean struct here?
  friend class request;
         ^~~~~
         struct
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, aiod::request *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
In file included from ./ihash.haerr.C::24225::
12In file included from : ./async.hnote:28:
: In file included from ./amisc.hin instantiation of template class 'ihash_core<aiod::request, &aiod::request::hlink>' requested here
:29:
In file included from ./err.h:28:
In file included from ./str.h:29  : public ihash_core<V, field>:
In file included from 
./suio++.h           ^:
30:
In file included from ./callback.h:626:
./aiod.h./refcnt.h:136::423:64: 11note: : warningin instantiation of template class 'ihash<const unsigned long, aiod::request, &aiod::request::pos, &aiod::request::hlink, hashfn<const unsigned long>, equals<const unsigned long>>' requested here: 
struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h  ihash<const size_t, request, &request::pos, &request::hlink> rqtab;:
57                                                               ^:
10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
In file included from          ^aio.C:25
:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const aiod::request &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<aiod::request, &aiod::request::hlink>' requested here
  : public ihash_core<V, field>
           ^
./aiod.h:136:64: note: in instantiation of template class 'ihash<const unsigned long, aiod::request, &aiod::request::pos, &aiod::request::hlink, hashfn<const unsigned long>, equals<const unsigned long>>' requested here
  ihash<const size_t, request, &request::pos, &request::hlink> rqtab;
                                                               ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aiod.h:177:29: note: in instantiation of template class 'ptr<aiobuf>' requested here
  { pathop (op, path, NULL, wrap (cbstat_cb, cb), sizeof (struct stat)); }
                            ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:177:29: note: in instantiation of template class 'ref<callback<void, stat *, int, void>>' requested here
  { pathop (op, path, NULL, wrap (cbstat_cb, cb), sizeof (struct stat)); }
                            ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:179:31: note: in instantiation of template class 'ref<callback<void, statvfs *, int, void>>' requested here
    { pathop (op, path, NULL, wrap (cbstatvfs_cb, cb), 
                              ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aios.h:41:11: note: in instantiation of template class 'callback<void, int, void, void>' requested here
  typedef callback<void, int>::ptr wcb_t;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:211:33: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
  void readlink (str path, cbsi cb)
                                ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:221:54: note: in instantiation of template class 'ref<callback<void, ptr<aiofh>, int, void>>' requested here
  void open2 (sfs::bundle_t<str, int, int> b, cbopen cb)
                                                     ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aiod.h:260:11: note: in instantiation of template class 'callback<void, ptr<aiobuf>, long, int>' requested here
  typedef callback<void, ptr<aiobuf>, ssize_t, int>::ref cbrw;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
In file included from ./aiod.haios.C::27126::
In file included from In file included from ./aios.harmor.C:28:28::
24In file included from :
./str.h: 29In file included from note:
./serial.hIn file included from ./suio++.h::: 30in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here28:

In file included from :
./callback.hIn file included from :./str.h626  void sendclose (cbi::ptr cb = NULL);:

./refcnt.h:                           ^29:
:
485In file included from :./suio++.h11::30 :
warningIn file included from : ./callback.hstruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
626:
./refcnt.h:536:1:  typedef struct ref<T> ref;
           ^warning
: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
./aios.h:161:44:struct mkcref { 
note^: 
in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:286:35: note: in instantiation of template class 'ref<aiofh>' requested here
    { simpleop (AIOD_FSYNC, wrap (mkref (this), &aiofh::cbi_cb, cb), 
                                  ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aiod.h:291:47: note: in instantiation of template class 'ref<callback<void, ptr<aiobuf>, long, int>>' requested here
  void read (off_t pos, ptr<aiobuf> buf, cbrw cb)
                                              ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
aio.C:255:19: note: in instantiation of template class 'ref<callback<void, aiod::request *, void, void>>' requested here
  rqtab.traverse (wrap (this, &aiod::delreq));
                  ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
aio.C:255:19: note: in instantiation of template class 'ref<callback<void, const aiod::request &, void, void>>' requested here
  rqtab.traverse (wrap (this, &aiod::delreq));
                  ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from aerr.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aio.C:422:6: note: in instantiation of template class 'ptr<aiofh>' requested here
    (*cb) (NULL, EIO);
     ^
mv -f .deps/clock_gettime.Tpo .deps/clock_gettime.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT cbuf.lo -MD -MP -MF .deps/cbuf.Tpo -c -o cbuf.lo cbuf.C
In file included from armor.C:24:
In file included from ./serial.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from armor.C:24:
In file included from ./serial.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from armor.C:24:
In file included from ./serial.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from armor.C:24:
In file included from ./serial.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from armor.C:24:
In file included from ./serial.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
22 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aerr.lo -MD -MP -MF .deps/aerr.Tpo -c aerr.C -o aerr.o >/dev/null 2>&1
study.c:In file included from 329:35arena.C:: 24warning: :
converting the result of '<<' to a boolean; did you mean '(1 << (c & 7)) != 0'? [-Wint-in-bool-context]In file included from 
./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29            if ((tcode[c/8] && (1 << (c&7))) != 0):

In file included from                                   ^./suio++.h
:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from arena.C:24:
In file included from ./arena.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT cbuf.lo -MD -MP -MF .deps/cbuf.Tpo -c cbuf.C  -fPIC -DPIC -o .libs/cbuf.o
22 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT arena.lo -MD -MP -MF .deps/arena.Tpo -c arena.C -o arena.o >/dev/null 2>&1
10 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT armor.lo -MD -MP -MF .deps/armor.Tpo -c armor.C -o armor.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT cbuf.lo -MD -MP -MF .deps/cbuf.Tpo -c cbuf.C -o cbuf.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT bbuddy.lo -MD -MP -MF .deps/bbuddy.Tpo -c bbuddy.C  -fPIC -DPIC -o .libs/bbuddy.o
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/cbuf.Tpo .deps/cbuf.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT convertint.lo -MD -MP -MF .deps/convertint.Tpo -c -o convertint.lo convertint.C
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/arena.Tpo .deps/arena.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT core.lo -MD -MP -MF .deps/core.Tpo -c -o core.lo core.C
1 warning generated.
27 warnings generated.
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT study.lo -MD -MP -MF .deps/study.Tpo -c study.c -o study.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aios.lo -MD -MP -MF .deps/aios.Tpo -c aios.C -o aios.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT convertint.lo -MD -MP -MF .deps/convertint.Tpo -c convertint.C  -fPIC -DPIC -o .libs/convertint.o
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT core.lo -MD -MP -MF .deps/core.Tpo -c core.C  -fPIC -DPIC -o .libs/core.o
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
mv -f .deps/study.Tpo .deps/study.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT daemonize.lo -MD -MP -MF .deps/daemonize.Tpo -c -o daemonize.lo daemonize.C
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from convertint.C:24:
In file included from ./parseopt.h:28:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/aerr.Tpo .deps/aerr.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT dns.lo -MD -MP -MF .deps/dns.Tpo -c -o dns.lo dns.C
mv -f .deps/armor.Tpo .deps/armor.Plo
10 warnings generated.
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT dnsparse.lo -MD -MP -MF .deps/dnsparse.Tpo -c -o dnsparse.lo dnsparse.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT bbuddy.lo -MD -MP -MF .deps/bbuddy.Tpo -c bbuddy.C -o bbuddy.o >/dev/null 2>&1
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
extern void suio_vuprintf (struct suio *, const char *, va_list);./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, child *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<child, &child::link>' requested here
  : public ihash_core<V, field>
           ^
core.C:131:55: note: in instantiation of template class 'ihash<int, child, &child::pid, &child::link, hashfn<int>, equals<int>>' requested here
static ihash<pid_t, child, &child::pid, &child::link> chldcbs;
                                                      ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const child &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<child, &child::link>' requested here
  : public ihash_core<V, field>
           ^
core.C:131:55: note: in instantiation of template class 'ihash<int, child, &child::pid, &child::link, hashfn<int>, equals<int>>' requested here
static ihash<pid_t, child, &child::pid, &child::link> chldcbs;
                                                      ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^

                           ^~~~~~
                           class
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, zombie_t *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<zombie_t, &zombie_t::_link>' requested here
  : public ihash_core<V, field>
           ^
core.C:139:66: note: in instantiation of template class 'ihash<int, zombie_t, &zombie_t::_pid, &zombie_t::_link, hashfn<int>, equals<int>>' requested here
static ihash<pid_t, zombie_t, &zombie_t::_pid, &zombie_t::_link> zombies;
                                                                 ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const zombie_t &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<zombie_t, &zombie_t::_link>' requested here
  : public ihash_core<V, field>
           ^
core.C:139:66: note: in instantiation of template class 'ihash<int, zombie_t, &zombie_t::_pid, &zombie_t::_link, hashfn<int>, equals<int>>' requested here
static ihash<pid_t, zombie_t, &zombie_t::_pid, &zombie_t::_link> zombies;
                                                                 ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./itree.h:162:23: note: in instantiation of template class 'callback<int, const timecb_t *, void, void>' requested here
  T *search (typename callback<int, const T*>::ref cb) const {
                      ^
./itree.h:225:12: note: in instantiation of template class 'itree_core<timecb_t, &timecb_t::link, keyfunc_2<int, timecb_t, timespec, &timecb_t::ts, compare<timespec>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
core.C:147:66: note: in instantiation of template class 'itree<timespec, timecb_t, &timecb_t::ts, &timecb_t::link, compare<timespec>>' requested here
static itree<timespec, timecb_t, &timecb_t::ts, &timecb_t::link> timecbs;
                                                                 ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./itree.h:203:27: note: in instantiation of template class 'callback<void, timecb_t *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./itree.h:225:12: note: in instantiation of template class 'itree_core<timecb_t, &timecb_t::link, keyfunc_2<int, timecb_t, timespec, &timecb_t::ts, compare<timespec>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
core.C:147:66: note: in instantiation of template class 'itree<timespec, timecb_t, &timecb_t::ts, &timecb_t::link, compare<timespec>>' requested here
static itree<timespec, timecb_t, &timecb_t::ts, &timecb_t::link> timecbs;
                                                                 ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
In file included from extern void suio_uprintf (struct suio *, const char *, ...)core.C
:                          ^~~~~~
                          class
24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]./suio++.h
:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]  typedef struct ref<T> ref;

          ^
core.C:188:29char *suio_flatten (const struct suio *);
:                          ^ 
note./suio++.h: :in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here46
:7: note: previous use is here
chldcb (pid_t pid, cbi::ptr cb)
                            ^class suio {

      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./list.h:62:27: note: in instantiation of template class 'callback<void, lazycb_t *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
core.C:421:11: note: in instantiation of template class 'list<lazycb_t, &lazycb_t::link>' requested here
  lazylist->insert_head (this);
          ^
In file included from core.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./parseopt.h:114:9: note: in instantiation of template class 'callback<void, vec<str, 0>, str, bool *>' requested here
typedef callback<void, vec<str>, str, bool *>::ref confcb;
        ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:149:3: note: in instantiation of template class 'ref<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
  ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:149:15: note: in instantiation of template class 'ptr<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
              ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:150:3: note: in instantiation of template class 'ref<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
  ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:150:12: note: in instantiation of template class 'ptr<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
           ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, conftab_el *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const conftab_el &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from convertint.C:24:
In file included from ./parseopt.h:29:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
convertint.C:66:44: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
strtoi64 (const char *nptr, char **endptr, register int base)
                                           ^~~~~~~~~
convertint.C:68:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register const char *s;
  ^~~~~~~~~
convertint.C:69:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int64_t acc, cutoff;
  ^~~~~~~~~
convertint.C:69:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int64_t acc, cutoff;
  ^~~~~~~~~
convertint.C:70:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int c;
  ^~~~~~~~~
convertint.C:71:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int neg, any, cutlim;
  ^~~~~~~~~
convertint.C:71:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int neg, any, cutlim;
  ^~~~~~~~~
convertint.C:71:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int neg, any, cutlim;
  ^~~~~~~~~
35 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT convertint.lo -MD -MP -MF .deps/convertint.Tpo -c convertint.C -o convertint.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT dns.lo -MD -MP -MF .deps/dns.Tpo -c dns.C  -fPIC -DPIC -o .libs/dns.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT daemonize.lo -MD -MP -MF .deps/daemonize.Tpo -c daemonize.C  -fPIC -DPIC -o .libs/daemonize.o
mv -f .deps/bbuddy.Tpo .deps/bbuddy.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT err.lo -MD -MP -MF .deps/err.Tpo -c -o err.lo err.C
mv -f .deps/aios.Tpo .deps/aios.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT fdwait.lo -MD -MP -MF .deps/fdwait.Tpo -c -o fdwait.lo fdwait.C
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/convertint.Tpo .deps/convertint.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT ident.lo -MD -MP -MF .deps/ident.Tpo -c -o ident.lo ident.C
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT fdwait.lo -MD -MP -MF .deps/fdwait.Tpo -c fdwait.C  -fPIC -DPIC -o .libs/fdwait.o
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
37 warnings generated.
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT core.lo -MD -MP -MF .deps/core.Tpo -c core.C -o core.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT ident.lo -MD -MP -MF .deps/ident.Tpo -c ident.C  -fPIC -DPIC -o .libs/ident.o
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, unsigned int> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./dnsparse.h:67:9: note: in instantiation of template class 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  map_t name2pos;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, unsigned int> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./dnsparse.h:67:9: note: in instantiation of template class 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  map_t name2pos;
        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from dns.C:30:
./dnsimpl.h:33:1: warning: 'dnsreq' defined as a class here but previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
class dnsreq {
^
./dns.h:101:9: note: did you mean class here?
typedef struct dnsreq dnsreq_t;
        ^~~~~~
        class
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dnsimpl.h:66:10: note: in instantiation of template class 'ref<callback<void, ptr<hostent>, int, void>>' requested here
  cbhent cb;                    // Callback for hostbyname/addr
         ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dnsimpl.h:77:12: note: in instantiation of template class 'ref<callback<void, ptr<mxlist>, int, void>>' requested here
  cbmxlist cb;
           ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dnsimpl.h:113:13: note: in instantiation of template class 'ref<callback<void, ptr<txtlist>, int, void>>' requested here
  cbtxtlist cb;
            ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dnsimpl.h:122:11: note: in instantiation of template class 'callback<void, unsigned char *, long, void>' requested here
  typedef callback<void, u_char *, ssize_t>::ref cb_t;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dnsimpl.h:124:8: note: in instantiation of template class 'ref<callback<void, unsigned char *, long, void>>' requested here
  cb_t cb;
       ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dnsimpl.h:125:13: note: in instantiation of template class 'ref<bool>' requested here
  ref<bool> destroyed;
            ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dnsimpl.h:158:16: note: in instantiation of template class 'ptr<dnssock>' requested here
  ptr<dnssock> udpsock;
               ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, dnsreq *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<dnsreq, &dnsreq::hlink>' requested here
  : public ihash_core<V, field>
           ^
./dnsimpl.h:177:57: note: in instantiation of template class 'ihash<unsigned short, dnsreq, &dnsreq::id, &dnsreq::hlink, hashfn<unsigned short>, equals<unsigned short>>' requested here
  ihash<u_int16_t, dnsreq, &dnsreq::id, &dnsreq::hlink> reqtab;
                                                        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const dnsreq &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<dnsreq, &dnsreq::hlink>' requested here
  : public ihash_core<V, field>
           ^
./dnsimpl.h:177:57: note: in instantiation of template class 'ihash<unsigned short, dnsreq, &dnsreq::id, &dnsreq::hlink, hashfn<unsigned short>, equals<unsigned short>>' requested here
  ihash<u_int16_t, dnsreq, &dnsreq::id, &dnsreq::hlink> reqtab;
                                                        ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from daemonize.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
dns.C:356:6: note: in instantiation of template class 'ptr<hostent>' requested here
                                 wrap (this, &resolver::udpcheck_cb),
                                 ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
dns.C:395:5: note: in instantiation of template class 'ref<callback<void, str, void, void>>' requested here
           wrap (this, &resolv_conf::reload_cb, destroyed, failure));
           ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
dns.C:649:15: note: in instantiation of template class 'ptr<mxlist>' requested here
  ptr<mxlist> m;
              ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
dns.C:806:16: note: in instantiation of template class 'ptr<txtlist>' requested here
  ptr<txtlist> t;
               ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<str, unsigned int> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
./dnsparse.h:69:3: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::~qhash' requested here
  nameset () : pos (0) {}
  ^
In file included from dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<str, unsigned int> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
./dnsparse.h:69:3: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::~qhash' requested here
  nameset () : pos (0) {}
  ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT dnsparse.lo -MD -MP -MF .deps/dnsparse.Tpo -c dnsparse.C  -fPIC -DPIC -o .libs/dnsparse.o
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from dns.C:30:
./dnsimpl.h:34:7: warning: private field 'ntries' is not used [-Wunused-private-field]
  int ntries;
      ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT err.lo -MD -MP -MF .deps/err.Tpo -c err.C  -fPIC -DPIC -o .libs/err.o
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from ident.C:24:
In file included from ./rxx.h:32:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
22 warnings generated.
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT daemonize.lo -MD -MP -MF .deps/daemonize.Tpo -c daemonize.C -o daemonize.o >/dev/null 2>&1
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
ident.C:39:16: note: in instantiation of template class 'ptr<hostent>' requested here
  ptr<hostent> h;
               ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
ident.C:40:47: note: in instantiation of template class 'ptr<callback<void, str, ptr<hostent>, int>>' requested here
  callback<void, str, ptr<hostent>, int>::ptr cb;
                                              ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
ident.C:73:63: note: in instantiation of template class 'ref<callback<void, str, ptr<hostent>, int>>' requested here
identptr (int fd, callback<void, str, ptr<hostent>, int>::ref cb)
                                                              ^
In file included from err.C:24:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
In file included from ident.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
ident.C:124:32: note: in instantiation of template class 'ref<callback<void, ptr<hostent>, int, void>>' requested here
./array.h:75:29: note  dns_hostbyaddr (ra.sin_addr, wrap (is, &identstat::dnscb));: 
did you mean class here?                               ^

template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
ident.C:134:1: warning: all paths through this function will call itself [-Winfinite-recursion]
{
^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from err.C:24:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from fdwait.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
50 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aio.lo -MD -MP -MF .deps/aio.Tpo -c aio.C -o aio.o >/dev/null 2>&1
In file included from err.C:24:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from err.C:24:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from err.C:24:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from err.C:24:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from err.C:24:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
17 warnings generated.
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT fdwait.lo -MD -MP -MF .deps/fdwait.Tpo -c fdwait.C -o fdwait.o >/dev/null 2>&1
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, unsigned int> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./dnsparse.h:67:9: note: in instantiation of template class 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  map_t name2pos;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, unsigned int> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./dnsparse.h:67:9: note: in instantiation of template class 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  map_t name2pos;
        ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
dnsparse.C:399:11: note: in instantiation of template class 'ptr<hostent>' requested here
dnsparse::tohostent ()
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
dnsparse.C:435:14: note: in instantiation of template class 'ref<hostent>' requested here
    (sizeof (*h)
             ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
dnsparse.C:477:11: note: in instantiation of template class 'ptr<mxlist>' requested here
dnsparse::tomxlist ()
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
dnsparse.C:527:16: note: in instantiation of template class 'ref<mxlist>' requested here
  ref <mxlist> mxl = refcounted<mxlist, vsize>::alloc
               ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
dnsparse.C:664:16: note: in instantiation of template class 'ref<srvlist>' requested here
  ref<srvlist> s = refcounted<srvlist, vsize>::alloc
               ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
dnsparse.C:684:11: note: in instantiation of template class 'ptr<txtlist>' requested here
dnsparse::totxtlist ()
          ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
dnsparse.C:716:16: note: in instantiation of template class 'ref<txtlist>' requested here
  ref<txtlist> t = refcounted<txtlist, vsize>::alloc
               ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<str, unsigned int> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
./dnsparse.h:69:3: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::~qhash' requested here
  nameset () : pos (0) {}
  ^
In file included from dnsparse.C:29:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<str, unsigned int> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
./dnsparse.h:69:3: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::~qhash' requested here
  nameset () : pos (0) {}
  ^
10 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT err.lo -MD -MP -MF .deps/err.Tpo -c err.C -o err.o >/dev/null 2>&1
42 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT ident.lo -MD -MP -MF .deps/ident.Tpo -c ident.C -o ident.o >/dev/null 2>&1
mv -f .deps/fdwait.Tpo .deps/fdwait.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT ifchg.lo -MD -MP -MF .deps/ifchg.Tpo -c -o ifchg.lo ifchg.C
mv -f .deps/core.Tpo .deps/core.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT ihash.lo -MD -MP -MF .deps/ihash.Tpo -c -o ihash.lo ihash.C
mv -f .deps/daemonize.Tpo .deps/daemonize.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT itree.lo -MD -MP -MF .deps/itree.Tpo -c -o itree.lo itree.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT ihash.lo -MD -MP -MF .deps/ihash.Tpo -c ihash.C  -fPIC -DPIC -o .libs/ihash.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT ifchg.lo -MD -MP -MF .deps/ifchg.Tpo -c ifchg.C  -fPIC -DPIC -o .libs/ifchg.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT itree.lo -MD -MP -MF .deps/itree.Tpo -c itree.C  -fPIC -DPIC -o .libs/itree.o
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/err.Tpo .deps/err.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT lockfile.lo -MD -MP -MF .deps/lockfile.Tpo -c -o lockfile.lo lockfile.C
In file included from itree.C:25:
In file included from ./itree.h:29:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from ihash.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
17 warnings generated.
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT ihash.lo -MD -MP -MF .deps/ihash.Tpo -c ihash.C -o ihash.o >/dev/null 2>&1
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./list.h:62:27: note: in instantiation of template class 'callback<void, ifchgcb_t *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
ifchg.C:39:42: note: in instantiation of template class 'list<ifchgcb_t, &ifchgcb_t::link>' requested here
static list<ifchgcb_t, &ifchgcb_t::link> chglist;
                                         ^
In file included from ifchg.C:25:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
mv -f .deps/ident.Tpo .deps/ident.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c -o malloc.lo malloc.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT lockfile.lo -MD -MP -MF .deps/lockfile.Tpo -c lockfile.C  -fPIC -DPIC -o .libs/lockfile.o
34 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT ifchg.lo -MD -MP -MF .deps/ifchg.Tpo -c ifchg.C -o ifchg.o >/dev/null 2>&1
56 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT dns.lo -MD -MP -MF .deps/dns.Tpo -c dns.C -o dns.o >/dev/null 2>&1
45 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT dnsparse.lo -MD -MP -MF .deps/dnsparse.Tpo -c dnsparse.C -o dnsparse.o >/dev/null 2>&1
mv -f .deps/ihash.Tpo .deps/ihash.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT msb.lo -MD -MP -MF .deps/msb.Tpo -c -o msb.lo msb.C
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/ifchg.Tpo .deps/ifchg.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT myaddrs.lo -MD -MP -MF .deps/myaddrs.Tpo -c -o myaddrs.lo myaddrs.C
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
lockfile.C:151:11: note: in instantiation of template class 'ptr<lockfile>' requested here
lockfile::alloc (const str &path, bool wait)
          ^
In file included from lockfile.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
lockfile.C:153:17: note: in instantiation of template class 'ref<lockfile>' requested here
  ref<lockfile> lf = New refcounted<lockfile> (path);
                ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT msb.lo -MD -MP -MF .deps/msb.Tpo -c msb.C  -fPIC -DPIC -o .libs/msb.o
1 warning generated.
mv -f .deps/aio.Tpo .deps/aio.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT myname.lo -MD -MP -MF .deps/myname.Tpo -c -o myname.lo myname.C
19 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT itree.lo -MD -MP -MF .deps/itree.Tpo -c itree.C -o itree.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT msb.lo -MD -MP -MF .deps/msb.Tpo -c msb.C -o msb.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT lockfile.lo -MD -MP -MF .deps/lockfile.Tpo -c lockfile.C -o lockfile.o >/dev/null 2>&1
mv -f .deps/msb.Tpo .deps/msb.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT parseopt.lo -MD -MP -MF .deps/parseopt.Tpo -c -o parseopt.lo parseopt.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT myname.lo -MD -MP -MF .deps/myname.Tpo -c myname.C  -fPIC -DPIC -o .libs/myname.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c malloc.C  -fPIC -DPIC -o .libs/malloc.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT parseopt.lo -MD -MP -MF .deps/parseopt.Tpo -c parseopt.C  -fPIC -DPIC -o .libs/parseopt.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT myaddrs.lo -MD -MP -MF .deps/myaddrs.Tpo -c myaddrs.C  -fPIC -DPIC -o .libs/myaddrs.o
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28In file included from :
myaddrs.CIn file included from :./str.h25::
29In file included from :
./amisc.h:In file included from 29./suio++.h:
:In file included from 30./err.h:
:./callback.h28::
In file included from 1573./str.h::1129::
 In file included from warning./suio++.h: :struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]30
:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9  typedef struct ref<callback<R> > ref;:
           ^note
: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;./suio++.h
:        ^52
:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
In file included from myname.C:25:
In file included from ./dns.h:29:
  typedef callback<void>::ref cb_t;In file included from ./async.h:
28          ^:

In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.hIn file included from :myaddrs.C29::
25In file included from ./suio++.h:
:30:
In file included from ./callback.h./amisc.h::1574:2911:
:In file included from  ./err.hwarning:: 28struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:

In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688  typedef struct ptr<callback<R, B1> > ptr;:
11          ^:
 warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^In file included from 
myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
./callback.h:1573    cb_t cb;:
11         ^:
 warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1./callback.h:: 2459warning:: 11'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
 warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
./str.h:91:10:   typedef struct ptr<callback<R, B1, B2> > ptr;note
:           ^did you mean struct here?

  friend class bssstr;
         ^~~~~
         struct
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from myname.C:25:
In file included from ./dns.h:29:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/lockfile.Tpo .deps/lockfile.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT pipe2str.lo -MD -MP -MF .deps/pipe2str.Tpo -c -o pipe2str.lo pipe2str.C
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from malloc.Cstruct mkcref {:
3^:

In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from malloc.C:3:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<in_addr, void> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./qhash.h:172:12: note: in instantiation of template class 'ihash_core<qhash_slot<in_addr, void>, &qhash_slot<in_addr, void>::link>' requested here
  : public ihash_core<qhash_slot<K, void>, kludge> {
           ^
myaddrs.C:75:18: note: in instantiation of template class 'bhash<in_addr, hashfn<in_addr>, equals<in_addr>, &qhash_slot<in_addr, void>::link>' requested here
  bhash<in_addr> addrs;
                 ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<in_addr, void> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./qhash.h:172:12: note: in instantiation of template class 'ihash_core<qhash_slot<in_addr, void>, &qhash_slot<in_addr, void>::link>' requested here
  : public ihash_core<qhash_slot<K, void>, kludge> {
           ^
myaddrs.C:75:18: note: in instantiation of template class 'bhash<in_addr, hashfn<in_addr>, equals<in_addr>, &qhash_slot<in_addr, void>::link>' requested here
  bhash<in_addr> addrs;
                 ^
In file included from myaddrs.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
22 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT malloc.lo -MD -MP -MF .deps/malloc.Tpo -c malloc.C -o malloc.o >/dev/null 2>&1
mv -f .deps/itree.Tpo .deps/itree.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT refcnt.lo -MD -MP -MF .deps/refcnt.Tpo -c -o refcnt.lo refcnt.C
32 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT myname.lo -MD -MP -MF .deps/myname.Tpo -c myname.C -o myname.o >/dev/null 2>&1
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT pipe2str.lo -MD -MP -MF .deps/pipe2str.Tpo -c pipe2str.C  -fPIC -DPIC -o .libs/pipe2str.o
21 warnings generated.
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT myaddrs.lo -MD -MP -MF .deps/myaddrs.Tpo -c myaddrs.C -o myaddrs.o >/dev/null 2>&1
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./parseopt.h:114:9: note: in instantiation of template class 'callback<void, vec<str, 0>, str, bool *>' requested here
typedef callback<void, vec<str>, str, bool *>::ref confcb;
        ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:149:3: note: in instantiation of template class 'ref<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
  ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:149:15: note: in instantiation of template class 'ptr<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
              ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:150:3: note: in instantiation of template class 'ref<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
  ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:150:12: note: in instantiation of template class 'ptr<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
           ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, conftab_el *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const conftab_el &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from parseopt.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT refcnt.lo -MD -MP -MF .deps/refcnt.Tpo -c refcnt.C  -fPIC -DPIC -o .libs/refcnt.o
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/dns.Tpo .deps/dns.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT rxx.lo -MD -MP -MF .deps/rxx.Tpo -c -o rxx.lo rxx.C
mv -f .deps/malloc.Tpo .deps/malloc.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT sigio.lo -MD -MP -MF .deps/sigio.Tpo -c -o sigio.lo sigio.C
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from refcnt.C:24:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT sigio.lo -MD -MP -MF .deps/sigio.Tpo -c sigio.C  -fPIC -DPIC -o .libs/sigio.o
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from refcnt.C:24:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from refcnt.C:24:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from refcnt.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from refcnt.C:24:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
mv -f .deps/myname.Tpo .deps/myname.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT socket.lo -MD -MP -MF .deps/socket.Tpo -c -o socket.lo socket.C
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from refcnt.C:24:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
refcnt.C:61:26: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
callback<void, int>::ref cbi_null (gwrap (ignore_int));
                         ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
mv -f .deps/dnsparse.Tpo .deps/dnsparse.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT spawn.lo -MD -MP -MF .deps/spawn.Tpo -c -o spawn.lo spawn.C
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from pipe2str.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./sfs_bundle.h:30:8: note: in instantiation of template class 'ref<callback<void, str, void, void>>' requested here
    C2 _v2;
       ^
pipe2str.C:26:65: note: in instantiation of template class 'sfs::bundle_t<int, ref<callback<void, str, void, void>>, int *, strbuf *>' requested here
static void pipe2str2 (sfs::bundle_t<int, cbs, int *, strbuf *> b)
                                                                ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rxx.lo -MD -MP -MF .deps/rxx.Tpo -c rxx.C  -fPIC -DPIC -o .libs/rxx.o
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from sigio.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
mv -f .deps/myaddrs.Tpo .deps/myaddrs.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT str.lo -MD -MP -MF .deps/str.Tpo -c -o str.lo str.C
17 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT sigio.lo -MD -MP -MF .deps/sigio.Tpo -c sigio.C -o sigio.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT socket.lo -MD -MP -MF .deps/socket.Tpo -c socket.C  -fPIC -DPIC -o .libs/socket.o
18 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT refcnt.lo -MD -MP -MF .deps/refcnt.Tpo -c refcnt.C -o refcnt.o >/dev/null 2>&1
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from rxx.C:24:
In file included from ./rxx.h:32:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from rxx.C:24:
In file included from ./rxx.h:32:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from socket.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
27 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT parseopt.lo -MD -MP -MF .deps/parseopt.Tpo -c parseopt.C -o parseopt.o >/dev/null 2>&1
mv -f .deps/sigio.Tpo .deps/sigio.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT str2file.lo -MD -MP -MF .deps/str2file.Tpo -c -o str2file.lo str2file.C
17 warnings generated.
23 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT socket.lo -MD -MP -MF .deps/socket.Tpo -c socket.C -o socket.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT pipe2str.lo -MD -MP -MF .deps/pipe2str.Tpo -c pipe2str.C -o pipe2str.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT str.lo -MD -MP -MF .deps/str.Tpo -c str.C  -fPIC -DPIC -o .libs/str.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT str2file.lo -MD -MP -MF .deps/str2file.Tpo -c str2file.C  -fPIC -DPIC -o .libs/str2file.o
17 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rxx.lo -MD -MP -MF .deps/rxx.Tpo -c rxx.C -o rxx.o >/dev/null 2>&1
mv -f .deps/refcnt.Tpo .deps/refcnt.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT straux.lo -MD -MP -MF .deps/straux.Tpo -c -o straux.lo straux.C
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from str2file.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/pipe2str.Tpo .deps/pipe2str.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT suio++.lo -MD -MP -MF .deps/suio++.Tpo -c -o suio++.lo suio++.C
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from str.C:24:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
mv -f .deps/socket.Tpo .deps/socket.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT suio_vuprintf.lo -MD -MP -MF .deps/suio_vuprintf.Tpo -c -o suio_vuprintf.lo suio_vuprintf.C
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from str.C:24:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT spawn.lo -MD -MP -MF .deps/spawn.Tpo -c spawn.C  -fPIC -DPIC -o .libs/spawn.o
17 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT str2file.lo -MD -MP -MF .deps/str2file.Tpo -c str2file.C -o str2file.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT suio++.lo -MD -MP -MF .deps/suio++.Tpo -c suio++.C  -fPIC -DPIC -o .libs/suio++.o
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/rxx.Tpo .deps/rxx.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT tcpconnect.lo -MD -MP -MF .deps/tcpconnect.Tpo -c -o tcpconnect.lo tcpconnect.C
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from spawn.C:24:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
22 warnings generated.
spawn.C:135:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if (np = searchdir (builddir, prog))
        ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
spawn.C:135:12: note: place parentheses around the assignment to silence this warning
    if (np = searchdir (builddir, prog))
           ^
        (                              )
spawn.C:135:12: note: use '==' to turn this assignment into an equality comparison
    if (np = searchdir (builddir, prog))
           ^
           ==
spawn.C:137:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
    if (np = searchdir (builddir << "/lib", prog))
        ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
spawn.C:137:12: note: place parentheses around the assignment to silence this warning
    if (np = searchdir (builddir << "/lib", prog))
           ^
        (                                        )
spawn.C:137:12: note: use '==' to turn this assignment into an equality comparison
    if (np = searchdir (builddir << "/lib", prog))
           ^
           ==
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT str.lo -MD -MP -MF .deps/str.Tpo -c str.C -o str.o >/dev/null 2>&1
mv -f .deps/parseopt.Tpo .deps/parseopt.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT litetime.lo -MD -MP -MF .deps/litetime.Tpo -c -o litetime.lo litetime.C
In file included from suio++.C:24:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT tcpconnect.lo -MD -MP -MF .deps/tcpconnect.Tpo -c tcpconnect.C  -fPIC -DPIC -o .libs/tcpconnect.o
In file included from suio++.C:24:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/str2file.Tpo .deps/str2file.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT select.lo -MD -MP -MF .deps/select.Tpo -c -o select.lo select.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT straux.lo -MD -MP -MF .deps/straux.Tpo -c straux.C  -fPIC -DPIC -o .libs/straux.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT suio_vuprintf.lo -MD -MP -MF .deps/suio_vuprintf.Tpo -c suio_vuprintf.C  -fPIC -DPIC -o .libs/suio_vuprintf.o
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT litetime.lo -MD -MP -MF .deps/litetime.Tpo -c litetime.C  -fPIC -DPIC -o .libs/litetime.o
In file included from suio++.C:25:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from suio++.C:24:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
19 warnings generated.
In file included from suio++.C:24:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from suio++.C:24:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT spawn.lo -MD -MP -MF .deps/spawn.Tpo -c spawn.C -o spawn.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select.lo -MD -MP -MF .deps/select.Tpo -c select.C  -fPIC -DPIC -o .libs/select.o
suio++.C:460:21: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
suio_flatten (const struct suio *uio)
                    ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
suio++.C:460:21: note: did you mean class here?
suio_flatten (const struct suio *uio)
                    ^~~~~~
                    class
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
tcpconnect.C:77:36: note: in instantiation of template class 'ptr<hostent>' requested here
  dnsp = dns_hostbyname (hostname, wrap (this, &tcpportconnect_t::name_cb),
                                   ^
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
tcpconnect.C:77:36: note: in instantiation of template class 'ref<callback<void, ptr<hostent>, int, void>>' requested here
  dnsp = dns_hostbyname (hostname, wrap (this, &tcpportconnect_t::name_cb),
                                   ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from tcpconnect.C:24:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
tcpconnect.C:282:48: note: in instantiation of template class 'ref<srvlist>' requested here
tcpsrvconnect_t::tcpsrvconnect_t (ref<srvlist> sl, cbi cb, str *np)
                                               ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from suio_vuprintf.C:62:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
In file included from straux.C:25:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16./array.h:: note75: :in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here29
: note: did you mean class here?
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
straux.C:34:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register const char *cp;
  ^~~~~~~~~
straux.C:35:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int i1, i2;
  ^~~~~~~~~
straux.C:35:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int i1, i2;
  ^~~~~~~~~
In file included from suio_vuprintf.C:62:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from suio_vuprintf.C:62:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from suio_vuprintf.C:62:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from suio_vuprintf.C:62:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
suio_vuprintf.C:120:16: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
suio_vuprintf (struct suio *uio, const char *_fmt, va_list ap)
               ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
suio_vuprintf.C:120:16: note: did you mean class here?
suio_vuprintf (struct suio *uio, const char *_fmt, va_list ap)
               ^~~~~~
               class
suio_vuprintf.C:127:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int ch;              /* character from fmt */
  ^~~~~~~~~
suio_vuprintf.C:128:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int n, m;            /* handy integers (short term usage) */
  ^~~~~~~~~
suio_vuprintf.C:128:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int n, m;            /* handy integers (short term usage) */
  ^~~~~~~~~
suio_vuprintf.C:129:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register char *cp;            /* handy char pointer (short term usage) */
  ^~~~~~~~~
suio_vuprintf.C:130:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register int flags;           /* flags as above */
  ^~~~~~~~~
suio_vuprintf.C:743:15: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
suio_uprintf (struct suio *uio, const char *fmt, ...)
              ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
suio_vuprintf.C:743:15: note: did you mean class here?
suio_uprintf (struct suio *uio, const char *fmt, ...)
              ^~~~~~
              class
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7mv -f .deps/str.Tpo .deps/str.Plo
: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT select_std.lo -MD -MP -MF .deps/select_std.Tpo -c -o select_std.lo select_std.C
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
20 warnings generated.
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from litetime.C:2:
In file included from ./litetime.hstruct bssstr : public str {
:29^:

In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT straux.lo -MD -MP -MF .deps/straux.Tpo -c straux.C -o straux.o >/dev/null 2>&1
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from select.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
17 warnings generated.
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select.lo -MD -MP -MF .deps/select.Tpo -c select.C -o select.o >/dev/null 2>&1
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./parseopt.h:114:9: note: in instantiation of template class 'callback<void, vec<str, 0>, str, bool *>' requested here
typedef callback<void, vec<str>, str, bool *>::ref confcb;
        ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:149:3: note: in instantiation of template class 'ref<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
  ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:149:15: note: in instantiation of template class 'ptr<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
              ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:150:3: note: in instantiation of template class 'ref<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
  ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:150:12: note: in instantiation of template class 'ptr<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
           ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, conftab_el *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const conftab_el &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from litetime.C:2:
In file included from ./litetime.h:29:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
15 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT suio_vuprintf.lo -MD -MP -MF .deps/suio_vuprintf.Tpo -c suio_vuprintf.C -o suio_vuprintf.o >/dev/null 2>&1
23 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT suio++.lo -MD -MP -MF .deps/suio++.Tpo -c suio++.C -o suio++.o >/dev/null 2>&1
mv -f .deps/straux.Tpo .deps/straux.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT select_epoll.lo -MD -MP -MF .deps/select_epoll.Tpo -c -o select_epoll.lo select_epoll.C
32 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT litetime.lo -MD -MP -MF .deps/litetime.Tpo -c litetime.C -o litetime.o >/dev/null 2>&1
mv -f .deps/spawn.Tpo .deps/spawn.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT select_kqueue.lo -MD -MP -MF .deps/select_kqueue.Tpo -c -o select_kqueue.lo select_kqueue.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select_epoll.lo -MD -MP -MF .deps/select_epoll.Tpo -c select_epoll.C  -fPIC -DPIC -o .libs/select_epoll.o
mv -f .deps/select.Tpo .deps/select.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT dynenum.lo -MD -MP -MF .deps/dynenum.Tpo -c -o dynenum.lo dynenum.C
35 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT tcpconnect.lo -MD -MP -MF .deps/tcpconnect.Tpo -c tcpconnect.C -o tcpconnect.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select_std.lo -MD -MP -MF .deps/select_std.Tpo -c select_std.C  -fPIC -DPIC -o .libs/select_std.o
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
mv -f .deps/litetime.Tpo .deps/litetime.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT vec.lo -MD -MP -MF .deps/vec.Tpo -c -o vec.lo vec.C
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/suio++.Tpo .deps/suio++.Plo
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT bundle.lo -MD -MP -MF .deps/bundle.Tpo -c -o bundle.lo bundle.C
:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from select_epoll.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
22 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select_epoll.lo -MD -MP -MF .deps/select_epoll.Tpo -c select_epoll.C -o select_epoll.o >/dev/null 2>&1
mv -f .deps/suio_vuprintf.Tpo .deps/suio_vuprintf.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT alog2.lo -MD -MP -MF .deps/alog2.Tpo -c -o alog2.lo alog2.C
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select_kqueue.lo -MD -MP -MF .deps/select_kqueue.Tpo -c select_kqueue.C  -fPIC -DPIC -o .libs/select_kqueue.o
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT dynenum.lo -MD -MP -MF .deps/dynenum.Tpo -c dynenum.C  -fPIC -DPIC -o .libs/dynenum.o
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from select_std.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from select_kqueue.C:2:
In file included from ./sfs_select.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
select_kqueue.C:28:22: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
    fprintf (stderr, tmp.cstr ());
                     ^~~~~~~~~~~
select_kqueue.C:28:22: note: treat the string as an argument to avoid this
    fprintf (stderr, tmp.cstr ());
                     ^
                     "%s", 
22 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select_std.lo -MD -MP -MF .deps/select_std.Tpo -c select_std.C -o select_std.o >/dev/null 2>&1
mv -f .deps/select_epoll.Tpo .deps/select_epoll.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT leakcheck.lo -MD -MP -MF .deps/leakcheck.Tpo -c -o leakcheck.lo leakcheck.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT alog2.lo -MD -MP -MF .deps/alog2.Tpo -c alog2.C  -fPIC -DPIC -o .libs/alog2.o
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, int> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, int>, &qhash_slot<str, int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./dynenum.h:34:19: note: in instantiation of template class 'qhash<str, int, hashfn<str>, equals<str>, qhash_lookup_return<int>, &qhash_slot<str, int>::link>' requested here
  qhash<str, int> _tab;
                  ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, int> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, int>, &qhash_slot<str, int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./dynenum.h:34:19: note: in instantiation of template class 'qhash<str, int, hashfn<str>, equals<str>, qhash_lookup_return<int>, &qhash_slot<str, int>::link>' requested here
  qhash<str, int> _tab;
                  ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<str, int> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<str, int, hashfn<str>, equals<str>, qhash_lookup_return<int>, &qhash_slot<str, int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
./dynenum.h:18:3: note: in instantiation of member function 'qhash<str, int, hashfn<str>, equals<str>, qhash_lookup_return<int>, &qhash_slot<str, int>::link>::~qhash' requested here
  dynamic_enum_t (int def, bool quiet = false, str n = NULL) 
  ^
In file included from dynenum.C:2:
In file included from ./dynenum.h:5:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<str, int> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<str, int, hashfn<str>, equals<str>, qhash_lookup_return<int>, &qhash_slot<str, int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
./dynenum.h:18:3: note: in instantiation of member function 'qhash<str, int, hashfn<str>, equals<str>, qhash_lookup_return<int>, &qhash_slot<str, int>::link>::~qhash' requested here
  dynamic_enum_t (int def, bool quiet = false, str n = NULL) 
  ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT leakcheck.lo -MD -MP -MF .deps/leakcheck.Tpo -c leakcheck.C  -fPIC -DPIC -o .libs/leakcheck.o
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT vec.lo -MD -MP -MF .deps/vec.Tpo -c vec.C  -fPIC -DPIC -o .libs/vec.o
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from alog2.C:1:
In file included from ./alog2.h:7:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./alog2.h:48:18: note: in instantiation of template class 'ptr<warnobj>' requested here
    ptr<warnobj> _buf;
                 ^
23 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT select_kqueue.lo -MD -MP -MF .deps/select_kqueue.Tpo -c select_kqueue.C -o select_kqueue.o >/dev/null 2>&1
23 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT alog2.lo -MD -MP -MF .deps/alog2.Tpo -c alog2.C -o alog2.o >/dev/null 2>&1
28 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT dynenum.lo -MD -MP -MF .deps/dynenum.Tpo -c dynenum.C -o dynenum.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT leakcheck.lo -MD -MP -MF .deps/leakcheck.Tpo -c leakcheck.C -o leakcheck.o >/dev/null 2>&1
In file included from vec.C:2:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT bundle.lo -MD -MP -MF .deps/bundle.Tpo -c bundle.C  -fPIC -DPIC -o .libs/bundle.o
mv -f .deps/leakcheck.Tpo .deps/leakcheck.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT profiler.lo -MD -MP -MF .deps/profiler.Tpo -c -o profiler.lo profiler.C
1 warning generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT bundle.lo -MD -MP -MF .deps/bundle.Tpo -c bundle.C -o bundle.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT vec.lo -MD -MP -MF .deps/vec.Tpo -c vec.C -o vec.o >/dev/null 2>&1
mv -f .deps/tcpconnect.Tpo .deps/tcpconnect.Plo
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT aiod.o -MD -MP -MF .deps/aiod.Tpo -c -o aiod.o aiod.C
mv -f .deps/bundle.Tpo .deps/bundle.Plo
clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT mmcd.o -MD -MP -MF .deps/mmcd.Tpo -c -o mmcd.o mmcd.c
mv -f .deps/select_std.Tpo .deps/select_std.Plo
echo "# Makefile fragment generated " `date` > pyenv.mk~
echo "CC = clang" >> pyenv.mk~
echo "CXX = clang++" >> pyenv.mk~
echo "CFLAGS = -O2 -I/usr/pkg/include -Wall  " >> pyenv.mk~ 
echo "CXXFLAGS = -O2 -I/usr/pkg/include -Wall  " >> pyenv.mk~
echo "LIBS = " >> pyenv.mk~
echo "LIBGMP = -lgmp" >> pyenv.mk~
echo "LDFLAGS = -L/usr/pkg/lib -Wl,-R/usr/pkg/lib" >> pyenv.mk~
mv -f pyenv.mk~ pyenv.mk
echo "# Makefile fragment generated " `date` > env.mk~
echo "LDADD_THR = " >> env.mk~
echo "LDADD_STD_ALL = " >> env.mk~	
echo "CFLAGS_PROFILE = " >> env.mk~
mv -f env.mk~ env.mk
/bin/sh ../libtool --tag=CC   --mode=link clang  -O2 -I/usr/pkg/include -Wall    -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o dftables dftables.o  
libtool: link: clang -O2 -I/data/scratch/devel/sfslite/work/.buildlink/include -Wall -Wl,-rpath -Wl,/usr/pkg/lib -o dftables dftables.o  -L/data/scratch/devel/sfslite/work/.buildlink/lib
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
./dftables chartables.c
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT pcre.lo -MD -MP -MF .deps/pcre.Tpo -c -o pcre.lo pcre.c
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT profiler.lo -MD -MP -MF .deps/profiler.Tpo -c profiler.C  -fPIC -DPIC -o .libs/profiler.o
mv -f .deps/vec.Tpo .deps/vec.Plo
mv -f .deps/mmcd.Tpo .deps/mmcd.Po
/bin/sh ../libtool --tag=CC   --mode=link clang  -O2 -I/usr/pkg/include -Wall    -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o mmcd mmcd.o  
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: link: clang -O2 -I/data/scratch/devel/sfslite/work/.buildlink/include -Wall -Wl,-rpath -Wl,/usr/pkg/lib -o mmcd mmcd.o  -L/data/scratch/devel/sfslite/work/.buildlink/lib
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./parseopt.h:114:9: note: in instantiation of template class 'callback<void, vec<str, 0>, str, bool *>' requested here
typedef callback<void, vec<str>, str, bool *>::ref confcb;
        ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:149:3: note: in instantiation of template class 'ref<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
  ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:149:15: note: in instantiation of template class 'ptr<callback<void, vec<str, 0>, str, bool *>>' requested here
  confcb::ptr cnfcb;
              ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./parseopt.h:150:3: note: in instantiation of template class 'ref<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
  ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./parseopt.h:150:12: note: in instantiation of template class 'ptr<callback<void, str, void, void>>' requested here
  cbs::ptr scb;
           ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, conftab_el *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const conftab_el &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./ihash.h:242:12: note: in instantiation of template class 'ihash_core<conftab_el, &conftab_el::lnk>' requested here
  : public ihash_core<V, field>
           ^
./parseopt.h:291:71: note: in instantiation of template class 'ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk, hashfn<const str>, equals<const str>>' requested here
  ihash<const str, conftab_el, &conftab_el::lcname, &conftab_el::lnk> tab;
                                                                      ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:52:5: note: in instantiation of template class 'ref<fhtab::fh>' requested here
  V value;
    ^
./qhash.h:61:5: note: in instantiation of template class 'qhash_slot<int, ref<fhtab::fh>>' requested here
        = &qhash_slot<K,V>::link>
           ^
aiod.C:112:3: note: in instantiation of default argument for 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>>' required here
  qhash<int, ref<fh> > tab;
  ^~~~~~~~~~~~~~~~~~~~
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<int, ref<fhtab::fh>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<int, ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
aiod.C:112:24: note: in instantiation of template class 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>' requested here
  qhash<int, ref<fh> > tab;
                       ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<int, ref<fhtab::fh>> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<int, ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
aiod.C:112:24: note: in instantiation of template class 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>' requested here
  qhash<int, ref<fh> > tab;
                       ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aiod.C:160:14: note: in instantiation of template class 'ptr<fhtab::fh>' requested here
  fh *h = tab[af->handle];
             ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:52:5: note: in instantiation of template class 'ref<dhtab::fh>' requested here
  V value;
    ^
./qhash.h:61:5: note: in instantiation of template class 'qhash_slot<int, ref<dhtab::fh>>' requested here
        = &qhash_slot<K,V>::link>
           ^
aiod.C:211:3: note: in instantiation of default argument for 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>>' required here
  qhash<int, ref<fh> > tab;
  ^~~~~~~~~~~~~~~~~~~~
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<int, ref<dhtab::fh>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<int, ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
aiod.C:211:24: note: in instantiation of template class 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>' requested here
  qhash<int, ref<fh> > tab;
                       ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<int, ref<dhtab::fh>> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
./qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<int, ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
aiod.C:211:24: note: in instantiation of template class 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>' requested here
  qhash<int, ref<fh> > tab;
                       ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:29:
In file included from ./vec.h:30:
./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
./array.h:75:29In file included from : aiod.Cnote: :did you mean class here?86
:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from template<class T, size_t n> struct array;./suio++.h
:                            ^~~~~~30
:
                            classIn file included from 
./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aiod.C:238:14: note: in instantiation of template class 'ptr<dhtab::fh>' requested here
  fh *h = tab[af->handle];
             ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aiod.C:325:9: note: in instantiation of template class 'ptr<shmbuf>' requested here
shmbuf::alloc (int fd)
        ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
aiod.C:345:21: note: in instantiation of template class 'ref<shmbuf>' requested here
  const ref<shmbuf> buf;
                    ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
./refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/alog2.Tpo .deps/alog2.Plo
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<int, ref<fhtab::fh>> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
aiod.C:100:7: note: in instantiation of member function 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>::~qhash' requested here
class fhtab {
      ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<int, ref<fhtab::fh>> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
aiod.C:100:7: note: in instantiation of member function 'qhash<int, ref<fhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<fhtab::fh>>, &qhash_slot<int, ref<fhtab::fh>>::link>::~qhash' requested here
class fhtab {
      ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<int, ref<dhtab::fh>> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
aiod.C:199:7: note: in instantiation of member function 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>::~qhash' requested here
class dhtab {
      ^
In file included from aiod.C:86:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<int, ref<dhtab::fh>> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
./qhash.h:98:15: note: in instantiation of member function 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
aiod.C:199:7: note: in instantiation of member function 'qhash<int, ref<dhtab::fh>, hashfn<int>, equals<int>, qhash_lookup_return<ref<dhtab::fh>>, &qhash_slot<int, ref<dhtab::fh>>::link>::~qhash' requested here
class dhtab {
      ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
./suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
./suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
./suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
./suio++.h:46:7: note: previous use is here
class suio {
      ^
./suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
mv -f .deps/dynenum.Tpo .deps/dynenum.Plo
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from profiler.C:3:
In file included from ./sfs_profiler.h:4:
In file included from ./async.h:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
mv -f .deps/select_kqueue.Tpo .deps/select_kqueue.Plo
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT pcre.lo -MD -MP -MF .deps/pcre.Tpo -c pcre.c  -fPIC -DPIC -o .libs/pcre.o
22 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT profiler.lo -MD -MP -MF .deps/profiler.Tpo -c profiler.C -o profiler.o >/dev/null 2>&1
pcre.c:1338:6: warning: explicitly assigning value of variable of type 'BOOL' (aka 'int') to itself [-Wself-assign]
utf8 = utf8;               /* Stop pedantic compilers complaining */
~~~~ ^ ~~~~
pcre.c:1411:6: warning: explicitly assigning value of variable of type 'BOOL' (aka 'int') to itself [-Wself-assign]
utf8 = utf8;               /* Stop pedantic compilers complaining */
~~~~ ^ ~~~~
pcre.c:2891:35: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
        else if ((digitab[ptr[1]] && ctype_digit) != 0)
                                  ^  ~~~~~~~~~~~
pcre.c:2891:35: note: use '&' for a bitwise operation
        else if ((digitab[ptr[1]] && ctype_digit) != 0)
                                  ^~
                                  &
pcre.c:2891:35: note: remove constant to silence this warning
        else if ((digitab[ptr[1]] && ctype_digit) != 0)
                                 ~^~~~~~~~~~~~~~
mv -f .deps/profiler.Tpo .deps/profiler.Plo
45 warnings generated.
mv -f .deps/aiod.Tpo .deps/aiod.Po
3 warnings generated.
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT pcre.lo -MD -MP -MF .deps/pcre.Tpo -c pcre.c -o pcre.o >/dev/null 2>&1
mv -f .deps/pcre.Tpo .deps/pcre.Plo
/bin/sh ../libtool --tag=CXX   --mode=link clang++  -O2 -I/usr/pkg/include -Wall   -version-info 8 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o libasync.la -rpath /usr/pkg/lib/sfslite-1.2 arandom.lo clock_gettime.lo flock.lo rwfd.lo stktrace.lo suidprotect.lo maketables.lo pcre.lo study.lo aerr.lo aio.lo aios.lo arena.lo armor.lo bbuddy.lo cbuf.lo convertint.lo core.lo daemonize.lo dns.lo dnsparse.lo err.lo fdwait.lo ident.lo ifchg.lo ihash.lo itree.lo lockfile.lo malloc.lo msb.lo myaddrs.lo myname.lo parseopt.lo pipe2str.lo refcnt.lo rxx.lo sigio.lo socket.lo spawn.lo str.lo str2file.lo straux.lo suio++.lo suio_vuprintf.lo tcpconnect.lo litetime.lo select.lo select_std.lo select_epoll.lo select_kqueue.lo dynenum.lo vec.lo bundle.lo alog2.lo leakcheck.lo profiler.lo  
libtool: link: clang++ -shared  -fPIC -DPIC  .libs/arandom.o .libs/clock_gettime.o .libs/flock.o .libs/rwfd.o .libs/stktrace.o .libs/suidprotect.o .libs/maketables.o .libs/pcre.o .libs/study.o .libs/aerr.o .libs/aio.o .libs/aios.o .libs/arena.o .libs/armor.o .libs/bbuddy.o .libs/cbuf.o .libs/convertint.o .libs/core.o .libs/daemonize.o .libs/dns.o .libs/dnsparse.o .libs/err.o .libs/fdwait.o .libs/ident.o .libs/ifchg.o .libs/ihash.o .libs/itree.o .libs/lockfile.o .libs/malloc.o .libs/msb.o .libs/myaddrs.o .libs/myname.o .libs/parseopt.o .libs/pipe2str.o .libs/refcnt.o .libs/rxx.o .libs/sigio.o .libs/socket.o .libs/spawn.o .libs/str.o .libs/str2file.o .libs/straux.o .libs/suio++.o .libs/suio_vuprintf.o .libs/tcpconnect.o .libs/litetime.o .libs/select.o .libs/select_std.o .libs/select_epoll.o .libs/select_kqueue.o .libs/dynenum.o .libs/vec.o .libs/bundle.o .libs/alog2.o .libs/leakcheck.o .libs/profiler.o   -L/data/scratch/devel/sfslite/work/.buildlink/lib  -O2 -Wl,-rpath -Wl,/usr/pkg/lib   -Wl,-soname -Wl,libasync.so.8 -o .libs/libasync.so.8.0.0
libtool: link: (cd ".libs" && rm -f "libasync.so.8" && ln -s "libasync.so.8.0.0" "libasync.so.8")
libtool: link: (cd ".libs" && rm -f "libasync.so" && ln -s "libasync.so.8.0.0" "libasync.so")
libtool: link: ar cru .libs/libasync.a  arandom.o clock_gettime.o flock.o rwfd.o stktrace.o suidprotect.o maketables.o pcre.o study.o aerr.o aio.o aios.o arena.o armor.o bbuddy.o cbuf.o convertint.o core.o daemonize.o dns.o dnsparse.o err.o fdwait.o ident.o ifchg.o ihash.o itree.o lockfile.o malloc.o msb.o myaddrs.o myname.o parseopt.o pipe2str.o refcnt.o rxx.o sigio.o socket.o spawn.o str.o str2file.o straux.o suio++.o suio_vuprintf.o tcpconnect.o litetime.o select.o select_std.o select_epoll.o select_kqueue.o dynenum.o vec.o bundle.o alog2.o leakcheck.o profiler.o
libtool: link: ranlib .libs/libasync.a
libtool: link: ( cd ".libs" && rm -f "libasync.la" && ln -s "../libasync.la" "libasync.la" )
/bin/sh ../libtool --tag=CXX   --mode=link clang++  -O2 -I/usr/pkg/include -Wall    -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o aiod aiod.o libasync.la    
libtool: link: clang++ -O2 -I/data/scratch/devel/sfslite/work/.buildlink/include -Wall -Wl,-rpath -Wl,/usr/pkg/lib -o .libs/aiod aiod.o  -L/data/scratch/devel/sfslite/work/.buildlink/lib -L./.libs -lasync -Wl,-rpath,/usr/pkg/lib/sfslite-1.2
gmake[2]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/async'
Making all in libsafeptr
gmake[2]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/libsafeptr'
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
 cd .. && /bin/sh ./config.status libsafeptr/Makefile depfiles
config.status: creating libsafeptr/Makefile
config.status: executing depfiles commands
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT gc.lo -MD -MP -MF .deps/gc.Tpo -c -o gc.lo gc.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT freemap.lo -MD -MP -MF .deps/freemap.Tpo -c -o freemap.lo freemap.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT gc_str.lo -MD -MP -MF .deps/gc_str.Tpo -c -o gc_str.lo gc_str.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT gc_str.lo -MD -MP -MF .deps/gc_str.Tpo -c gc_str.C  -fPIC -DPIC -o .libs/gc_str.o
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:4:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT freemap.lo -MD -MP -MF .deps/freemap.Tpo -c freemap.C  -fPIC -DPIC -o .libs/freemap.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT gc.lo -MD -MP -MF .deps/gc.Tpo -c gc.C  -fPIC -DPIC -o .libs/gc.o
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:7:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:9:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:4:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:162:23: note: in instantiation of template class 'callback<int, const freemap_t::node_t *, void, void>' requested here
  T *search (typename callback<int, const T*>::ref cb) const {
                      ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<freemap_t::node_t, &freemap_t::node_t::_lnk, keyfunc_2<int, freemap_t::node_t, unsigned int, &freemap_t::node_t::_id, compare<unsigned int>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./freemap.h:54:57: note: in instantiation of template class 'itree<unsigned int, freemap_t::node_t, &freemap_t::node_t::_id, &freemap_t::node_t::_lnk, compare<unsigned int>>' requested here
  itree<u_int32_t, node_t, &node_t::_id, &node_t::_lnk> _segs;
                                                        ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:203:27: note: in instantiation of template class 'callback<void, freemap_t::node_t *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<freemap_t::node_t, &freemap_t::node_t::_lnk, keyfunc_2<int, freemap_t::node_t, unsigned int, &freemap_t::node_t::_id, compare<unsigned int>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./freemap.h:54:57: note: in instantiation of template class 'itree<unsigned int, freemap_t::node_t, &freemap_t::node_t::_id, &freemap_t::node_t::_lnk, compare<unsigned int>>' requested here
  itree<u_int32_t, node_t, &node_t::_id, &node_t::_lnk> _segs;
                                                        ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:162:23: note: in instantiation of template class 'callback<int, const sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  T *search (typename callback<int, const T*>::ref cb) const {
                      ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, keyfunc_2<int, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, unsigned char *, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, sp::gc::memptr_compare>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./sp_gc.h:795:64: note: in instantiation of template class 'itree<unsigned char *, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, sp::gc::memptr_compare>' requested here
          &arena_t<T,G>::_base, &arena_t<T,G>::_tlnk, memptr_compare> _tree;
                                                                      ^
./sp_gc_impl.h:676:23: note: in instantiation of template class 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
    arena_t<T,G> *a = mgr_t<T,G>::get()->lookup (v_data ());
                      ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::bigptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:203:27: note: in instantiation of template class 'callback<void, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, keyfunc_2<int, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, unsigned char *, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, sp::gc::memptr_compare>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./sp_gc.h:795:64: note: in instantiation of template class 'itree<unsigned char *, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, sp::gc::memptr_compare>' requested here
          &arena_t<T,G>::_base, &arena_t<T,G>::_tlnk, memptr_compare> _tree;
                                                                      ^
./sp_gc_impl.h:676:23: note: in instantiation of template class 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
    arena_t<T,G> *a = mgr_t<T,G>::get()->lookup (v_data ());
                      ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::bigptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./sp_gc_impl.h:74:26: note: in instantiation of template class 'ref<callback<int, const sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>>' requested here
    return _tree.search (wrap (cmp_fn<T,G>, p));
                         ^
./sp_gc_impl.h:676:42: note: in instantiation of member function 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::lookup' requested here
    arena_t<T,G> *a = mgr_t<T,G>::get()->lookup (v_data ());
                                         ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::bigptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./sp_gc_impl.h:622:7: note: in instantiation of template class 'tailq<sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_next>' requested here
      dump_list<T,G> (_memslots);
      ^
./sp_gc_impl.h:47:8: note: in instantiation of member function 'sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::remove' requested here
    a->remove (this);
       ^
./sp_gc_impl.h:681:10: note: in instantiation of member function 'sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
    _ms->deallocate (boa);
         ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::bigptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
./sp_gc.h:691:10: warning: 'sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::report' hides overloaded virtual function [-Woverloaded-virtual]
    void report (const char *v = NULL) const;
         ^
./sp_gc_impl.h:968:8: note: in instantiation of template class 'sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
    soa->check ();
       ^
./sp_gc_impl.h:987:17: note: in instantiation of member function 'sp::gc::smallptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::lookup_arena' requested here
    deallocate (lookup_arena ());
                ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::smallptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
./sp_gc.h:544:18: note: hidden overloaded virtual function 'sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::report' declared here: different number of parameters (0 vs 1)
    virtual void report (void) const {}
                 ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./sp_gc.h:899:16: note: in instantiation of template class 'tailq<sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_qlnk>' requested here
    boa_list_t _bigs;
               ^
./sp_gc_impl.h:779:11: note: in instantiation of template class 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
      _mgr->became_vacant (this, _soa_index);
          ^
./sp_gc_impl.h:998:8: note: in instantiation of member function 'sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::mark_free' requested here
    a->mark_free (this);
       ^
./sp_gc_impl.h:987:5: note: in instantiation of member function 'sp::gc::smallptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
    deallocate (lookup_arena ());
    ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::smallptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./sp_gc.h:869:16: note: in instantiation of template class 'tailq<sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_soa_lnk>' requested here
    soa_list_t _vacancy;
               ^
./sp_gc_impl.h:131:23: note: in instantiation of template class 'sp::gc::soa_cluster_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
    _smalls[soa_index]->became_vacant (a);
                      ^
./sp_gc_impl.h:779:13: note: in instantiation of member function 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::became_vacant' requested here
      _mgr->became_vacant (this, _soa_index);
            ^
./sp_gc_impl.h:998:8: note: in instantiation of member function 'sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::mark_free' requested here
    a->mark_free (this);
       ^
./sp_gc_impl.h:987:5: note: in instantiation of member function 'sp::gc::smallptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
    deallocate (lookup_arena ());
    ^
./sp_gc_impl.h:874:48: note: in instantiation of member function 'sp::gc::smallptr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
  void redirector_t<T,G>::deallocate () { RDFN(deallocate,,); }
                                               ^
./sp_gc.h:287:13: note: in instantiation of member function 'sp::gc::redirector_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::deallocate' requested here
        _redir_ptr.deallocate ();
                   ^
./sp_gc.h:276:23: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::rc_dec' requested here
    virtual ~ptr () { rc_dec(); }
                      ^
./sp_gc_str.h:12:5: note: in instantiation of member function 'sp::gc::ptr<char, unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::~ptr' requested here
    strobj () : _len (0) {}
    ^
In file included from gc_str.C:2:
In file included from ./sp_gc_str.h:5:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
In file included from freemap.C:2:
In file included from template<class T> class mkcref;./freemap.h
:                  ^~~~~8
:
In file included from                   struct../async/async.h:
28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:162:23: note: in instantiation of template class 'callback<int, const freemap_t::node_t *, void, void>' requested here
  T *search (typename callback<int, const T*>::ref cb) const {
                      ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<freemap_t::node_t, &freemap_t::node_t::_lnk, keyfunc_2<int, freemap_t::node_t, unsigned int, &freemap_t::node_t::_id, compare<unsigned int>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./freemap.h:54:57: note: in instantiation of template class 'itree<unsigned int, freemap_t::node_t, &freemap_t::node_t::_id, &freemap_t::node_t::_lnk, compare<unsigned int>>' requested here
  itree<u_int32_t, node_t, &node_t::_id, &node_t::_lnk> _segs;
                                                        ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:203:27: note: in instantiation of template class 'callback<void, freemap_t::node_t *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<freemap_t::node_t, &freemap_t::node_t::_lnk, keyfunc_2<int, freemap_t::node_t, unsigned int, &freemap_t::node_t::_id, compare<unsigned int>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./freemap.h:54:57: note: in instantiation of template class 'itree<unsigned int, freemap_t::node_t, &freemap_t::node_t::_id, &freemap_t::node_t::_lnk, compare<unsigned int>>' requested here
  itree<u_int32_t, node_t, &node_t::_id, &node_t::_lnk> _segs;
                                                        ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from freemap.C:2:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
freemap.C:154:24: note: in instantiation of template class 'ref<callback<int, const freemap_t::node_t *, void, void>>' requested here
  return _segs.search (wrap (find_fn, segid));
                       ^
In file included from gc.C:2:
In file included from ./sp_gc.h:7:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from gc.C:2:
In file included from ./sp_gc.h:9:
In file included from ./freemap.h:8:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:162:23: note: in instantiation of template class 'callback<int, const freemap_t::node_t *, void, void>' requested here
  T *search (typename callback<int, const T*>::ref cb) const {
                      ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<freemap_t::node_t, &freemap_t::node_t::_lnk, keyfunc_2<int, freemap_t::node_t, unsigned int, &freemap_t::node_t::_id, compare<unsigned int>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./freemap.h:54:57: note: in instantiation of template class 'itree<unsigned int, freemap_t::node_t, &freemap_t::node_t::_id, &freemap_t::node_t::_lnk, compare<unsigned int>>' requested here
  itree<u_int32_t, node_t, &node_t::_id, &node_t::_lnk> _segs;
                                                        ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:203:27: note: in instantiation of template class 'callback<void, freemap_t::node_t *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<freemap_t::node_t, &freemap_t::node_t::_lnk, keyfunc_2<int, freemap_t::node_t, unsigned int, &freemap_t::node_t::_id, compare<unsigned int>>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./freemap.h:54:57: note: in instantiation of template class 'itree<unsigned int, freemap_t::node_t, &freemap_t::node_t::_id, &freemap_t::node_t::_lnk, compare<unsigned int>>' requested here
  itree<u_int32_t, node_t, &node_t::_id, &node_t::_lnk> _segs;
                                                        ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
27 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT freemap.lo -MD -MP -MF .deps/freemap.Tpo -c freemap.C -o freemap.o >/dev/null 2>&1
38 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT gc_str.lo -MD -MP -MF .deps/gc_str.Tpo -c gc_str.C -o gc_str.o >/dev/null 2>&1
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:162:23: note: in instantiation of template class 'callback<int, const sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  T *search (typename callback<int, const T*>::ref cb) const {
                      ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, keyfunc_2<int, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, unsigned char *, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, sp::gc::memptr_compare>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./sp_gc.h:795:64: note: in instantiation of template class 'itree<unsigned char *, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, sp::gc::memptr_compare>' requested here
          &arena_t<T,G>::_base, &arena_t<T,G>::_tlnk, memptr_compare> _tree;
                                                                      ^
./sp_gc.h:876:28: note: in instantiation of template class 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
  class std_mgr_t : public mgr_t<T,G> {
                           ^
gc.C:15:20: note: in instantiation of template class 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/itree.h:203:27: note: in instantiation of template class 'callback<void, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/itree.h:225:12: note: in instantiation of template class 'itree_core<sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, keyfunc_2<int, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, unsigned char *, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, sp::gc::memptr_compare>>' requested here
  : public itree_core<V, field, keyfunc_2<int, V, K, key, C> >
           ^
./sp_gc.h:795:64: note: in instantiation of template class 'itree<unsigned char *, sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_base, &sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_tlnk, sp::gc::memptr_compare>' requested here
          &arena_t<T,G>::_base, &arena_t<T,G>::_tlnk, memptr_compare> _tree;
                                                                      ^
./sp_gc.h:876:28: note: in instantiation of template class 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
  class std_mgr_t : public mgr_t<T,G> {
                           ^
gc.C:15:20: note: in instantiation of template class 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./sp_gc.h:899:16: note: in instantiation of template class 'tailq<sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_qlnk>' requested here
    boa_list_t _bigs;
               ^
gc.C:15:20: note: in instantiation of template class 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gc.C:2:
./sp_gc.h:691:10: warning: 'sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::report' hides overloaded virtual function [-Woverloaded-virtual]
    void report (const char *v = NULL) const;
         ^
./sp_gc.h:860:6: note: in instantiation of template class 'sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
                  &smallobj_arena_t<T,G>::_soa_lnk> soa_list_t;
                   ^
./sp_gc_impl.h:300:25: note: in instantiation of template class 'sp::gc::soa_cluster_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
        _smalls.push_back (New soa_cluster_t<T,G> (_sizer.ind2size (i)));
                               ^
gc.C:15:20: note: in instantiation of member function 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::std_mgr_t' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
./sp_gc.h:544:18: note: hidden overloaded virtual function 'sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::report' declared here: different number of parameters (0 vs 1)
    virtual void report (void) const {}
                 ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./sp_gc.h:869:16: note: in instantiation of template class 'tailq<sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::smallobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_soa_lnk>' requested here
    soa_list_t _vacancy;
               ^
./sp_gc_impl.h:300:25: note: in instantiation of template class 'sp::gc::soa_cluster_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>' requested here
        _smalls.push_back (New soa_cluster_t<T,G> (_sizer.ind2size (i)));
                               ^
gc.C:15:20: note: in instantiation of member function 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::std_mgr_t' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./sp_gc.h:574:17: note: in instantiation of template class 'tailq<sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>, &sp::gc::bigslot_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::_next>' requested here
        _memslots (New typename types<T,G>::memslot_list_t ()),
                       ^
./sp_gc.h:744:5: note: in instantiation of member function 'sp::gc::bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::bigobj_arena_t' requested here
    mmap_bigobj_arena_t (size_t sz);
    ^
./sp_gc_impl.h:283:6: note: in instantiation of member function 'sp::gc::mmap_bigobj_arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::mmap_bigobj_arena_t' requested here
        New mmap_bigobj_arena_t<T,G> (_cfg._size_b_arenae);
            ^
gc.C:15:20: note: in instantiation of member function 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::std_mgr_t' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
In file included from gc.C:2:
In file included from ./sp_gc.h:5:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./sp_gc_impl.h:74:26: note: in instantiation of template class 'ref<callback<int, const sp::gc::arena_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>> *, void, void>>' requested here
    return _tree.search (wrap (cmp_fn<T,G>, p));
                         ^
./sp_gc_impl.h:85:23: note: in instantiation of member function 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::lookup' requested here
    arena_t<T,G> *o = lookup (a->_base);
                      ^
./sp_gc_impl.h:284:19: note: in instantiation of member function 'sp::gc::mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::insert' requested here
      mgr_t<T,G>::insert (a);
                  ^
gc.C:15:20: note: in instantiation of member function 'sp::gc::std_mgr_t<unsigned char, sp::gc::nil::ptr_t<sp::gc::nil::gc_obj_t>>::std_mgr_t' requested here
      _g_mgr = New std_mgr_t<> (std_cfg_t ());
                   ^
mv -f .deps/freemap.Tpo .deps/freemap.Plo
38 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT gc.lo -MD -MP -MF .deps/gc.Tpo -c gc.C -o gc.o >/dev/null 2>&1
mv -f .deps/gc_str.Tpo .deps/gc_str.Plo
mv -f .deps/gc.Tpo .deps/gc.Plo
/bin/sh ../libtool --tag=CXX   --mode=link clang++  -O2 -I/usr/pkg/include -Wall   -version-info 8 -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o libsafeptr.la -rpath /usr/pkg/lib/sfslite-1.2 gc.lo freemap.lo gc_str.lo  
libtool: link: clang++ -shared  -fPIC -DPIC  .libs/gc.o .libs/freemap.o .libs/gc_str.o   -L/data/scratch/devel/sfslite/work/.buildlink/lib  -O2 -Wl,-rpath -Wl,/usr/pkg/lib   -Wl,-soname -Wl,libsafeptr.so.8 -o .libs/libsafeptr.so.8.0.0
libtool: link: (cd ".libs" && rm -f "libsafeptr.so.8" && ln -s "libsafeptr.so.8.0.0" "libsafeptr.so.8")
libtool: link: (cd ".libs" && rm -f "libsafeptr.so" && ln -s "libsafeptr.so.8.0.0" "libsafeptr.so")
libtool: link: ar cru .libs/libsafeptr.a  gc.o freemap.o gc_str.o
libtool: link: ranlib .libs/libsafeptr.a
libtool: link: ( cd ".libs" && rm -f "libsafeptr.la" && ln -s "../libsafeptr.la" "libsafeptr.la" )
gmake[2]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/libsafeptr'
Making all in rpcc
gmake[2]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/rpcc'
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
 cd .. && /bin/sh ./config.status rpcc/Makefile depfiles
config.status: creating rpcc/Makefile
config.status: executing depfiles commands
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/usr/pkg/bin/gmake  all-am
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/rpcc'
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[4]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[4]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT genheader.o -MD -MP -MF .deps/genheader.Tpo -c -o genheader.o genheader.C
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT gencfile.o -MD -MP -MF .deps/gencfile.Tpo -c -o gencfile.o gencfile.C
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT genpython.o -MD -MP -MF .deps/genpython.Tpo -c -o genpython.o genpython.C
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -Wno-error -c ./parse.cc
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT rpcc.o -MD -MP -MF .deps/rpcc.Tpo -c -o rpcc.o rpcc.C
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT genpyc.o -MD -MP -MF .deps/genpyc.Tpo -c -o genpyc.o genpyc.C
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from              cbv::ptr postforkcb = NULL, char *const *env = NULL);./rpcc.h
:                      ^41
:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, str> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, str>, &qhash_slot<str, str>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
genpyc.C:35:16: note: in instantiation of template class 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>' requested here
qhash<str,str> enum_tab;
               ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, str> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, str>, &qhash_slot<str, str>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
genpyc.C:35:16: note: in instantiation of template class 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>' requested here
qhash<str,str> enum_tab;
               ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, unsigned int> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
genpyc.C:36:22: note: in instantiation of template class 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
qhash<str,u_int32_t> proc_tab;
                     ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, unsigned int> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
genpyc.C:36:22: note: in instantiation of template class 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>' requested here
qhash<str,u_int32_t> proc_tab;
                     ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:../async/callback.h30::
In file included from 1573../async/callback.h::11626:
../async/refcnt.h::423 :warning: 11struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
 warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^  typedef struct ptr<T> ptr;

          ^
../async/amisc.h:41../async/aios.h::116:920: : notenote: : in instantiation of template class 'ref<aios>' requested here
in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)

                   ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, void> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:172:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, void>, &qhash_slot<str, void>::link>' requested here
  : public ihash_core<qhash_slot<K, void>, kludge> {
           ^
/home/max/sfslite/1.2/rpcc/parse.yy:351:10: note: in instantiation of template class 'bhash<str, hashfn<str>, equals<str>, &qhash_slot<str, void>::link>' requested here
  if (ids[id])
         ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, void> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:172:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, void>, &qhash_slot<str, void>::link>' requested here
  : public ihash_core<qhash_slot<K, void>, kludge> {
           ^
/home/max/sfslite/1.2/rpcc/parse.yy:351:10: note: in instantiation of template class 'bhash<str, hashfn<str>, equals<str>, &qhash_slot<str, void>::link>' requested here
  if (ids[id])
         ^
In file included from /home/max/sfslite/1.2/rpcc/parse.yy:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
genpyc.C:1835:22: note: in instantiation of template class 'ref<callback<void, const str &, unsigned int *, void>>' requested here
  proc_tab.traverse (wrap (dump_constants_trav_i));
                     ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
genpyc.C:1836:22: note: in instantiation of template class 'ref<callback<void, const str &, str *, void>>' requested here
  enum_tab.traverse (wrap (dump_constants_trav));
                     ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from genheader.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<str, str> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
genpyc.C:35:16: note: in instantiation of member function 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>::~qhash' requested here
qhash<str,str> enum_tab;
               ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<str, str> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
genpyc.C:35:16: note: in instantiation of member function 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>::~qhash' requested here
qhash<str,str> enum_tab;
               ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<str, unsigned int> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
genpyc.C:36:22: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::~qhash' requested here
qhash<str,u_int32_t> proc_tab;
                     ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<str, unsigned int> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
genpyc.C:36:22: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::~qhash' requested here
qhash<str,u_int32_t> proc_tab;
                     ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/qhash.h:112:23: note: in instantiation of template class 'callback<void, const str &, unsigned int *, void>' requested here
    { core::traverse (wrap (mkcbr, cb)); }
                      ^
genpyc.C:1835:12: note: in instantiation of member function 'qhash<str, unsigned int, hashfn<str>, equals<str>, qhash_lookup_return<unsigned int>, &qhash_slot<str, unsigned int>::link>::traverse' requested here
  proc_tab.traverse (wrap (dump_constants_trav_i));
           ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/qhash.h:112:23: note: in instantiation of template class 'callback<void, const str &, str *, void>' requested here
    { core::traverse (wrap (mkcbr, cb)); }
                      ^
genpyc.C:1836:12: note: in instantiation of member function 'qhash<str, str, hashfn<str>, equals<str>, qhash_lookup_return<str>, &qhash_slot<str, str>::link>::traverse' requested here
  enum_tab.traverse (wrap (dump_constants_trav));
           ^
In file included from genpyc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from genpython.C:25:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<str, void> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:172:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, void>, &qhash_slot<str, void>::link>' requested here
  : public ihash_core<qhash_slot<K, void>, kludge> {
           ^
rpcc.C:27:12: note: in instantiation of template class 'bhash<str, hashfn<str>, equals<str>, &qhash_slot<str, void>::link>' requested here
bhash<str> ids;
           ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, void> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:172:12: note: in instantiation of template class 'ihash_core<qhash_slot<str, void>, &qhash_slot<str, void>::link>' requested here
  : public ihash_core<qhash_slot<K, void>, kludge> {
           ^
rpcc.C:27:12: note: in instantiation of template class 'bhash<str, hashfn<str>, equals<str>, &qhash_slot<str, void>::link>' requested here
bhash<str> ids;
           ^
In file included from rpcc.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
24 warnings generated.
mv -f .deps/gencfile.Tpo .deps/gencfile.Po
28 warnings generated.
28 warnings generated.
mv -f .deps/rpcc.Tpo .deps/rpcc.Po
clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -Wno-error -c ./scan.cc
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/aios.h:40:11: note: in instantiation of template class 'callback<void, str, int, void>' requested here
  typedef callback<void, str, int>::ptr rcb_t;
          ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:45:9: note: in instantiation of template class 'ptr<callback<void, str, int, void>>' requested here
  rcb_t rcb;
        ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:58:39: note: in instantiation of template class 'ref<callback<void, str, int, void>>' requested here
    { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); }
                                      ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:67:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note: in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
In file included from /home/max/sfslite/1.2/rpcc/scan.ll:27:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/aios.h:161:44: note: in instantiation of template class 'ptr<aios>' requested here
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
lex.yy.c:804:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register yy_state_type yy_current_state;
        ^~~~~~~~~
lex.yy.c:805:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *yy_cp, *yy_bp;
        ^~~~~~~~~
lex.yy.c:805:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *yy_cp, *yy_bp;
        ^~~~~~~~~
lex.yy.c:806:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register int yy_act;
        ^~~~~~~~~
lex.yy.c:855:4: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
                        ^~~~~~~~~
lex.yy.c:1237:6: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
        ^~~~~~~~~
lex.yy.c:1238:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *source = (yytext_ptr);
        ^~~~~~~~~
lex.yy.c:1239:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register int number_to_move, i;
        ^~~~~~~~~
lex.yy.c:1239:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register int number_to_move, i;
        ^~~~~~~~~
lex.yy.c:1371:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register yy_state_type yy_current_state;
        ^~~~~~~~~
lex.yy.c:1372:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *yy_cp;
        ^~~~~~~~~
lex.yy.c:1379:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
                ^~~~~~~~~
lex.yy.c:1404:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register int yy_is_jam;
        ^~~~~~~~~
lex.yy.c:1405:6: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *yy_cp = (yy_c_buf_p);
        ^~~~~~~~~
lex.yy.c:1407:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register YY_CHAR yy_c = 1;
        ^~~~~~~~~
lex.yy.c:1425:33: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
    static void yyunput (int c, register char * yy_bp )
                                ^~~~~~~~~
lex.yy.c:1427:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register char *yy_cp;
        ^~~~~~~~~
lex.yy.c:1437:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
                register int number_to_move = (yy_n_chars) + 2;
                ^~~~~~~~~
lex.yy.c:1438:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
                register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
                ^~~~~~~~~
lex.yy.c:1440:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
                register char *source =
                ^~~~~~~~~
lex.yy.c:1425:17: warning: unused function 'yyunput' [-Wunused-function]
    static void yyunput (int c, register char * yy_bp )
                ^
lex.yy.c:1464:16: warning: function 'yyinput' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    static int yyinput (void)
               ^
24 warnings generated.
mv -f .deps/genheader.Tpo .deps/genheader.Po
24 warnings generated.
mv -f .deps/genpython.Tpo .deps/genpython.Po
46 warnings generated.
42 warnings generated.
mv -f .deps/genpyc.Tpo .deps/genpyc.Po
/bin/sh ../libtool --tag=CXX   --mode=link clang++  -O2 -I/usr/pkg/include -Wall    -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o rpcc genheader.o gencfile.o genpython.o parse.o scan.o rpcc.o genpyc.o ../async/libasync.la    
libtool: link: clang++ -O2 -I/data/scratch/devel/sfslite/work/.buildlink/include -Wall -Wl,-rpath -Wl,/usr/pkg/lib -o .libs/rpcc genheader.o gencfile.o genpython.o parse.o scan.o rpcc.o genpyc.o  -L/data/scratch/devel/sfslite/work/.buildlink/lib -L../async/.libs -lasync -Wl,-rpath,/usr/pkg/lib/sfslite-1.2
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/rpcc'
gmake[2]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/rpcc'
Making all in arpc
gmake[2]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/arpc'
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
 cd .. && /bin/sh ./config.status arpc/Makefile depfiles
config.status: creating arpc/Makefile
config.status: executing depfiles commands
cd .. && /usr/pkg/bin/gmake  am--refresh
gmake[3]: Entering directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ./config.status --recheck
gmake[3]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
/bin/sh ../libtool --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT authunixint.lo -MD -MP -MF .deps/authunixint.Tpo -c -o authunixint.lo authunixint.c
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT aclnt.lo -MD -MP -MF .deps/aclnt.Tpo -c -o aclnt.lo aclnt.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT asrv.lo -MD -MP -MF .deps/asrv.Tpo -c -o asrv.lo asrv.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT authopaque.lo -MD -MP -MF .deps/authopaque.Tpo -c -o authopaque.lo authopaque.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT authuint.lo -MD -MP -MF .deps/authuint.Tpo -c -o authuint.lo authuint.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT axprt_dgram.lo -MD -MP -MF .deps/axprt_dgram.Tpo -c -o axprt_dgram.lo axprt_dgram.C
../rpcc/rpcc -h ./pmap_prot.x || rm -f pmap_prot.h
(echo '#define proc XXX_egcs_bug_proc'; \
	echo '#include "sysconf.h"'; \
	echo '#undef proc') > pmap_prot.C~
../rpcc/rpcc -c ./pmap_prot.x -o- >> pmap_prot.C~ \
	&& mv -f pmap_prot.C~ pmap_prot.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT axprt_pipe.lo -MD -MP -MF .deps/axprt_pipe.Tpo -c -o axprt_pipe.lo axprt_pipe.C
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT axprt_stream.lo -MD -MP -MF .deps/axprt_stream.Tpo -c -o axprt_stream.lo axprt_stream.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT authopaque.lo -MD -MP -MF .deps/authopaque.Tpo -c authopaque.C  -fPIC -DPIC -o .libs/authopaque.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT authunixint.lo -MD -MP -MF .deps/authunixint.Tpo -c authunixint.c  -fPIC -DPIC -o .libs/authunixint.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aclnt.lo -MD -MP -MF .deps/aclnt.Tpo -c aclnt.C  -fPIC -DPIC -o .libs/aclnt.o
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_stream.lo -MD -MP -MF .deps/axprt_stream.Tpo -c axprt_stream.C  -fPIC -DPIC -o .libs/axprt_stream.o
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT authunixint.lo -MD -MP -MF .deps/authunixint.Tpo -c authunixint.c -o authunixint.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_pipe.lo -MD -MP -MF .deps/axprt_pipe.Tpo -c axprt_pipe.C  -fPIC -DPIC -o .libs/axprt_pipe.o
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
mv -f .deps/authunixint.Tpo .deps/authunixint.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT axprt_unix.lo -MD -MP -MF .deps/axprt_unix.Tpo -c -o axprt_unix.lo axprt_unix.C
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_dgram.lo -MD -MP -MF .deps/axprt_dgram.Tpo -c axprt_dgram.C  -fPIC -DPIC -o .libs/axprt_dgram.o
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
./axprt.hIn file included from :../async/amisc.h:29:
In file included from 107../async/err.h:3: :28note: :
did you mean class here?In file included from 
../async/str.h:29:
In file included from ../async/suio++.h:30  struct suio *out;:

In file included from   ^~~~~~../async/callback.h:
626  class:

../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30In file included from :
authopaque.CIn file included from :../async/callback.h:25626:
:
In file included from ./arpc.h:29:
../async/refcnt.hIn file included from :423../async/async.h::28:
11In file included from ../async/amisc.h:: 29warning:
: In file included from struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
../async/err.h:28:
In file included from ../async/str.h:29:
In file included from   typedef struct ptr<T> ptr;../async/suio++.h:
30          ^
:
In file included from ../async/callback.h./axprt.h:626:
:../async/refcnt.h210::32423:: 11note::  in instantiation of template class 'ref<axprt_unix>' requested herewarning
: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
./axprt.h:179:                               ^27
: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/callback.h:2459../async/async.h::1128::
 warningIn file included from : ../async/amisc.hstruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:29
:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:  typedef struct ref<callback<R, B1, B2> > ref;30:

../async/callback.h:          ^1573
:11:./aclnt.h :32warning: :struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]9:
 note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.htypedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;:
233        ^:9
: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
In file included from aclnt.Ctypedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;:
24        ^:

In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from In file included from ../async/amisc.hauthopaque.C::2529:
:
In file included from In file included from ../async/err.h:./arpc.h:2829:
:
In file included from ../async/str.hIn file included from :../async/async.h29:
:In file included from 28../async/suio++.h:
:In file included from 30:
../async/amisc.h../async/callback.h::246029:
:In file included from 11:../async/err.h :warning28: :
In file included from struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]../async/str.h:
29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11:  typedef struct ptr<callback<R, B1, B2> > ptr; 
warning          ^
: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:../async/callback.h423::1573:1111::  warningwarning: : struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

  typedef struct ptr<T> ptr;
          ^
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:75:12: note: ./aclnt.hin instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
:30:9  aclnt_cb cb;:
            ^note
: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28In file included from :
authopaque.CIn file included from :../async/amisc.h25:
In file included from :./arpc.h29:
:In file included from 29../async/err.h:
:In file included from 28../async/async.h:
In file included from ../async/str.h::28:
In file included from ../async/amisc.h29::
29:
In file included from In file included from ../async/err.h:28:
../async/suio++.hIn file included from :../async/str.h30:29:
:
In file included from In file included from ../async/suio++.h:../async/callback.h30:
In file included from :../async/callback.h626:626:
../async/refcnt.h:
:../async/refcnt.h423:485::1111: warning::  struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]warning
: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^  typedef struct ref<T> ref;

          ^
./aclnt.h:75./aclnt.h::12141:15::  notenote: : in instantiation of template class 'ptr<xhinfo>' requested here
in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  ptr<xhinfo> xi;  aclnt_cb cb;
           ^

              ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;../async/callback.h
:                                    ^687
:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from authopaque.C:25:
In file included from ./arpc.h:29  typedef struct ref<callback<R> > ref;:
In file included from 
../async/async.h          ^
:28:
./aclnt.h:In file included from ../async/amisc.h230::29:
3In file included from :../async/err.h :note: 28in instantiation of template class 'callback<bool, void, void, void>' requested here:

In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30  callback<bool>::ptr failcb;:

../async/callback.h:1574  ^:
11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from aclnt.C:24:
  typedef struct ptr<callback<R, B1> > ptr;In file included from 
./arpc.h          ^:29:

In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from In file included from ../async/suio++.h:aclnt.C:30:
In file included from 24../async/callback.h:
:626In file included from ./arpc.h:
:29../async/refcnt.h::
485:In file included from 11../async/async.h:: 28warning:
: In file included from struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
../async/amisc.h:29:
In file included from ../async/err.h:28  typedef struct ref<T> ref;
:
          ^
In file included from ../async/str.h:./aclnt.h:29230:
:In file included from 23:../async/suio++.h :note: 30in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here:

In file included from ../async/callback.h:626:
../async/refcnt.h:423  callback<bool>::ptr failcb;:
11                      ^: 
warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from authopaque.C:25:
In file included from ./arpc.h:29  typedef struct ref<callback<R, B1, B2, B3> > ref;
:
          ^In file included from 
../async/async.h:28:
./axprt.hIn file included from :../async/amisc.h:4329:
:In file included from 11../async/err.h::28:
 In file included from note../async/str.h:: 29in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here:

In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423  typedef callback<void, const char *, ssize_t,:
11          ^:
 warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from   typedef struct ptr<T> ptr;axprt_stream.C
:          ^
24:
In file included from ./arpc.h./aclnt.h::29262:
:In file included from 23../async/async.h:: 28note: :
in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested hereIn file included from ../async/amisc.h
In file included from :aclnt.C:29:
In file included from ../async/err.h:2428:
:
In file included from                       axprtalloc_fn xa = axprt_stream_alloc_default);./arpc.hIn file included from :
29../async/str.h:
:In file included from 29../async/async.h                                    ^::
28In file included from 
../async/suio++.h::
30In file included from :
../async/amisc.h../async/callback.h:29::
3346In file included from :../async/err.h11::28 :
warning: In file included from struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]../async/str.h
:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:  typedef struct ptr<callback<R, B1, B2, B3> > ptr;485
:          ^11
: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT asrv.lo -MD -MP -MF .deps/asrv.Tpo -c asrv.C  -fPIC -DPIC -o .libs/asrv.o
../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29In file included from :
aclnt.CIn file included from ../async/err.h::28:
In file included from 24../async/str.h:
:In file included from 29./arpc.h::
29In file included from ../async/suio++.h:
:In file included from 30:
../async/async.hIn file included from :../async/callback.h28::
626In file included from :
../async/amisc.h../async/refcnt.h::48529::
11In file included from : warning../async/err.h: :28:
struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]In file included from 
../async/str.h:29:
In file included from ../async/suio++.h:30:
  typedef struct ref<T> ref;../async/callback.h
:          ^1573
:11:./asrv.h:124:16 :warning note: : in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested herestruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

  asrv_cb::ptr cb;
               ^
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from aclnt.C:24:
In file included from   struct suio *out;./arpc.h
  ^:
29:
In file included from ../async/suio++.h../async/async.h:46::287:
In file included from : ../async/amisc.hnote:29: :
previous use is hereIn file included from 
../async/err.h:28:
In file included from class suio {
../async/str.h      ^
:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
In file included from axprt_stream.C  void traverse (typename callback<void, const T &>::ref cb) const {:
24:
                          ^
In file included from ./arpc.h../async/ihash.h::29314:
:In file included from 12../async/async.h:: 28:
note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested hereIn file included from 
../async/amisc.h:29:
In file included from ../async/err.h:28:
  : public ihash_core<V, field>In file included from 
           ^../async/str.h
:29:
./asrv.hIn file included from :../async/suio++.h:30162:
In file included from :../async/callback.h31:626::
 ../async/refcnt.hnote:: 423in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  shash<svccb, &svccb::hlink> rtab;
                              ^
  typedef struct ptr<T> ptr;
          ^
In file included from ./axprt.h:authopaque.C146::2526::
In file included from  ./arpc.hnote:: 29in instantiation of template class 'ref<axprt_pipe>' requested here:

In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)29
:
In file included from                          ^
../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.hIn file included from :authopaque.C28:
:In file included from 25../async/str.h:
:In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
29In file included from :
../async/amisc.hIn file included from ../async/suio++.h:29:
:In file included from 30../async/err.h:
:In file included from 28:
In file included from ../async/str.h:29../async/callback.h:
In file included from ../async/suio++.h::62630:
:
../async/refcnt.h../async/callback.h::4231573::1111::  warning: warningstruct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
  typedef struct ref<callback<R, B1> > ref;./axprt.h
:          ^179
:27: ../async/list.h:note62: :in instantiation of template class 'ref<axprt_clone>' requested here27
: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from aclnt.C:24:
In file included from In file included from ./arpc.hauthopaque.C::2925:
:
In file included from In file included from ../async/async.h./arpc.h::28:
29In file included from :
../async/amisc.hIn file included from :../async/async.h29::
28:
In file included from In file included from ../async/err.h../async/amisc.h::28:
29In file included from :
../async/str.hIn file included from :../async/err.h:2928:
:
In file included from In file included from ../async/suio++.h../async/str.h::3029:
:
In file included from In file included from ../async/suio++.h../async/callback.h::30:
626../async/callback.h:
:../async/refcnt.h:1574423::1111::  warningwarning: : struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

  typedef struct ptr<T> ptr;
  typedef struct ptr<callback<R, B1> > ptr;          ^

          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
In file included from ../async/ihash.haclnt.C::24209:
:27: In file included from note./arpc.h: :in instantiation of template class 'callback<void, asrv *, void, void>' requested here29
:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28  void traverse (typename callback<void, T *>::ref cb) {:
In file included from 
../async/str.h                          ^
:29../async/ihash.h:
:242In file included from :../async/suio++.h12::30 :
note../async/callback.h:: 1573in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here:
11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  : public ihash_core<V, field>
           ^
./xhinfo.h:36  typedef struct ref<callback<R, B1> > ref;:
57          ^:
 note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here../async/list.h:
62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
  void traverse (typename callback<void, T*>::ref cb) const {                                                        ^

                          ^
./xhinfo.h:35:31: noteIn file included from : authopaque.Cin instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here:
25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:  list<aclnt, &aclnt::xhlink> clist;28:

In file included from ../async/amisc.h                              ^:
29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from In file included from aclnt.C../async/suio++.h::30:
24../async/callback.h::
1574:In file included from 11./arpc.h:: 29:
warningIn file included from : ../async/async.h:struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]28
:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from   typedef struct ptr<callback<R, B1> > ptr;
../async/str.h          ^:29
:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/callback.h../async/async.h::157328:11:
: In file included from warning../async/amisc.h:: 29:
struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]In file included from 
../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h  typedef struct ref<callback<R, B1> > ref;:
30:
          ^../async/callback.h:
1574:11../async/ihash.h:: 209:warning27: :struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] 
note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  typedef struct ptr<callback<R, B1> > ptr;
          ^
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
../async/callback.h:1573:11In file included from :aclnt.C :24:
warningIn file included from ./arpc.h: :struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from   typedef struct ref<callback<R, B1> > ref;../async/err.h
:28          ^:

In file included from ../async/str.h:../async/ihash.h29::
217In file included from :27:../async/suio++.h :note30: :
in instantiation of template class 'callback<void, const callbase &, void, void>' requested here../async/callback.h
:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
  typedef struct ptr<callback<R, B1> > ptr;
../async/ihash.h          ^:
242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from axprt_stream.C:24  typedef struct ref<callback<R, B1> > ref;:
In file included from 
./arpc.h:          ^29
:
In file included from ../async/async.h:28../async/ihash.h::
217In file included from ../async/amisc.h::2927:
:In file included from  ../async/err.hnote: :28in instantiation of template class 'callback<void, const callbase &, void, void>' requested here:

In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:  void traverse (typename callback<void, const T &>::ref cb) const {11
                          ^:
 warning../async/ihash.h:242:12: :struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] note: 
in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  typedef struct ptr<T> ptr;
  : public ihash_core<V, field>          ^

           ^
./axprt.h:./xhinfo.h210::3732::70 : note: notein instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here: 
in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;                               ^

                                                                     ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authopaque.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from aclnt.C  typedef struct ref<callback<R, B1, B2> > ref;
:          ^27
:
./xdr_suio.h:./aclnt.h60::32:39::  warningnote: : 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here

  register suio *const uio = xsuio (xdrs);
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;  ^~~~~~~~~

        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_stream.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_unix.lo -MD -MP -MF .deps/axprt_unix.Tpo -c axprt_unix.C  -fPIC -DPIC -o .libs/axprt_unix.o
67 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT authuint.lo -MD -MP -MF .deps/authuint.Tpo -c authuint.C  -fPIC -DPIC -o .libs/authuint.o
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
aclnt.C:494:3: note: in instantiation of template class 'ref<callback<void, clnt_stat, const char *, long>>' requested here
  aclntraw_cb::ptr cb;
  ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aclnt.C:494:20: note: in instantiation of template class 'ptr<callback<void, clnt_stat, const char *, long>>' requested here
  aclntraw_cb::ptr cb;
                   ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aclnt.C:546:1: note: in instantiation of template class 'ptr<aclnt>' requested here
aclnt_mkptr (aclnt *c)
^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_stream.lo -MD -MP -MF .deps/axprt_stream.Tpo -c axprt_stream.C -o axprt_stream.o >/dev/null 2>&1
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
aclnt.C:635:21: note: in instantiation of template class 'ref<aclnt_resumable>' requested here
  ref<aclnt> hold = mkref (this);
                    ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
aclnt.C:692:18: note: in instantiation of template class 'ptr<aclnt_resumable>' requested here
aclnt_resumable::alloc (ref<axprt> x, const rpc_program &pr,
                 ^
In file included from aclnt.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
aclnt.C:693:45: note: in instantiation of template class 'ref<callback<bool, void, void, void>>' requested here
                        callback<bool>::ref failcb)
                                            ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
67 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT authopaque.lo -MD -MP -MF .deps/authopaque.Tpo -c authopaque.C -o authopaque.o >/dev/null 2>&1
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.hIn file included from :asrv.C29:25:
:
In file included from ../async/suio++.hIn file included from ./arpc.h::2930:
:
In file included from In file included from ../async/callback.h:626../async/async.h::
28:
../async/refcnt.hIn file included from :../async/amisc.h536:29:
:In file included from ../async/err.h:1:28 :
warning: In file included from ../async/str.h'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:29
:
In file included from ../async/suio++.h:30:
struct mkcref {../async/callback.h
:^
1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^In file included from 
axprt_pipe.C:24:
In file included from In file included from asrv.C./arpc.h:25::
29In file included from :
./arpc.hIn file included from :../async/async.h../async/refcnt.h29::
:In file included from 28407:
../async/async.h:In file included from 19::28../async/amisc.h :
note:: 29did you mean struct here?:

In file included from In file included from ../async/amisc.h../async/err.h::29template<class T> class mkcref;28:
:
In file included from ../async/err.h
In file included from                   ^~~~~
../async/str.h:                  struct:
2829:
:
In file included from In file included from ../async/str.h../async/suio++.h::3029:
:
In file included from In file included from ../async/suio++.h../async/callback.h::62630:
:
../async/refcnt.h../async/callback.h::4231574::1111::  warningwarning: : struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

  typedef struct ptr<T> ptr;  typedef struct ptr<callback<R, B1> > ptr;

          ^          ^

./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from In file included from axprt_pipe.Casrv.C::2425:
:
In file included from In file included from ./arpc.h./arpc.h::2929:
:
In file included from ../async/async.hIn file included from :../async/async.h28:
In file included from :../async/amisc.h28::
29In file included from :
../async/amisc.hIn file included from ../async/err.h::2928:
:
In file included from In file included from ../async/str.h../async/err.h::2829:
:
In file included from In file included from ../async/str.h:../async/suio++.h:30:
29In file included from :
In file included from ../async/callback.h../async/suio++.h::62630:
:
In file included from ../async/refcnt.h../async/callback.h::626485::
11../async/refcnt.h: :warning423:: 11struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
 warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
  typedef struct ptr<T> ptr;../async/amisc.h
:          ^105
:16: note./aclnt.h: :in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here75
:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^             cbv::ptr postforkcb = NULL, char *const *env = NULL);

                      ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from asrv.C:25:
In file included from In file included from ./arpc.haxprt_pipe.C::2924:
:
In file included from In file included from ../async/async.h./arpc.h::2829:
:
In file included from In file included from ../async/async.h../async/amisc.h::2829:
In file included from :
../async/amisc.hIn file included from :../async/err.h29:28:
:
In file included from In file included from ../async/err.h:28../async/str.h:
:In file included from 29../async/str.h:
:In file included from 29../async/suio++.h::
30In file included from :
../async/suio++.h../async/callback.h:3345::3011: :
warning../async/callback.h:: 688struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
  typedef struct ptr<callback<R> > ptr;
../async/async.h          ^:87:24:
 note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from axprt_pipe.C../async/callback.h::242459:
:In file included from 11./arpc.h::29 :
warningIn file included from : ../async/async.hstruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h  typedef struct ref<callback<R, B1, B2> > ref;:28
          ^:

In file included from ../async/str.h../async/async.h::2988:
:In file included from ../async/suio++.h21::30 :
noteIn file included from : ../async/callback.hin instantiation of template class 'callback<void, str, int, void>' requested here:
626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
void ident (int fd, callback<void, str, int>::ref);
                    ^
  typedef struct ref<T> ref;
          ^In file included from asrv.C
:25:
./aclnt.hIn file included from :./arpc.h230::2923:
:In file included from  ../async/async.hnote:: 28in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here:

In file included from ../async/amisc.h:29:
In file included from ../async/err.h:  callback<bool>::ptr failcb;
28                      ^:
In file included from 
../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_pipe.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
axprt_pipe.C:227:30: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'int' changes value from 18446744073709551615 to -1 [-Wconstant-conversion]
    cnt = syncpts.empty () ? (size_t) -1
        ~                    ^~~~~~~~~~~
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:../async/suio++.h29::
251In file included from :28../async/suio++.h::30 :
warning../async/callback.h: :struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]1574:
11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^  typedef struct ptr<callback<R, B1> > ptr;

../async/suio++.h          ^:
46:7: note: previous use is here
class suio {
      ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
../async/suio++.h:251:28: typedef callback<void, bool>::ref cbb;
note        ^: 
did you mean class here?
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:extern void suio_vuprintf (struct suio *, const char *, va_list);28:

In file included from                            ^~~~~~../async/amisc.h:
29                           class:

In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29In file included from :
In file included from asrv.C../async/suio++.h::2530:
:
In file included from ../async/callback.h./arpc.h:2460::29:
In file included from 11../async/async.h::28:
 In file included from warning../async/amisc.h: :struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]29:

In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30  typedef struct ptr<callback<R, B1, B2> > ptr;:

In file included from ../async/callback.h          ^:
626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163../async/str.h::28: 91note:: 10in instantiation of template class 'ref<axprt_stream>' requested here
: note: did you mean struct here?
  friend class bssstr;
  static ref<axprt_stream> alloc (int f, size_t ps = defps)         ^~~~~

         struct                           ^

In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
../async/callback.h:687:11:  typedef struct ref<callback<R, B1> > ref;
           ^warning
: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:typedef callback<void, bool>::ref cbb;230
:3        ^:
 note: in instantiation of template class 'callback<bool, void, void, void>' requested here
In file included from authuint.C  callback<bool>::ptr failcb;
:  ^24
:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29In file included from :
asrv.CIn file included from :../async/err.h:2528:
:
In file included from In file included from ../async/str.h./arpc.h::2929:
:
In file included from In file included from ../async/suio++.h../async/async.h::3028:
:
../async/callback.h:In file included from 1574../async/amisc.h::1129::
 In file included from warning../async/err.h: :struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]28
:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h  typedef struct ptr<callback<R, B1> > ptr;:
688          ^:
11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            classIn file included from 
asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
In file included from asrv.C:25:
In file included from ./arpc.h:29void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);:

In file included from                        ^../async/async.h
:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.hIn file included from authuint.C:24:
:In file included from 28:
./arpc.hIn file included from ../async/str.h:29:
:29In file included from ../async/suio++.h:30:
:
In file included from ../async/callback.h:In file included from 626../async/async.h:28:
:
../async/refcnt.hIn file included from :../async/amisc.h:42329::
11In file included from :../async/err.h: 28warning:
: In file included from struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
../async/str.h:29:
In file included from ../async/suio++.h:30:
  typedef struct ptr<T> ptr;../async/callback.h:
3346          ^
:11:./asrv.h :169:warning28: : struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]note
: in instantiation of template class 'ref<xhinfo>' requested here
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from asrv.C:26:
./xdr_suio.h:60:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register suio *const uio = xsuio (xdrs);
  ^~~~~~~~~
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./rpc_stats.h:113:36: note: in instantiation of template class 'qhash<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t, hashfn<rpc_stat_proc_t>, equals<rpc_stat_proc_t>, qhash_lookup_return<rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
    qhash<rpc_proc_t, rpc_stats_t> m_stats;
                                   ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./rpc_stats.h:113:36: note: in instantiation of template class 'qhash<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t, hashfn<rpc_stat_proc_t>, equals<rpc_stat_proc_t>, qhash_lookup_return<rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
    qhash<rpc_proc_t, rpc_stats_t> m_stats;
                                   ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
asrv.C:104:9: note: in instantiation of template class 'ref<asrv>' requested here
  srv = mkref (s);
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
asrv.C:514:18: note: in instantiation of template class 'ref<callback<void, const svccb &, void, void>>' requested here
  rtab.traverse (wrap (this, &asrv_replay::delsbp));
                 ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from In file included from authuint.C../async/amisc.h::2429:
:
In file included from In file included from ./arpc.h:../async/err.h29::
28In file included from ../async/async.h:
:In file included from 28../async/str.h:
:In file included from 29../async/amisc.h:
:29In file included from :
../async/suio++.hIn file included from :../async/err.h:3028:
:
In file included from ../async/callback.h../async/str.h::157329:
:In file included from 11../async/suio++.h:: 30warning:
: In file included from struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]../async/callback.h
:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]  typedef struct ref<callback<R, B1> > ref;

          ^
./asrv.h  typedef struct ref<T> ref;:
117:          ^11
: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here./axprt.h
:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^  recvcb_t cb;

           ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from axprt_dgram.C:24  typedef struct ptr<T> ptr;:

In file included from ./arpc.h          ^:
29:
In file included from ./axprt.h../async/async.h::2884:
In file included from :../async/amisc.h27::29 :
In file included from note../async/err.h: :28in instantiation of template class 'ref<axprt_dgram>' requested here:
In file included from 
../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),:
                           ^warning
: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46In file included from :axprt_dgram.C7::24:
 In file included from note./arpc.h: :previous use is here29
:
In file included from ../async/async.h:class suio {28:

In file included from       ^../async/amisc.h
:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^In file included from 
authuint.C:24asrv.C:
:In file included from 671./arpc.h::1729::
 In file included from note../async/async.h:28: :
in instantiation of template class 'ptr<asrv_resumable>' requested here
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
asrv_resumable::alloc (ref<axprt> x, const rpc_program &pr, asrv_cb::ptr cb)In file included from 
../async/callback.h                ^:626
:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11In file included from :authuint.C: 24warning:
: In file included from struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]./arpc.h:
29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from   typedef struct ref<callback<R, B1> > ref;../async/err.h
:          ^28
:
In file included from ../async/str.h:../async/ihash.h29::
217In file included from :../async/suio++.h27::30 :
noteIn file included from : ../async/callback.h:in instantiation of template class 'callback<void, const callbase &, void, void>' requested here626
:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^  typedef struct ptr<T> ptr;

          ^../async/ihash.h
:242:12./axprt.h:: note179: :in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here27
: note: in instantiation of template class 'ref<axprt_clone>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70:   static ref<axprt_clone> alloc (int f, size_t ps = defps)note
:                           ^
in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
In file included from asrv.C:  typedef struct ref<T> ref;25
:
In file included from ./arpc.h          ^:
29:
In file included from ../async/async.h./arpc.h::28135:
:In file included from 35:../async/amisc.h:29 note: :
in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested hereIn file included from 
../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:               callback<void, bool>::ptr cb = NULL);30
:
                                         ^In file included from 
../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
asrv.C:716:19: note: In file included from in instantiation of template class 'ptr<asrv_delayed_eof>' requested hereauthuint.C
:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from asrv_delayed_eof::alloc (ref<axprt> x, const rpc_program &pr, ../async/amisc.h
:29                  ^:

In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from authuint.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
67 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT authuint.lo -MD -MP -MF .deps/authuint.Tpo -c authuint.C -o authuint.o >/dev/null 2>&1
mv -f .deps/authopaque.Tpo .deps/authopaque.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT clone.lo -MD -MP -MF .deps/clone.Tpo -c -o clone.lo clone.C
67 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_dgram.lo -MD -MP -MF .deps/axprt_dgram.Tpo -c axprt_dgram.C -o axprt_dgram.o >/dev/null 2>&1
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT clone.lo -MD -MP -MF .deps/clone.Tpo -c clone.C  -fPIC -DPIC -o .libs/clone.o
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
68 warnings generated.
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_pipe.lo -MD -MP -MF .deps/axprt_pipe.Tpo -c axprt_pipe.C -o axprt_pipe.o >/dev/null 2>&1
In file included from axprt_unix.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
axprt_unix.C:127:1: note: in instantiation of template class 'ptr<axprt_unix>' requested here
tryconnect (str path, const char *arg0, u_int ps)
^
mv -f .deps/axprt_stream.Tpo .deps/axprt_stream.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT xdr_suio.lo -MD -MP -MF .deps/xdr_suio.Tpo -c -o xdr_suio.lo xdr_suio.C
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
clone.C:61:35: note: in instantiation of template class 'ptr<axprt_unix>' requested here
cloneserv_accept (ptr<axprt_unix> x, cloneserv_cb cb,
                                  ^
In file included from clone.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT xdr_suio.lo -MD -MP -MF .deps/xdr_suio.Tpo -c xdr_suio.C  -fPIC -DPIC -o .libs/xdr_suio.o
  typedef struct ref<T> ref;
          ^
clone.C:69:6: note: in instantiation of template class 'ptr<axprt_stream>' requested here
    (*cb) (-1);
     ^
mv -f .deps/axprt_dgram.Tpo .deps/axprt_dgram.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT xdrmisc.lo -MD -MP -MF .deps/xdrmisc.Tpo -c -o xdrmisc.lo xdrmisc.C
74 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT aclnt.lo -MD -MP -MF .deps/aclnt.Tpo -c aclnt.C -o aclnt.o >/dev/null 2>&1
69 warnings generated.
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT clone.lo -MD -MP -MF .deps/clone.Tpo -c clone.C -o clone.o >/dev/null 2>&1
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/authuint.Tpo .deps/authuint.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT xhinfo.lo -MD -MP -MF .deps/xhinfo.Tpo -c -o xhinfo.lo xhinfo.C
68 warnings generated.
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT axprt_unix.lo -MD -MP -MF .deps/axprt_unix.Tpo -c axprt_unix.C -o axprt_unix.o >/dev/null 2>&1
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
76 warnings generated.
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT asrv.lo -MD -MP -MF .deps/asrv.Tpo -c asrv.C -o asrv.o >/dev/null 2>&1
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdr_suio.C:25:
In file included from ./xdr_suio.h:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from xdr_suio.C:25:
./xdr_suio.h:60:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register suio *const uio = xsuio (xdrs);
  ^~~~~~~~~
68 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT xdr_suio.lo -MD -MP -MF .deps/xdr_suio.Tpo -c xdr_suio.C -o xdr_suio.o >/dev/null 2>&1
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT xdrmisc.lo -MD -MP -MF .deps/xdrmisc.Tpo -c xdrmisc.C  -fPIC -DPIC -o .libs/xdrmisc.o
mv -f .deps/axprt_pipe.Tpo .deps/axprt_pipe.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT rpc_stats.lo -MD -MP -MF .deps/rpc_stats.Tpo -c -o rpc_stats.lo rpc_stats.C
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
mv -f .deps/clone.Tpo .deps/clone.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT rpc_lookup.lo -MD -MP -MF .deps/rpc_lookup.Tpo -c -o rpc_lookup.lo rpc_lookup.C
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rpc_stats.lo -MD -MP -MF .deps/rpc_stats.Tpo -c rpc_stats.C  -fPIC -DPIC -o .libs/rpc_stats.o
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xdrmisc.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rpc_lookup.lo -MD -MP -MF .deps/rpc_lookup.Tpo -c rpc_lookup.C  -fPIC -DPIC -o .libs/rpc_lookup.o
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT xhinfo.lo -MD -MP -MF .deps/xhinfo.Tpo -c xhinfo.C  -fPIC -DPIC -o .libs/xhinfo.o
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
67 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT xdrmisc.lo -MD -MP -MF .deps/xdrmisc.Tpo -c xdrmisc.C -o xdrmisc.o >/dev/null 2>&1
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
mv -f .deps/axprt_unix.Tpo .deps/axprt_unix.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT pmap_prot.lo -MD -MP -MF .deps/pmap_prot.Tpo -c -o pmap_prot.lo pmap_prot.C
In file included from rpc_lookup.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/xdr_suio.Tpo .deps/xdr_suio.Plo
/bin/sh ../libtool --tag=CXX   --mode=compile clang++ -DHAVE_CONFIG_H -I. -I..   -I../async -I../crypt -I/usr/pkg/include   -I.. -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../libaapp -I../libtame -I../async -I../svc -I../crypt -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\"  -O2 -I/usr/pkg/include -Wall   -MT acallrpc.lo -MD -MP -MF .deps/acallrpc.Tpo -c -o acallrpc.lo acallrpc.C
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from rpc_lookup.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
In file included from rpc_lookup.C:2:
./axprt.hIn file included from :../async/qhash.h107::328: :
note: In file included from did you mean class here?../async/ihash.h
:45:
In file included from ../async/callback.h:  struct suio *out;626
:
  ^~~~~~../async/refcnt.h
:  class423
:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29In file included from :
In file included from xhinfo.C../async/err.h::2428:
:
In file included from In file included from ../async/str.h./arpc.h:29::
29In file included from :
../async/suio++.hIn file included from :30../async/async.h:
:In file included from 28../async/callback.h:
:In file included from 626../async/amisc.h:
:../async/refcnt.h29::
423In file included from :../async/err.h11::28 :
warningIn file included from : ../async/str.hstruct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
:29:
In file included from ../async/suio++.h:30:
In file included from   typedef struct ptr<T> ptr;../async/callback.h
:          ^626
:
../async/refcnt.h:536./aclnt.h:1::75 :warning12: :'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] 
note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
struct mkcref {
  aclnt_cb cb;
^
           ^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from rpc_lookup.C:2In file included from :
rpc_stats.CIn file included from :../async/qhash.h3::
28In file included from :
./arpc.hIn file included from :29../async/ihash.h:
:In file included from 45../async/async.h::
28../async/callback.h:
:In file included from 1574../async/amisc.h::1129:
In file included from :../async/err.h :warning: 28struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:

In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573  typedef struct ptr<callback<R, B1> > ptr;:
11          ^: 
warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./rpc_stats.h:113:36: note: in instantiation of template class 'qhash<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t, hashfn<rpc_stat_proc_t>, equals<rpc_stat_proc_t>, qhash_lookup_return<rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
    qhash<rpc_proc_t, rpc_stats_t> m_stats;
                                   ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
./rpc_stats.h:113:36: note: in instantiation of template class 'qhash<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t, hashfn<rpc_stat_proc_t>, equals<rpc_stat_proc_t>, qhash_lookup_return<rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>' requested here
    qhash<rpc_proc_t, rpc_stats_t> m_stats;
                                   ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
rpc_stats.C:86:13: note: in instantiation of member function 'qhash<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t, hashfn<rpc_stat_proc_t>, equals<rpc_stat_proc_t>, qhash_lookup_return<rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>::clear' requested here
    m_stats.clear();
            ^
In file included from rpc_stats.C:3:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
rpc_stats.C:86:13: note: in instantiation of member function 'qhash<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t, hashfn<rpc_stat_proc_t>, equals<rpc_stat_proc_t>, qhash_lookup_return<rpc_stats::rpc_stats_t>, &qhash_slot<rpc_stats::rpc_proc_t, rpc_stats::rpc_stats_t>::link>::clear' requested here
    m_stats.clear();
            ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT pmap_prot.lo -MD -MP -MF .deps/pmap_prot.Tpo -c pmap_prot.C  -fPIC -DPIC -o .libs/pmap_prot.o
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:In file included from 11rpc_lookup.C:: 2warning:
: In file included from struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]../async/qhash.h
:28:
In file included from ../async/ihash.h:45:
In file included from   typedef struct ref<T> ref;../async/callback.h
:          ^626
:
../async/refcnt.h:485:11:./axprt.h: 32warning:: 14struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
 note: in instantiation of template class 'ptr<axprt>' requested here
  typedef struct ref<T> ref;
          ^
  ptr<axprt> x; // contained axprt./asrv.h
:             ^124
:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
mv -f .deps/aclnt.Tpo .deps/aclnt.Plo
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
In file included from ../async/ihash.hxhinfo.C::20924::
27In file included from :./arpc.h :note29:
: In file included from in instantiation of template class 'callback<void, asrv *, void, void>' requested here../async/async.h
:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h  void traverse (typename callback<void, T *>::ref cb) {:
29                          ^
:
In file included from ../async/ihash.h../async/suio++.h::30:
In file included from 242../async/callback.h::12626::
 ../async/refcnt.hnote:: 423in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here:11
: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  : public ihash_core<V, field>
           ^
  typedef struct ptr<T> ptr;./xhinfo.h
:          ^36
:57:./axprt.h :note179: :in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here27
: note: in instantiation of template class 'ref<axprt_clone>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<const char *, unsigned int> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<const char *, unsigned int>, &qhash_slot<const char *, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
../async/qhash.h:52:5: note: in instantiation of template class 'qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>' requested here
  V value;
    ^
../async/qhash.h:61:5: note: in instantiation of template class 'qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>' requested here
        = &qhash_slot<K,V>::link>
           ^
rpc_lookup.C:5:8: note: in instantiation of default argument for 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>>' required here
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<const char *, unsigned int> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<const char *, unsigned int>, &qhash_slot<const char *, unsigned int>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
../async/qhash.h:52:5: note: in instantiation of template class 'qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>' requested here
  V value;
    ^
../async/qhash.h:61:5: note: in instantiation of template class 'qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>' requested here
        = &qhash_slot<K,V>::link>
           ^
../async/callback.h:rpc_lookup.C1573::511::8 :warning : notestruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]: 
in instantiation of default argument for 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>>' required here
  typedef struct ref<callback<R, B1> > ref;
          ^
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
In file included from rpc_lookup.Ctypedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11:: 2warning: :
struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]In file included from 
../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h  typedef struct ptr<callback<R, B1> > ptr;:
1574          ^:
11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>> *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
rpc_lookup.C:5:61: note: in instantiation of template class 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>' requested here
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.hstatic qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;:
29                                                            ^:

In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from In file included from ../async/suio++.hrpc_lookup.C:30::
2In file included from :
../async/callback.hIn file included from :../async/qhash.h626::
28../async/refcnt.h:
:In file included from 423../async/ihash.h::1145: :
warning../async/callback.h: :struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]1574
:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:  typedef struct ptr<callback<R, B1> > ptr;20
:          ^ 
note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>> &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/qhash.h:63:12: note: in instantiation of template class 'ihash_core<qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>' requested here
  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
rpc_lookup.C:5:61: note: in instantiation of template class 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>' requested here
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
                                                            ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
rpc_lookup.C:5:61: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::~qhash' requested here
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
                                                            ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
rpc_lookup.C:5:61: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::~qhash' requested here
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
                                                            ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, qhash_slot<const char *, unsigned int> *, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
../async/qhash.h:49:35: note: in instantiation of member function 'qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>::~qhash' requested here
template<class K, class V> struct qhash_slot {
                                  ^
../async/qhash.h:95:41: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::delslot' requested here
    core::traverse (wrap (this, &qhash::delslot));
                                        ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
rpc_lookup.C:5:61: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::~qhash' requested here
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
                                                            ^
In file included from rpc_lookup.C:2:
In file included from ../async/qhash.h:28:
In file included from ../async/ihash.h:45:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/qhash.h:95:21: note: in instantiation of template class 'ref<callback<void, const qhash_slot<const char *, unsigned int> &, void, void>>' requested here
    core::traverse (wrap (this, &qhash::delslot));
                    ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
../async/qhash.h:49:35: note: in instantiation of member function 'qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>::~qhash' requested here
template<class K, class V> struct qhash_slot {
                                  ^
../async/qhash.h:95:41: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::delslot' requested here
    core::traverse (wrap (this, &qhash::delslot));
                                        ^
../async/qhash.h:98:15: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::clear' requested here
  ~qhash () { clear (); }
              ^
rpc_lookup.C:5:61: note: in instantiation of member function 'qhash<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>, hashfn<const char *>, equals<const char *>, qhash_lookup_return<qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>, &qhash_slot<const char *, qhash<const char *, unsigned int, hashfn<const char *>, equals<const char *>, qhash_lookup_return<unsigned int>, &qhash_slot<const char *, unsigned int>::link>>::link>::~qhash' requested here
static qhash<const char *, qhash<const char *, u_int32_t> > rpc_lookup_tab;
                                                            ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT pmap_prot.lo -MD -MP -MF .deps/pmap_prot.Tpo -c pmap_prot.C -o pmap_prot.o >/dev/null 2>&1
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from xhinfo.C:24:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT acallrpc.lo -MD -MP -MF .deps/acallrpc.Tpo -c acallrpc.C  -fPIC -DPIC -o .libs/acallrpc.o
73 warnings generated.
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rpc_stats.lo -MD -MP -MF .deps/rpc_stats.Tpo -c rpc_stats.C -o rpc_stats.o >/dev/null 2>&1
mv -f .deps/xdrmisc.Tpo .deps/xdrmisc.Plo
mv -f .deps/pmap_prot.Tpo .deps/pmap_prot.Plo
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:29:
In file included from ../async/vec.h:30:
../async/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
template<class T, size_t n> class array {
                            ^
../async/array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:536:1: warning: 'mkcref' defined as a struct template here but previously declared as a class template; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct mkcref {
^
../async/refcnt.h:407:19: note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~
                  struct
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
../async/suio++.h:52:11: note: in instantiation of template class 'callback<void, void, void, void>' requested here
  typedef callback<void>::ref cb_t;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/suio++.h:57:10: note: in instantiation of template class 'ref<callback<void, void, void, void>>' requested here
    cb_t cb;
         ^
../async/suio++.h:251:28: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:251:28: note: did you mean class here?
extern void suio_vuprintf (struct suio *, const char *, va_list);
                           ^~~~~~
                           class
../async/suio++.h:252:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:252:27: note: did you mean class here?
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
../async/suio++.h:269:27: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
char *suio_flatten (const struct suio *);
                          ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
../async/suio++.h:269:27: note: did you mean class here?
char *suio_flatten (const struct suio *);
                          ^~~~~~
                          class
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
../async/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct bssstr : public str {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/str.h:273:19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:39:9: note: in instantiation of template class 'callback<void, int, void, void>' requested here
typedef callback<void, int>::ref cbi;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
typedef callback<void, str>::ref cbs;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:41:9: note: in instantiation of template class 'callback<void, bool, void, void>' requested here
typedef callback<void, bool>::ref cbb;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/amisc.h:105:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
67 warnings generated.
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
../async/async.h:87:24: note: in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:21: note: in instantiation of template class 'callback<void, str, int, void>' requested here
void ident (int fd, callback<void, str, int>::ref);
                    ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/dns.h:104:9: note: in instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
typedef callback<void, ptr<hostent>, int>::ref cbhent;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT xhinfo.lo -MD -MP -MF .deps/xhinfo.Tpo -c xhinfo.C -o xhinfo.o >/dev/null 2>&1
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/dns.h:109:9: note: in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/dns.h:112:9: note: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
typedef callback<void, ptr<srvlist>, int>::ref cbsrvlist;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/dns.h:115:9: note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
../async/dns.h:120:19: note: in instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here
               cbsrvlist cb, bool search = false)
                         ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
../async/dns.h:122:10: note: in instantiation of template class 'ptr<srvlist>' requested here
  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);
         ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
79 warnings generated.
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./axprt.h:43:11: note: in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here
  typedef callback<void, const char *, ssize_t,
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./axprt.h:66:12: note: in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
  recvcb_t cb;
           ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:84:27: note: in instantiation of template class 'ref<axprt_dgram>' requested here
  static ref<axprt_dgram> alloc (int f, size_t ss = sizeof (sockaddr),
                          ^
./axprt.h:107:3: warning: struct 'suio' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct suio *out;
  ^
../async/suio++.h:46:7: note: previous use is here
class suio {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  class
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:146:26: note: in instantiation of template class 'ref<axprt_pipe>' requested here
  static ref<axprt_pipe> alloc (int rfd, int wfd, size_t ps = defps)
                         ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:163:28: note: in instantiation of template class 'ref<axprt_stream>' requested here
  static ref<axprt_stream> alloc (int f, size_t ps = defps)
                           ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:179:27: note: in instantiation of template class 'ref<axprt_clone>' requested here
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./axprt.h:210:32: note: in instantiation of template class 'ref<axprt_unix>' requested here
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./axprt.h:233:9: note: in instantiation of template class 'callback<ptr<axprt_stream>, int, void, void>' requested here
typedef callback<ptr<axprt_stream>, int>::ref cloneserv_cb;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I.. -I../async -I../crypt -I/data/scratch/devel/sfslite/work/.buildlink/include -I../libsafeptr -I../arpc -I../sfsmisc -I../libtame -I../libaapp -I../svc -DEXECDIR=\"/usr/pkg/lib/sfslite-1.2\" -DETCDIR=\"/etc/sfs\" -DDATADIR=\"/usr/pkg/share/sfslite\" -DPIDDIR=\"/var/run\" -DSFSDIR=\"/var/sfs\" -O2 -Wall -MT rpc_lookup.lo -MD -MP -MF .deps/rpc_lookup.Tpo -c rpc_lookup.C -o rpc_lookup.o >/dev/null 2>&1
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./aclnt.h:30:9: note: in instantiation of template class 'callback<void, clnt_stat, void, void>' requested here
typedef callback<void, clnt_stat>::ref aclnt_cb;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:3345:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
./aclnt.h:31:9: note: in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here
typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3346:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
./aclnt.h:32:9: note: in instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here
typedef callback<void, ptr<aclnt>, clnt_stat>::ref aclntalloc_cb;
        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
mv -f .deps/asrv.Tpo .deps/asrv.Plo
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb cb;
           ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:129:27: note: in instantiation of template class 'callback<void, callbase *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) const {
                          ^
./aclnt.h:161:37: note: in instantiation of template class 'tailq<callbase, &callbase::clink>' requested here
  tailq<callbase, &callbase::clink> calls;
                                    ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:687:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R> > ref;
          ^
./aclnt.h:230:3: note: in instantiation of template class 'callback<bool, void, void, void>' requested here
  callback<bool>::ptr failcb;
  ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:688:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./aclnt.h:230:23: note: in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here
  callback<bool>::ptr failcb;
                      ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./aclnt.h:262:23: note: in instantiation of template class 'ref<callback<ptr<axprt_stream>, int, void, void>>' requested here
                      axprtalloc_fn xa = axprt_stream_alloc_default);
                                    ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:47:13: note: in instantiation of template class 'ptr<asrv>' requested here
  ptr<asrv> srv;
            ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
./asrv.h:117:11: note: in instantiation of template class 'callback<void, svccb *, void, void>' requested here
  typedef callback<void, svccb *>::ref asrv_cb;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:124:3: note: in instantiation of template class 'ref<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
  ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./asrv.h:124:16: note: in instantiation of template class 'ptr<callback<void, svccb *, void, void>>' requested here
  asrv_cb::ptr cb;
               ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested here
  : public ihash_core<V, field>
           ^
./asrv.h:162:31: note: in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here
  shash<svccb, &svccb::hlink> rtab;
                              ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./asrv.h:169:28: note: in instantiation of template class 'ref<xhinfo>' requested here
  asrv_replay (ref<xhinfo> x, const rpc_program &rp, asrv_cb::ptr cb)
                           ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/list.h:62:27: note: in instantiation of template class 'callback<void, aclnt *, void, void>' requested here
  void traverse (typename callback<void, T*>::ref cb) const {
                          ^
./xhinfo.h:35:31: note: in instantiation of template class 'list<aclnt, &aclnt::xhlink>' requested here
  list<aclnt, &aclnt::xhlink> clist;
                              ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:209:27: note: in instantiation of template class 'callback<void, asrv *, void, void>' requested here
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const asrv &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:36:57: note: in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
../async/callback.h:1573:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const callbase &, void, void>' requested here
  void traverse (typename callback<void, const T &>::ref cb) const {
                          ^
../async/ihash.h:242:12: note: in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested here
  : public ihash_core<V, field>
           ^
./xhinfo.h:37:70: note: in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
./arpc.h:135:35: note: in instantiation of template class 'ptr<callback<void, bool, void, void>>' requested here
               callback<void, bool>::ptr cb = NULL);
                                         ^
In file included from acallrpc.C:26:
./xdr_suio.h:60:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
  register suio *const uio = xsuio (xdrs);
  ^~~~~~~~~
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
acallrpc.C:29:25: note: in instantiation of template class 'ptr<axprt_dgram>' requested here
static ptr<axprt_dgram> _udpxprt;
                        ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
acallrpc.C:30:19: note: in instantiation of template class 'ptr<aclnt>' requested here
static ptr<aclnt> _udpclnt;
                  ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
acallrpc.C:36:5: note: in instantiation of template class 'ptr<axprt_stream>' requested here
  = gwrap (aclnt_axprt_stream_alloc, int (axprt_stream::defps));
    ^
../async/callback.h:4259:16: note: expanded from macro 'gwrap'
# define gwrap wrap
               ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<T> ref;
          ^
acallrpc.C:76:28: note: in instantiation of template class 'ptr<hostent>' requested here
  void dnscb (ptr<hostent> h, int err) {
                           ^
acallrpc.C:92:27: error: use of undeclared identifier 'PMAP_PORT'
    sin.sin_port = htons (PMAP_PORT);
                          ^
acallrpc.C:92:27: error: use of undeclared identifier 'PMAP_PORT'
acallrpc.C:92:27: error: use of undeclared identifier 'PMAP_PORT'
acallrpc.C:92:27: error: use of undeclared identifier 'PMAP_PORT'
acallrpc.C:93:5: error: unknown type name 'mapping'
    mapping pm;
    ^
acallrpc.C:98:23: error: use of undeclared identifier 'PMAPPROC_GETPORT'
    udpclnt ()->call (PMAPPROC_GETPORT, (void *) &pm, (void *) &port,
                      ^
acallrpc.C:100:35: error: use of undeclared identifier 'xdr_mapping'; did you mean 'xdr_string'?
                      (AUTH *) 0, xdr_mapping, xdr_int,
                                  ^~~~~~~~~~~
                                  xdr_string
./xdrmisc.h:333:1: note: 'xdr_string' declared here
DECLXDR(string)
^
./xdrmisc.h:329:13: note: expanded from macro 'DECLXDR'
extern BOOL xdr_##type (XDR *, void *);         \
            ^
<scratch space>:156:1: note: expanded from here
xdr_string
^
acallrpc.C:101:23: error: use of undeclared identifier 'PMAP_PROG'
                      PMAP_PROG, PMAP_VERS, (sockaddr *) &sin);
                      ^
acallrpc.C:101:34: error: use of undeclared identifier 'PMAP_VERS'
                      PMAP_PROG, PMAP_VERS, (sockaddr *) &sin);
                                 ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
acallrpc.C:131:27: note: in instantiation of template class 'ref<callback<void, ptr<hostent>, int, void>>' requested here
    dns_hostbyname (name, wrap (this, &rpc2sin::dnscb), true, true);
                          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
acallrpc.C:250:17: note: in instantiation of template class 'ref<callback<void, ptr<aclnt>, clnt_stat, void>>' requested here
  aclntalloc_cb cb;
                ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2459:11: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
acallrpc.C:289:3: note: in instantiation of template class 'callback<void, int, clnt_stat, void>' requested here
  callback<void, int, clnt_stat>::ref cb;
  ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
../async/callback.h:2460:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1, B2> > ptr;
          ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
acallrpc.C:289:39: note: in instantiation of template class 'ref<callback<void, int, clnt_stat, void>>' requested here
  callback<void, int, clnt_stat>::ref cb;
                                      ^
acallrpc.C:372:12: error: use of undeclared identifier 'mapping'
static vec<mapping> pmap_mappings;
           ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
acallrpc.C:375:53: note: in instantiation of template class 'ref<bool>' requested here
pmap_map_3 (callback<void, bool>::ptr cb, ref<bool> resp, size_t mpos,
                                                    ^
acallrpc.C:398:24: error: use of undeclared identifier 'pmap_prog_2'; did you mean 'pmap_map_2'?
  acallrpc (&pmapaddr, pmap_prog_2, PMAPPROC_SET, &pmap_mappings[mpos], resp,
                       ^~~~~~~~~~~
                       pmap_map_2
acallrpc.C:389:1: note: 'pmap_map_2' declared here
pmap_map_2 (callback<void, bool>::ptr cb, size_t mpos, clnt_stat stat)
^
acallrpc.C:398:37: error: use of undeclared identifier 'PMAPPROC_SET'
  acallrpc (&pmapaddr, pmap_prog_2, PMAPPROC_SET, &pmap_mappings[mpos], resp,
                                    ^
In file included from acallrpc.C:24:
In file included from ../async/dns.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
          ^
acallrpc.C:403:71: note: in instantiation of template class 'ref<unsigned int>' requested here
pmap_map_1 (callback<void, bool>::ptr cb, size_t mpos, ref<u_int32_t> portp,
                                                                      ^
acallrpc.C:415:5: error: unknown type name 'mapping'
    mapping m = pmap_mappings[mpos];
    ^
acallrpc.C:417:26: error: use of undeclared identifier 'pmap_prog_2'; did you mean 'pmap_map_2'?
    acallrpc (&pmapaddr, pmap_prog_2, PMAPPROC_UNSET, &m, &garbage,
                         ^~~~~~~~~~~
                         pmap_map_2
acallrpc.C:389:1: note: 'pmap_map_2' declared here
pmap_map_2 (callback<void, bool>::ptr cb, size_t mpos, clnt_stat stat)
^
acallrpc.C:417:39: error: use of undeclared identifier 'PMAPPROC_UNSET'
    acallrpc (&pmapaddr, pmap_prog_2, PMAPPROC_UNSET, &m, &garbage,
                                      ^
acallrpc.C:430:32: error: use of undeclared identifier 'PMAP_PORT'
    pmapaddr.sin_port = htons (PMAP_PORT);
                               ^
acallrpc.C:430:32: error: use of undeclared identifier 'PMAP_PORT'
acallrpc.C:430:32: error: use of undeclared identifier 'PMAP_PORT'
acallrpc.C:430:32: error: use of undeclared identifier 'PMAP_PORT'
fatal error: too many errors emitted, stopping now [-ferror-limit=]
89 warnings and 20 errors generated.
gmake[2]: *** [Makefile:417: acallrpc.lo] Error 1
gmake[2]: *** Waiting for unfinished jobs....
mv -f .deps/rpc_stats.Tpo .deps/rpc_stats.Plo
mv -f .deps/xhinfo.Tpo .deps/xhinfo.Plo
mv -f .deps/rpc_lookup.Tpo .deps/rpc_lookup.Plo
gmake[2]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7/arpc'
gmake[1]: *** [Makefile:449: all-recursive] Error 1
gmake[1]: Leaving directory '/data/scratch/devel/sfslite/work/sfslite-1.2.7'
gmake: *** [Makefile:345: all] Error 2
*** Error code 2

Stop.
make[1]: stopped in /data/pkgsrc/devel/sfslite
*** Error code 1

Stop.
make: stopped in /data/pkgsrc/devel/sfslite