=> 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: '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.
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
 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 flock.lo -MD -MP -MF .deps/flock.Tpo -c flock.c  -fPIC -DPIC -o .libs/flock.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 -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 -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 clock_gettime.lo -MD -MP -MF .deps/clock_gettime.Tpo -c clock_gettime.c  -fPIC -DPIC -o .libs/clock_gettime.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
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  -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 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 -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 clock_gettime.lo -MD -MP -MF .deps/clock_gettime.Tpo -c clock_gettime.c -o clock_gettime.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 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 -MT maketables.lo -MD -MP -MF .deps/maketables.Tpo -c maketables.c -o maketables.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 rwfd.lo -MD -MP -MF .deps/rwfd.Tpo -c rwfd.c -o rwfd.o >/dev/null 2>&1
mv -f .deps/flock.Tpo .deps/flock.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 study.lo -MD -MP -MF .deps/study.Tpo -c study.c  -fPIC -DPIC -o .libs/study.o
/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
/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/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 aios.lo -MD -MP -MF .deps/aios.Tpo -c -o aios.lo aios.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 arena.lo -MD -MP -MF .deps/arena.Tpo -c -o arena.lo arena.C
mv -f .deps/suidprotect.Tpo .deps/suidprotect.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
study.c:329:35: warning: converting the result of '<<' to a boolean; did you mean '(1 << (c & 7)) != 0'? [-Wint-in-bool-context]
            if ((tcode[c/8] && (1 << (c&7))) != 0)
                                  ^
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
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 cbuf.lo -MD -MP -MF .deps/cbuf.Tpo -c -o cbuf.lo cbuf.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 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 armor.lo -MD -MP -MF .deps/armor.Tpo -c armor.C  -fPIC -DPIC -o .libs/armor.o
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 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 arena.lo -MD -MP -MF .deps/arena.Tpo -c arena.C  -fPIC -DPIC -o .libs/arena.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 bbuddy.lo -MD -MP -MF .deps/bbuddy.Tpo -c bbuddy.C  -fPIC -DPIC -o .libs/bbuddy.o
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 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 {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 {
^
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:./array.h :warning75: :'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]29
./refcnt.h:: 407note:template<class T, size_t n> class array {: 19
did you mean class here?                            ^:

 note: did you mean struct here?
template<class T> class mkcref;
                  ^~~~~template<class T, size_t n> struct array;

                  struct                            ^~~~~~

                            class
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
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: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
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 {
                            ^
./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 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: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 cbuf.lo -MD -MP -MF .deps/cbuf.Tpo -c cbuf.C  -fPIC -DPIC -o .libs/cbuf.o
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;
         ^
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
./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 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;
         ^
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 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;
          ^
./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 bbuddy.C:25:
In file included from ./bitvec.h:30:
In file included from ./str.h:29:
In file included from ./suio++.h:30In file included from :
aio.CIn file included from :25./callback.h::
In file included from 626./aiod.h:
:28./refcnt.h:
In file included from :./async.h536::281:
In file included from :./amisc.h: 29:
warningIn file included from : ./err.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]:28
:
./str.h:178:1: warningstruct mkcref {
^: 
'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:./refcnt.h10:407: :note19: :did you mean struct here? 
note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
template<class T> class mkcref;
                  ^~~~~
                  struct
./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;
          ^
./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;
         ^
In file included from aios.C:26:
In file included from ./aios.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
./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 In file included from ./amisc.haios.C::29:
26In file included from :
./err.hIn file included from :./aios.h28::
28In file included from :
./str.h:In file included from ./str.h29::
29:
In file included from In file included from ./suio++.h./suio++.h::3030:
:
./callback.hIn file included from :./callback.h1574::626:
11./refcnt.h: warning: :struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
423:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<callback<R, B1> > ptr;
          ^
  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;
          ^
./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:In file included from 11aerr.C:: 25warning:
: 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.h
:28:
In file included from ./amisc.h:29:
In file included from ./err.h:28:
./str.h:  typedef struct ptr<callback<R, B1> > ptr;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: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:
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 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;
          ^
./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 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 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 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 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;
         ^
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 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 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:423mv -f .deps/study.Tpo .deps/study.Plo
:11: warning: struct 'ptr' was previously declared 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 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;
          ^
/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
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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:In file included from 29aerr.C:
:In file included from ./suio++.h25:./err.h251:::
28In file included from :
28./async.hIn file included from ::./str.h 28warning:
: :In file included from 29struct '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 ./amisc.h./suio++.h::2930:
:
In file included from ./callback.h./err.h:extern void suio_vuprintf (struct suio *, const char *, va_list);:2460
28:                           ^11:
:
In file included from  ./str.h./suio++.h:warning:: 46struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]29:
7:
In file included from :./suio++.h: 30note:
:   typedef struct ptr<callback<R, B1, B2> > ptr;In file included from previous use is here

          ^./callback.h
:class suio {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: 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 {
      ^
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./suio++.h::485252::1127:In file included from : aio.Cwarning :note: : 25struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
did you mean class here?

In file included from ./aiod.h:28:
In file included from ./async.h:28:
  typedef struct ref<T> ref;In file included from 
./amisc.h:          ^
29:
In file included from ./err.h./aios.hextern void suio_uprintf (struct suio *, const char *, ...)::
28161                          ^~~~~~::

In file included from 44./str.h                          class::
 29note: :
In file included from in instantiation of template class 'ptr<aios>' requested here./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]
  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^
  typedef struct ptr<T> ptr;
          ^
./aiod.h:105:17: note: in instantiation of template class 'ref<aiobuf>' requested here./suio++.h
:269:27: warning    ref<aiobuf> buf;: 
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;
          ^
./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;
                ^
./aiod.h:111:10: warning: class 'request' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  friend class request;
         ^
./aiod.h:104:10: note: previous use is here
  struct request {
         ^
./aiod.h:111:10: note: did you mean struct here?
  friend class request;
         ^~~~~
         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:1573:11: warning: struct 'ref' was previously declared as a 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) {
                          ^
./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;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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 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);
                      ^
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 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
In file included from aios.C:26:
In file included from ./aios.h:28:
In file included from ./str.h:  { pathop (op, path, NULL, wrap (cbstat_cb, cb), sizeof (struct stat)); }
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;
          ^
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./callback.h::291573:
:In file included from 11./suio++.h: :warning30: :
struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]./callback.h
:3345:11: warningIn file included from :   typedef struct ref<callback<R, B1> > ref;aio.Cstruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

          ^
:25:
./amisc.hIn file included from :./aiod.h:41:289:
  typedef struct ref<callback<R, B1, B2, B3> > ref;:
In file included from  ./async.hnote:          ^28
:
: In file included from ./amisc.h./async.hin instantiation of template class 'callback<void, bool, void, void>' requested here:
:2987:
:In file included from 24./err.htypedef callback<void, bool>::ref cbb;:
         ^:note28
: :
in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested hereIn file included from 
./str.h:29In file included from aios.C:
:In file included from ./suio++.h:30:
In file included from 26:
In file included from ./callback.h./aios.h:void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);626
::
28./refcnt.h                       ^:

In file included from :./str.h:29423:
:In file included from 11./suio++.h::30 In file included from warning:
: aerr.C./callback.hstruct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
1574::2511:
:In file included from   typedef struct ptr<T> ptr;./async.h
 :warning          ^28: 
struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:

./aiod.hIn file included from :./amisc.h177::29  typedef struct ptr<callback<R, B1> > ptr;29:

:In file included from           ^./err.h :note
28: :
in instantiation of template class 'ref<callback<void, stat *, int, void>>' requested hereIn 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]
  { pathop (op, path, NULL, wrap (cbstat_cb, cb), sizeof (struct stat)); }
                            ^
  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:29In file included from :
aios.C:26In file included from :
./err.h:28In file included from :
./aios.hIn file included from ./str.h::28:
29In file included from :
In file included from ./suio++.h./str.h:30:
:In file included from 29./callback.h:
:626In file included from :
./suio++.h:30./refcnt.h:
:423In file included from :./callback.h11:: 626warning: :
struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
./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 ptr<T> ptr;
          ^
./aiod.h:  typedef struct ref<T> ref;179
:          ^31
: note: ./amisc.h:in instantiation of template class 'ref<callback<void, statvfs *, int, void>>' requested here105
:16: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
    { pathop (op, path, NULL, wrap (cbstatvfs_cb, cb), 
                              ^
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
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;
          ^
./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:
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 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;
          ^
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 aio.C:25:
In file included from ./aiod.h:28:
In file included from ./async.h:28:
In file included from ./amisc.h:In file included from 29aios.C:
:In file included from 26:
./err.h:28In file included from :
./aios.hIn file included from ./str.h::2829:
In file included from :
In file included from ./suio++.h./str.h:30::
29./callback.h:
:3345In file included from :11./suio++.h:: 30:
In file included from ./callback.hwarning:: 626:
struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]./refcnt.h
:423:11: warning: struct 'ptr' was previously declared as 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<T> ptr;
          ^
./aiod.h:260./async.h::1139::21 :note:  in instantiation of template class 'callback<void, ptr<aiobuf>, long, int>' requested herenote
: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
void chldcb (pid_t, cbi::ptr);
                    ^
  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:In file included from 30armor.C:
:./callback.h24::
3346In file included from :./serial.h11::28 :
warning./str.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]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]
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
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:
./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 In file included from aio.Caios.C::2526:
:
In file included from In file included from ./aiod.h:./aios.h28:
:28:
In file included from ./async.hIn file included from ./str.h::2829:
:
In file included from In file included from ./amisc.h./suio++.h::30:
29:
./callback.hIn file included from :./err.h3346::1128::
 In file included from warning./str.h:: 29struct '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 ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:485:  typedef struct ptr<callback<R, B1, B2, B3> > 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<T> ref;
          ^
./aiod.h:271:28: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
  void sendclose (cbi::ptr cb = 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;
          ^
./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 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 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
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 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;
                  ^
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);
     ^
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
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
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
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
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 core.lo -MD -MP -MF .deps/core.Tpo -c -o core.lo core.C
10 warnings generated.
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 bbuddy.lo -MD -MP -MF .deps/bbuddy.Tpo -c bbuddy.C -o bbuddy.o >/dev/null 2>&1
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 daemonize.lo -MD -MP -MF .deps/daemonize.Tpo -c -o daemonize.lo daemonize.C
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
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 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 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;
         ^
./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 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;
                  ^
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
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;
  ^~~~~~~~~
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 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
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
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
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;
         ^
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
./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 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 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 ./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 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;
          ^
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);
                      ^
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 dnsparse.lo -MD -MP -MF .deps/dnsparse.Tpo -c -o dnsparse.lo dnsparse.C
27 warnings generated.
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;
          ^
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
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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;
          ^
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;
          ^
core.C:188:29: note: in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here
chldcb (pid_t pid, cbi::ptr 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;
          ^
./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 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;
         ^
mv -f .deps/armor.Tpo .deps/armor.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
./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 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 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);
                      ^
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
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;
          ^
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
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 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
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 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
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 fdwait.lo -MD -MP -MF .deps/fdwait.Tpo -c -o fdwait.lo fdwait.C
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 {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
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 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
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 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;
                  ^
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 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 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 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;
          ^
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;
          ^
./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;
        ^
./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 dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:  typedef struct ref<callback<R, B1, B2> > ref;29
:
          ^In file included from 
./dns.h:29:
In file included from ./async.h./dns.h::28:
104In file included from :./amisc.h9::29 :
noteIn file included from : ./err.hin instantiation of template class 'callback<void, ptr<hostent>, int, void>' requested here
:28:
In file included from ./str.h:29:
In file included from ./suio++.h:30:
./callback.h:2460typedef callback<void, ptr<hostent>, int>::ref cbhent;:
11        ^:
 warning: 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 dnsparse.C:29:
  typedef struct ptr<callback<R, B1, B2> > ptr;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:./callback.h109::24599::11 :note : warningin instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested here: 
struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;  typedef struct ref<callback<R, B1, B2> > ref;

        ^          ^

./dns.h:109:9: note: In file included from in instantiation of template class 'callback<void, ptr<mxlist>, int, void>' requested heredns.C
:30:
In file included from ./dnsimpl.h:28:
In file included from ./dnsparse.h:29:
In file included from ./dns.h:typedef callback<void, ptr<mxlist>, int>::ref cbmxlist;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.hIn file included from :dnsparse.C29::
29In file included from :
./suio++.hIn file included from :./dnsparse.h30::
29./callback.h:
:In file included from 2460./dns.h::1129::
 In file included from warning./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 ./amisc.h:29:
In file included from ./err.h:28:
In file included from ./str.h:29  typedef struct ptr<callback<R, B1, B2> > ptr;:

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]
./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  typedef struct ref<callback<R, B1, B2> > ref;:
           ^note
: in instantiation of template class 'callback<void, ptr<srvlist>, int, void>' requested here
./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;
        ^
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 In file included from dnsparse.C./dnsparse.h::2929:
:
In file included from In file included from ./dnsparse.h./dns.h::2929:
:
In file included from In file included from ./dns.h./async.h::29:
28In file included from :
./async.hIn file included from :./amisc.h28::
29In file included from :
./amisc.hIn file included from :./err.h29::
28In file included from :
./err.hIn file included from :./str.h28::
29In file included from :
./str.hIn file included from :./suio++.h29::
30In file included from :
./suio++.h./callback.h::302460:
:./callback.h:112460:: 11warning::  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 'ptr' was previously declared as 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;
          ^  typedef struct ptr<callback<R, B1, B2> > ptr;

          ^
./callback.h:2459:./callback.h11::2459 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 'ref' was previously declared as 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;
          ^
  typedef struct ref<callback<R, B1, B2> > ref;
          ^./dns.h
:115:9./dns.h:: 115note:: 9in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here:
 note: in instantiation of template class 'callback<void, ptr<txtlist>, int, void>' requested here
typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;
        ^typedef callback<void, ptr<txtlist>, int>::ref cbtxtlist;

        ^
In file included from In file included from dnsparse.Cdns.C::2930:
:
In file included from In file included from ./dnsparse.h./dnsimpl.h::2928:
:
In file included from In file included from ./dns.h./dnsparse.h::2929:
:
In file included from In file included from ./async.h./dns.h::2829:
:
In file included from In file included from ./amisc.h./async.h::2928:
:
In file included from In file included from ./err.h./amisc.h::2829:
:
In file included from In file included from ./str.h./err.h::2928:
:
In file included from In file included from ./suio++.h./str.h::3029:
:
./callback.hIn file included from :./suio++.h2460::3011:
:./callback.h :warning2460: :struct 'ptr' 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 ptr<callback<R, B1, B2> > ptr;
          ^
  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]In file included from 
dns.C:30:
In file included from ./dnsimpl.h:28:
In file included from   typedef struct ptr<T> ptr;./dnsparse.h
:          ^29
:
In file included from ./dns.h:./dns.h29::
120In file included from :./async.h19::28 :
noteIn file included from : ./amisc.hin instantiation of template class 'ref<callback<void, ptr<srvlist>, int, void>>' requested here:
29:
In file included from ./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.h               cbsrvlist cb, bool search = false):
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
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:  return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);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 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;
         ^
37 warnings generated.
22 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
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 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;
          ^
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 daemonize.lo -MD -MP -MF .deps/daemonize.Tpo -c daemonize.C -o daemonize.o >/dev/null 2>&1
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]
In file included from err.C:24:
In file included from ./err.h:28:
./str.h:178:  typedef struct ptr<T> ptr;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]
./dnsimpl.h:77:12: struct bssstr : public str {note
: ^in instantiation of template class 'ref<callback<void, ptr<mxlist>, int, void>>' requested here

  cbmxlist 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 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:
In file included from ./str.h:29:
In file included from In file included from ./suio++.h:err.C30::
24In file included from :
In file included from ./callback.h./err.h::28626:
In file included from :
./str.h./refcnt.h:29:
:In file included from 423./suio++.h::1130::
 In file included from warning./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]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;
          ^
  typedef struct ptr<T> ptr;
          ^
./str.h./dnsimpl.h::273113::1913::  notenote: : in instantiation of template class 'ref<suio>' requested herein instantiation of template class 'ref<callback<void, ptr<txtlist>, int, void>>' requested here

  const ref<suio> uio;  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 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 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 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) {}
  ^
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) {}
  ^
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 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 {
^
In file included from dns.C:30:
./dnsimpl.h:34./refcnt.h::7407:: 19warning::  private field 'ntries' is not used [-Wunused-private-field]note
: did you mean struct here?
  int ntries;
      ^
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: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;
         ^
./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 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
10 warnings generated.
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;
                  ^
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
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);
                      ^
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 fdwait.lo -MD -MP -MF .deps/fdwait.Tpo -c fdwait.C -o fdwait.o >/dev/null 2>&1
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 ident.lo -MD -MP -MF .deps/ident.Tpo -c -o ident.lo ident.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 ifchg.lo -MD -MP -MF .deps/ifchg.Tpo -c -o ifchg.lo ifchg.C
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 ihash.lo -MD -MP -MF .deps/ihash.Tpo -c -o ihash.lo ihash.C
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 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 ident.lo -MD -MP -MF .deps/ident.Tpo -c ident.C  -fPIC -DPIC -o .libs/ident.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
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
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 lockfile.lo -MD -MP -MF .deps/lockfile.Tpo -c -o lockfile.lo lockfile.C
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 itree.lo -MD -MP -MF .deps/itree.Tpo -c itree.C  -fPIC -DPIC -o .libs/itree.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;
          ^
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]
  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;
          ^
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
./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 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 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 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;
                                              ^
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
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 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 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
  dns_hostbyaddr (ra.sin_addr, wrap (is, &identstat::dnscb));
                               ^
ident.C:134:1: warning: all paths through this function will call itself [-Winfinite-recursion]
{
^
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
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
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
45 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 dnsparse.lo -MD -MP -MF .deps/dnsparse.Tpo -c dnsparse.C -o dnsparse.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;
          ^
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
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;
                  ^
34 warnings generated.
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 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 ifchg.lo -MD -MP -MF .deps/ifchg.Tpo -c ifchg.C -o ifchg.o >/dev/null 2>&1
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 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 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
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);
                ^
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);
                      ^
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
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 ihash.lo -MD -MP -MF .deps/ihash.Tpo -c ihash.C -o ihash.o >/dev/null 2>&1
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 lockfile.lo -MD -MP -MF .deps/lockfile.Tpo -c lockfile.C -o lockfile.o >/dev/null 2>&1
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 malloc.lo -MD -MP -MF .deps/malloc.Tpo -c -o malloc.lo malloc.C
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
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
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 myaddrs.lo -MD -MP -MF .deps/myaddrs.Tpo -c -o myaddrs.lo myaddrs.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 msb.lo -MD -MP -MF .deps/msb.Tpo -c msb.C  -fPIC -DPIC -o .libs/msb.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
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
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 myname.lo -MD -MP -MF .deps/myname.Tpo -c -o myname.lo myname.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 msb.lo -MD -MP -MF .deps/msb.Tpo -c msb.C -o msb.o >/dev/null 2>&1
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 parseopt.lo -MD -MP -MF .deps/parseopt.Tpo -c -o parseopt.lo parseopt.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: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/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 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: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/ident.Tpo .deps/ident.Plo
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
/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
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
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
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: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 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: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 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
    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 myaddrs.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 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 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);
                      ^
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
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;
          ^
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;
         ^
./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 refcnt.lo -MD -MP -MF .deps/refcnt.Tpo -c refcnt.C  -fPIC -DPIC -o .libs/refcnt.o
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
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
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 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]
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: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 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;
          ^
./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 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 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;
         ^
./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 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
21 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 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 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 {
^
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]
./refcnt.h  typedef struct ptr<T> ptr;:
407          ^:
19: note: ./str.hdid you mean struct here?:
273:19: note: in instantiation of template class 'ref<suio>' requested here
template<class T> class mkcref;
                  ^~~~~
  const ref<suio> uio;                  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:
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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;
          ^
22 warnings generated.
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
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
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;
         ^
./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 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 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);
                      ^
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;
         ^
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)
                                                                ^
./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);
                      ^
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));
                         ^
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
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 pipe2str.lo -MD -MP -MF .deps/pipe2str.Tpo -c pipe2str.C -o pipe2str.o >/dev/null 2>&1
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 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
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 rxx.lo -MD -MP -MF .deps/rxx.Tpo -c rxx.C  -fPIC -DPIC -o .libs/rxx.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 sigio.lo -MD -MP -MF .deps/sigio.Tpo -c sigio.C  -fPIC -DPIC -o .libs/sigio.o
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 socket.lo -MD -MP -MF .deps/socket.Tpo -c -o socket.lo socket.C
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 spawn.lo -MD -MP -MF .deps/spawn.Tpo -c -o spawn.lo spawn.C
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 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 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 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
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
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 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 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 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 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 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);
                      ^
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
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 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 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:1573:11: warning: struct 'ref' was previously declared as a 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 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;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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;
          ^
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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);
                      ^
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;
          ^
./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;
          ^
./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 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: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 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);
         ^
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
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 str.lo -MD -MP -MF .deps/str.Tpo -c -o str.lo str.C
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
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);
                      ^
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
32 warnings generated.
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
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
17 warnings generated.
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
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
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
17 warnings generated.
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 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:30In file included from :
socket.CIn file included from :./callback.h25::
626In file included from :
./amisc.h./refcnt.h:29::
423In file included from :./err.h:2811:
:In file included from  ./str.hwarning:: 29struct '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 ./suio++.h:30:
In file included from ./callback.h:626:
./refcnt.h:423:  typedef struct ptr<T> 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]
./str.h  typedef struct ptr<T> ptr;:
273          ^:
19: ./suio++.hnote:: 57in instantiation of template class 'ref<suio>' requested here:
10: note:   const ref<suio> uio;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 rxx.lo -MD -MP -MF .deps/rxx.Tpo -c rxx.C -o rxx.o >/dev/null 2>&1
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);
                      ^
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);
                      ^
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  -fPIC -DPIC -o .libs/str.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 socket.lo -MD -MP -MF .deps/socket.Tpo -c socket.C -o socket.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
mv -f .deps/myname.Tpo .deps/myname.Plo
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
/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 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
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 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 str2file.lo -MD -MP -MF .deps/str2file.Tpo -c str2file.C  -fPIC -DPIC -o .libs/str2file.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 straux.lo -MD -MP -MF .deps/straux.Tpo -c straux.C  -fPIC -DPIC -o .libs/straux.o
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;
                  ^
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;
          ^
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++.lo -MD -MP -MF .deps/suio++.Tpo -c -o suio++.lo suio++.C
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 suio_vuprintf.lo -MD -MP -MF .deps/suio_vuprintf.Tpo -c -o suio_vuprintf.lo suio_vuprintf.C
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 tcpconnect.lo -MD -MP -MF .deps/tcpconnect.Tpo -c -o tcpconnect.lo tcpconnect.C
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:In file included from 407str2file.C::2519:
:In file included from ./amisc.h :note29: :
did you mean struct here?In file included from 
./err.h:28:
In file included from ./str.h:29:
In file included from ./suio++.htemplate<class T> class mkcref;:
29                  ^~~~~:

In file included from                   struct./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
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 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 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 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 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: note: in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here
             cbv::ptr postforkcb = NULL, char *const *env = NULL);
                      ^
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 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;
                  ^
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
20 warnings generated.
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);
                      ^
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
22 warnings generated.
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 litetime.lo -MD -MP -MF .deps/litetime.Tpo -c -o litetime.lo litetime.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 str.lo -MD -MP -MF .deps/str.Tpo -c str.C -o str.o >/dev/null 2>&1
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
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
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
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 {
                            ^
./array.h:75:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
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++.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
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);
                      ^
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;
          ^
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 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
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.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 tcpconnect.lo -MD -MP -MF .deps/tcpconnect.Tpo -c tcpconnect.C  -fPIC -DPIC -o .libs/tcpconnect.o
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_std.lo -MD -MP -MF .deps/select_std.Tpo -c -o select_std.lo select_std.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 litetime.lo -MD -MP -MF .deps/litetime.Tpo -c litetime.C  -fPIC -DPIC -o .libs/litetime.o
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
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
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 select.lo -MD -MP -MF .deps/select.Tpo -c select.C  -fPIC -DPIC -o .libs/select.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 -o suio_vuprintf.o >/dev/null 2>&1
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 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 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;
          ^
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
./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
In file included from   return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search);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 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;
          ^
./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 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
In file included from select.C:2:
  dnsp = dns_hostbyname (hostname, wrap (this, &tcpportconnect_t::name_cb),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 {
^
./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]
./refcnt.h:407:19:extern void suio_vuprintf (struct suio *, const char *, va_list); note: 
did you mean struct here?
                           ^
./suio++.htemplate<class T> class mkcref;
:                  ^~~~~46
                  struct:
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]
In file included from tcpconnect.C:24extern void suio_uprintf (struct suio *, const char *, ...):

In file included from                           ^./async.h
:./suio++.h:2846::
7In file included from : note./amisc.h: :29:
previous use is here
In file included from ./err.h:class suio {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:tcpconnect.C252::7727::36 note: : notedid you mean class here?
: in instantiation of template class 'ref<callback<void, ptr<hostent>, int, void>>' requested here
extern void suio_uprintf (struct suio *, const char *, ...)
                          ^~~~~~
                          class
  dnsp = dns_hostbyname (hostname, wrap (this, &tcpportconnect_t::name_cb),
                                   ^
./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
23 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:
./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 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 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);
                      ^
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 suio++.lo -MD -MP -MF .deps/suio++.Tpo -c suio++.C -o suio++.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:
./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: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
./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 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]
struct bssstr : public str {
^
./str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
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;
                  ^
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:
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;
          ^
mv -f .deps/str.Tpo .deps/str.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
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_kqueue.lo -MD -MP -MF .deps/select_kqueue.Tpo -c -o select_kqueue.lo select_kqueue.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 select.lo -MD -MP -MF .deps/select.Tpo -c select.C -o select.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_epoll.lo -MD -MP -MF .deps/select_epoll.Tpo -c select_epoll.C  -fPIC -DPIC -o .libs/select_epoll.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 select_std.lo -MD -MP -MF .deps/select_std.Tpo -c select_std.C  -fPIC -DPIC -o .libs/select_std.o
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
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
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 dynenum.lo -MD -MP -MF .deps/dynenum.Tpo -c -o dynenum.lo dynenum.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_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_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_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;
                  ^
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:1573:11: warning: struct 'ref' was previously declared as a 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;
          ^
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
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 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
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
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 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
mv -f .deps/suio++.Tpo .deps/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 bundle.lo -MD -MP -MF .deps/bundle.Tpo -c -o bundle.lo bundle.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:
./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_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);
                      ^
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 vec.lo -MD -MP -MF .deps/vec.Tpo -c vec.C  -fPIC -DPIC -o .libs/vec.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;
          ^
./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: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
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
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", 
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
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
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 vec.lo -MD -MP -MF .deps/vec.Tpo -c vec.C -o vec.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 dynenum.lo -MD -MP -MF .deps/dynenum.Tpo -c dynenum.C  -fPIC -DPIC -o .libs/dynenum.o
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 alog2.lo -MD -MP -MF .deps/alog2.Tpo -c -o alog2.lo alog2.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 bundle.lo -MD -MP -MF .deps/bundle.Tpo -c bundle.C -o bundle.o >/dev/null 2>&1
mv -f .deps/bundle.Tpo .deps/bundle.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
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
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 profiler.lo -MD -MP -MF .deps/profiler.Tpo -c -o profiler.lo profiler.C
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
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/vec.Tpo .deps/vec.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
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: 23 warnings generated.
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);
                      ^
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
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;
          ^
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
./callback.h:1573:11: warning: struct 'ref' was previously declared as a 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 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 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
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 leakcheck.lo -MD -MP -MF .deps/leakcheck.Tpo -c leakcheck.C -o leakcheck.o >/dev/null 2>&1
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
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;
          ^
28 warnings generated.
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;
          ^
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 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: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;
                    ^
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
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 {
      ^
mv -f .deps/leakcheck.Tpo .deps/leakcheck.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
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 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
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
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;
         ^
./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;
                  ^
mv -f .deps/tcpconnect.Tpo .deps/tcpconnect.Plo
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:
echo "# Makefile fragment generated " `date` > pyenv.mk~
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);
                      ^
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~
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;
                 ^
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  
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:29: note: did you mean class here?
template<class T, size_t n> struct array;
                            ^~~~~~
                            class
mv -f .deps/select_std.Tpo .deps/select_std.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:
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: 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
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  
./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 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;
         ^
23 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: 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
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
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;
                  ^
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
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
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
mv -f .deps/dynenum.Tpo .deps/dynenum.Plo
45 warnings generated.
mv -f .deps/aiod.Tpo .deps/aiod.Po
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/alog2.Tpo .deps/alog2.Plo
mv -f .deps/profiler.Tpo .deps/profiler.Plo
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 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_str.lo -MD -MP -MF .deps/gc_str.Tpo -c gc_str.C  -fPIC -DPIC -o .libs/gc_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 gc.lo -MD -MP -MF .deps/gc.Tpo -c gc.C  -fPIC -DPIC -o .libs/gc.o
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 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
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
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 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_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 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/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 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;
                  ^
../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: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;
          ^
In file included from gc.C:2:
In file included from ./sp_gc.h:4:
../async/refcnt.h:536:1: ../async/callback.hwarning:: 1573'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]:
11: warning: 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 mkcref {
^
  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/refcnt.h:407:19: note: did you mean struct here?
../async/callback.h:1573:template<class T> class mkcref;11:
 warning                  ^~~~~: 
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

  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:
../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));
                       ^
../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 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;
          ^
../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;
          ^
27 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;
          ^
../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;
          ^
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
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 ());
                   ^
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
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/freemap.Tpo .deps/freemap.Plo
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 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 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: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: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: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: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 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 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: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 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 /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 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 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;
         ^
../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:
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 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/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/str.h../async/suio++.h::9146::710::  note: note: did you mean struct here?previous use is here

class suio {
      ^
  friend class bssstr;
         ^~~~~
         struct
../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 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 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 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 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 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 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 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 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 In file included from ../async/suio++.hgencfile.C:30::
24In file included from :
In file included from ../async/callback.h./rpcc.h:626::
41../async/refcnt.h:
:In file included from 485:11../async/amisc.h:: 29warning:
: 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/err.h
:28:
In file included from ../async/str.h:29:
In file included from   typedef struct ref<T> ref;../async/suio++.h
:          ^30
:
In file included from ../async/callback.h../async/amisc.h::105626:16:
:../async/refcnt.h :note423:: 11in instantiation of template class 'ptr<callback<void, void, void, void>>' requested here:
 warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  typedef struct ptr<T> ptr;
             cbv::ptr postforkcb = NULL, char *const *env = NULL);          ^

                      ^
../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: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;
         ^
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: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
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 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;
          ^
../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 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/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:
In file included 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:
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:
../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 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)
                   ^
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 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:
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:
../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?
In file included from   friend class bssstr;rpcc.C
:         ^~~~~24
:
         structIn 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 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;
          ^
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../async/callback.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]1573:
11: warning:   typedef struct ref<T> ref;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/aios.h:67:29:  typedef struct ref<callback<R, B1> > ref; 
note:           ^in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here

../async/amisc.h:40:9: note: in instantiation of template class 'callback<void, str, void, void>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
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 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 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
             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:
../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 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../async/str.h::91273::1019: note::  in instantiation of template class 'ref<suio>' requested herenote
: did you mean struct here?
  const ref<suio> uio;
                  ^
  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: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:
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 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 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
In file included from gencfile.C:24:
In file included from ./rpcc.h:41:
In file included from ../async/amisc.h:29  : public ihash_core<qhash_slot<K, void>, kludge> {:

In file included from            ^../async/err.h
:28:
rpcc.CIn file included from ../async/str.h::2729::
12In file included from ../async/suio++.h: :note30: :
in instantiation of template class 'bhash<str, hashfn<str>, equals<str>, &qhash_slot<str, void>::link>' requested hereIn file included from ../async/callback.h
:626:
../async/refcnt.h:bhash<str> ids;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 rpcc.C:  typedef struct ref<T> ref;24:

In file included from ./rpcc.h          ^:
41:
In file included from ../async/aios.h../async/amisc.h::2945:
:In file included from 9../async/err.h:: 28note:
: In file included from ../async/str.hin instantiation of template class 'ptr<callback<void, str, int, void>>' requested here:29
:
In file included from ../async/suio++.h:  rcb_t rcb;
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;
          ^
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 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;
          ^
In file included from gencfile.C:24:
../async/amisc.hIn file included from :./rpcc.h39::419:
:In file included from  ../async/amisc.hnote:: 29in instantiation of template class 'callback<void, int, void, void>' requested here:

In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
typedef callback<void, int>::ref cbi;In file included from 
../async/suio++.h        ^:
30:
In file included from ../async/callback.h:626:
../async/refcnt.h:485:11In file included from :genheader.C :warning24: :
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 
./rpcc.h:41:
In file included from ../async/amisc.h:29:
  typedef struct ref<T> ref;In file included from 
../async/err.h          ^:
28:
In file included from ../async/aios.h../async/str.h::6729:
:In file included from 29../async/suio++.h:: 30note:
: ../async/callback.hin instantiation of template class 'ptr<callback<void, int, void, void>>' requested here:
1574:11: warning: struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
  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 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 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);
                      ^
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
In file included from   aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }/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: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 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 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 /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 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 /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 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 /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 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;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]
../async/callback.h  typedef struct ref<T> ref;:
1573:          ^11
: warning: 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/aios.h:67:29: note  typedef struct ref<callback<R, B1> > ref;: 
in instantiation of template class 'ptr<callback<void, int, void, void>>' requested here          ^

../async/ihash.h:217:27: note: in instantiation of template class 'callback<void, const qhash_slot<str, str> &, void, void>' requested here
  virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); }
                            ^
  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;
          ^
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 In file included from /home/max/sfslite/1.2/rpcc/parse.yy../async/str.h::2529:
:
In file included from In file included from ../async/suio++.h./rpcc.h:30::
41In file included from :
In file included from ../async/callback.h../async/amisc.h::62629:
:
../async/refcnt.hIn file included from :../async/err.h:48528::
11In file included from : ../async/str.hwarning:: 29:
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/suio++.h
:30:
In file included from ../async/callback.h:626:
../async/refcnt.h  typedef struct ref<T> ref;:
423          ^:
11: warning../async/aios.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]161
:44: note: in instantiation of template class 'ptr<aios>' requested here
  typedef struct ptr<T> ptr;
          ^
../async/aios.h:116:20: note  aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); }
                                           ^: 
in instantiation of template class 'ref<aios>' requested here
  static ref<aios> alloc (int fd, size_t rbsz = defrbufsize)
                   ^
../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 /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 /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 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 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 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;
          ^
../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;
          ^
24 warnings generated.
mv -f .deps/gencfile.Tpo .deps/gencfile.Po
28 warnings generated.
mv -f .deps/rpcc.Tpo .deps/rpcc.Po
28 warnings generated.
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
24 warnings generated.
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;
         ^
mv -f .deps/genpython.Tpo .deps/genpython.Po
../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;
                  ^
24 warnings generated.
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);
                      ^
mv -f .deps/genheader.Tpo .deps/genheader.Po
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)
               ^
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
../rpcc/rpcc -h ./pmap_prot.x || rm -f pmap_prot.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 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
(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 axprt_dgram.lo -MD -MP -MF .deps/axprt_dgram.Tpo -c axprt_dgram.C  -fPIC -DPIC -o .libs/axprt_dgram.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 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 asrv.lo -MD -MP -MF .deps/asrv.Tpo -c asrv.C  -fPIC -DPIC -o .libs/asrv.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  -fPIC -DPIC -o .libs/authunixint.o
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 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 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 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 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 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 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;
         ^
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
../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:
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:
../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 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;
         ^
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;
                  ^
../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_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: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_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]
  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:
../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/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_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]
In file included from asrv.C:25:
In file included from ./arpc.h:29:
In file included from   typedef struct ptr<callback<R, B1, B2, B3> > ptr;
../async/async.h          ^:
28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included 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;
../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: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:
../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 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: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 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;
          ^
../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;
          ^
../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: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 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;
          ^
../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 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 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;
         ^
../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 authunixint.lo -MD -MP -MF .deps/authunixint.Tpo -c authunixint.c -o authunixint.o >/dev/null 2>&1
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 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 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 axprt_stream.C:24:
In file included from ./arpc.h:29In file included from :
aclnt.CIn file included from :../async/async.h24::
28In file included from :
./arpc.hIn file included from :../async/amisc.h29::
29In file included from :
../async/async.hIn file included from :../async/err.h28::
28In file included from :
../async/amisc.hIn file included from :../async/str.h29::
29In file included from :
../async/err.hIn file included from :../async/suio++.h28::
30In file included from :
In file included from ../async/str.h../async/callback.h::29626:
:
In file included from ../async/refcnt.h../async/suio++.h::423:3011:
:../async/callback.h :warning688: :struct 'ptr' 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 ptr<T> ptr;
          ^
../async/str.h  typedef struct ptr<callback<R> > ptr;:
273          ^:
19: note: in instantiation of template class 'ref<suio>' requested here
  const ref<suio> uio;
                  ^
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 hereIn file included from 
axprt_dgram.C:24    cb_t cb;:

In file included from          ^./arpc.h
:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included 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
../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 {
      ^
In file included from axprt_dgram.C:24:
In file included from ./arpc.h:29:
../async/suio++.hIn file included from :../async/async.h269::2827:
:In file included from  ../async/amisc.hnote:: 29did you mean class here?:

In file included from ../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.h:char *suio_flatten (const struct suio *);30
:
                          ^~~~~~In file included from 
../async/callback.h                          class:
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 In file included from axprt_dgram.C:authopaque.C:2425:
:
In file included from In file included from ./arpc.h./arpc.h::2929:
:
In file included from In file included from ../async/async.h:../async/async.h28::
28In file included from :
../async/amisc.hIn file included from :../async/amisc.h:2929:
:
In file included from ../async/err.hIn file included from :../async/err.h28::
28../async/str.h:
:In file included from 178../async/str.h::129::
In file included from  ../async/suio++.hwarning:: 30'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 ../async/callback.h:626:
../async/refcnt.h:423struct bssstr : public str {:
11^
: warning: struct 'ptr' was previously declared 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/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;
          ^
./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_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 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 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_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 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]
In file included from axprt_stream.C:24:
  typedef struct ref<callback<R, B1, B2, B3> > ref;In file included from 
./arpc.h          ^:
29:
In file included from ../async/async.h./axprt.h::2843:
:In file included from ../async/amisc.h:1129::
In file included from  ../async/err.hnote:28:
: In file included from ../async/str.h:in instantiation of template class 'callback<void, const char *, long, const sockaddr *>' requested here29
:
In file included from ../async/suio++.h:30:
In file included from ../async/callback.h:626:
../async/refcnt.h:423:11  typedef callback<void, const char *, ssize_t,:
          ^ 
warning: 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 asrv.C:25  typedef struct ptr<T> ptr;:

In file included from           ^
./arpc.h:29../async/async.h:
:39In file included from :../async/async.h21:28::
In file included from  note: ../async/amisc.hin instantiation of template class 'ref<callback<void, int, void, void>>' requested here:29
:
In file included from ../async/err.h:28:
In file included from ../async/str.h:29void chldcb (pid_t, cbi::ptr);:

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;
          ^
./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:
../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;
          ^
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../async/callback.h::4852459::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 'ref' was 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 ref<callback<R, B1, B2> > ref;
          ^
./axprt.h:66../async/async.h::1288::21 :note note: : in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here
in instantiation of template class 'callback<void, str, int, void>' requested here
  recvcb_t cb;
           ^
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;
          ^
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: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 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;
          ^
./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
../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:30In file included from :
asrv.C:../async/callback.h25::
688In file included from :./arpc.h11::29 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/async.h:
28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
  typedef struct ptr<callback<R> > ptr;In file included 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: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:In file included from 230authopaque.C::2325::
 In file included from note./arpc.h: :in instantiation of template class 'ptr<callback<bool, void, void, void>>' requested here29
:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h  callback<bool>::ptr failcb;
:29                      ^:

In file included 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 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:163In file included from :28axprt_dgram.C:: 24:
noteIn file included from : ./arpc.hin instantiation of template class 'ref<axprt_stream>' requested here:29
:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29  static ref<axprt_stream> alloc (int f, size_t ps = defps):
In file included from 
../async/err.h                           ^:28
:
In file included 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 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 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 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 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 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;
          ^
./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_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 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:In file included from 11axprt_dgram.C:: 24:
In file included from warning./arpc.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/async.h:28:
In file included from ../async/amisc.h:29  typedef struct ptr<T> ptr;
:
          ^In file included from 
../async/err.h:28./axprt.h:
:210In file included from :../async/str.h:3229::
 In file included from note../async/suio++.h: :in instantiation of template class 'ref<axprt_unix>' requested here30
:
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]
  void sendfd (ref<axprt_unix> x) { sendfd (x->fdwrite, false); }
                               ^
  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 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;
          ^
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;
          ^
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 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: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)
                           ^
../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]
In file included from authopaque.C:25:
  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:3345:11In file included from :aclnt.C :warning24: ../async/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]::
3345
:In file included from 11./arpc.h::   typedef struct ref<callback<R, B1, B2, B3> > ref;warning29: :

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/async.h../async/async.h::8728::
  typedef struct ref<callback<R, B1, B2, B3> > ref;In file included from 24../async/amisc.h
::          ^29 
note:
: ./aclnt.hIn file included from :in instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here../async/err.h
31::289:
:In file included from  ../async/str.hnotevoid identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);:
: 29                       ^in instantiation of template class 'callback<void, clnt_stat, const char *, long>' requested here:


In file included from ../async/suio++.h:30:
In file included from ../async/callback.hIn file included from :authopaque.C626:typedef callback<void, clnt_stat, const char *, ssize_t>::ref aclntraw_cb;:
25
:
        ^In file included from 
./arpc.h../async/refcnt.h::29423:
In file included from :asrv.CIn file included from :../async/async.h11:2528::
:
In file included from  In file included from warning../async/amisc.h./arpc.h::: 29struct '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 In file included from ../async/async.h../async/err.h::2828:
  typedef struct ptr<T> ptr;In file included from 
../async/amisc.h:
:          ^29
In file included from :
In file included from ../async/err.h../async/str.h:28../async/str.h:
:In file included from :../async/str.h29273:
::29In file included from :
19../async/suio++.hIn file included from :../async/suio++.h30:::
 30../async/callback.hnote:
:../async/callback.h3346::: 334611::11 :in instantiation of template class 'ref<suio>' requested herewarning : 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 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  const ref<suio> uio;
                  ^
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
  typedef struct ptr<callback<R, B1, B2, B3> > ptr;
          ^
../async/callback.h../async/callback.h::24592459::1111: :warning:  warningstruct 'ref' 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 ref<callback<R, B1, B2> > ref;
          ^
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h:88:./aclnt.h21:32: :9: notenote: : in instantiation of template class 'callback<void, str, int, void>' requested herein instantiation of template class 'callback<void, ptr<aclnt>, clnt_stat, void>' requested here

void ident (int fd, callback<void, str, int>::ref);
                    ^
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 In file included from ../async/async.h:asrv.C:2528:
In file included from ../async/amisc.h::
29:
In file included from In file included from ./arpc.h../async/err.h::2829:
:
In file included from In file included from ../async/str.h../async/async.h::29:
28In file included from :
../async/suio++.h:In file included from 30:
../async/amisc.h../async/callback.h:29:2460:
:11In 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:2460: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, 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;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
In file included from asrv.C:25:
  const ref<axprt> xh;In file included from 
./arpc.h                   ^:
29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included 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:
../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;
          ^
../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
In file included from   ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;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 In file included from axprt_dgram.C../async/err.h:28::
24In file included from :
../async/str.h:In file included from 29./arpc.h::
29:
In file included from ../async/suio++.hIn file included from :../async/async.h30:28:
:
In file included from In file included from ../async/amisc.h:29:
In file included from ../async/callback.h:626../async/err.h:
:28:
../async/refcnt.hIn file included from :../async/str.h423::2911::
 In file included from warning../async/suio++.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]30
:
../async/callback.h:1574:11: warning  typedef struct ptr<T> ptr;
:           ^struct 'ptr' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]

./aclnt.h:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here  typedef struct ptr<callback<R, B1> > ptr;

          ^
  aclnt_cb cb;
           ^
../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:11: warning: struct 'ref' was previously declared as a 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_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 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 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;
          ^
./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: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 ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included 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: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;
          ^
./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 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 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;
          ^
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]
../async/callback.h:1573  typedef struct ref<callback<R, B1> > ref;:
11          ^:
 warning: ../async/ihash.hstruct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]:
217:27: note: in instantiation of template class 'callback<void, const svccb &, void, void>' requested here
  typedef struct ref<callback<R, B1> > ref;
          ^
../async/amisc.h:40:9  void traverse (typename callback<void, const T &>::ref cb) const {:
                           ^note
: in instantiation of template class 'callback<void, str, void, void>' requested here../async/ihash.h
:314:12: note: in instantiation of template class 'ihash_core<svccb, &svccb::hlink>' requested heretypedef callback<void, str>::ref cbs;

        ^
  : public ihash_core<V, field>
           ^
./asrv.hIn file included from :aclnt.C162::2431:
:In file included from  ./arpc.hnote:: 29in instantiation of template class 'shash<svccb, &svccb::hlink, hashfn<svccb>, equals<svccb>>' requested here:

In file included from ../async/async.h:28:
In file included from ../async/amisc.h:  shash<svccb, &svccb::hlink> rtab;29
:
                              ^In file included from 
../async/err.h:28:
In file included from ../async/str.h:29:
In file included from ../async/suio++.hIn file included from :asrv.C30::
25../async/callback.h:
:In file included from 1574./arpc.h::2911:
:In file included from  ../async/async.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 ../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from ../async/str.h  typedef struct ptr<callback<R, B1> > ptr;:
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 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: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 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 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 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 asrv.C:25:
In file included from ./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.hIn file included from :aclnt.C29::
24In file included from :
../async/err.hIn file included from :./arpc.h28::
29In file included from :
../async/str.hIn file included from :29../async/async.h:
:In file included from 28../async/suio++.h::
30In file included from :
../async/amisc.h../async/callback.h::291573:
:In file included from 11../async/err.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/str.h
:29:
In file included from ../async/suio++.h:30:
../async/callback.h:3345:  typedef struct ref<callback<R, B1> > ref;11
:          ^ 
warning: 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/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
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
  void traverse (typename callback<void, T *>::ref cb) {
                          ^
../async/async.h../async/qhash.h::8763::2412::  notenote: : 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 herein instantiation of template class 'callback<void, str, ptr<hostent>, int>' requested here

  : public ihash_core<qhash_slot<K, V>, kludge> {
           ^
void identptr (int fd, callback<void, str, ptr<hostent>, int>::ref);
                       ^
./rpc_stats.h:113:36: noteIn file included from : aclnt.Cin 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
:24:
In file included from     qhash<rpc_proc_t, rpc_stats_t> m_stats;./arpc.h
:                                   ^29
:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from In file included from asrv.C../async/err.h::2528:
:
In file included from In file included from ./arpc.h../async/str.h::2929:
:
In file included from In file included from ../async/async.h../async/suio++.h::2830:
In file included from :
../async/amisc.h../async/callback.h::293346:
:In 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:
../async/callback.h:1574:11:  typedef struct ptr<callback<R, B1, B2, B3> > 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;
          ^
../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
../async/callback.h:2459:11: warning  void traverse (typename callback<void, const T &>::ref cb) const {: 
                          ^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: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
  typedef struct ref<callback<R, B1, B2> > ref;
          ^
../async/async.h  : public ihash_core<qhash_slot<K, V>, kludge> {:
88           ^
:21./rpc_stats.h:: 113note:36: :in instantiation of template class 'callback<void, str, int, void>' requested here 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
void ident (int fd, callback<void, str, int>::ref);    qhash<rpc_proc_t, rpc_stats_t> m_stats;

                    ^                                   ^

In file included from In file included from aclnt.Casrv.C::2524:
:
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 28../async/amisc.h:
:In file included from 29../async/amisc.h:
:In file included from 29../async/err.h:
:In file included from 28../async/err.h:
:In file included from 28../async/str.h::
29In file included from :
../async/str.hIn file included from :../async/suio++.h29::
30In file included from :
../async/suio++.h../async/callback.h::301574:
:11../async/callback.h: :warning2460: :struct 'ptr' 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 ptr<callback<R, B1> > ptr;
          ^
  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;
          ^
asrv.C:104:9: note: in instantiation of template class 'ref<asrv>' requested here
  srv = mkref (s);
        ^
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]
  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_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;
          ^
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 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),
                          ^
./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_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: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_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 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: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_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: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_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;
          ^
../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]
  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_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 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_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 file included from in instantiation of template class 'callback<void, const asrv &, void, void>' requested hereasrv.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:  void traverse (typename callback<void, const T &>::ref cb) const {28
:
In file included from                           ^../async/str.h:
29:
In file included from ../async/ihash.h:../async/suio++.h:24230:12::
 In file included from note../async/callback.h: :in instantiation of template class 'ihash_core<asrv, &asrv::xhlink>' requested here626
:
../async/refcnt.h:485:11: warning  : public ihash_core<V, field>: 
struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]           ^

./xhinfo.h:36  typedef struct ref<T> ref;:
57          ^:
 note: asrv.C:in instantiation of template class 'ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink, hashfn<const progvers>, equals<const progvers>>' requested here671
:17: note: in instantiation of template class 'ptr<asrv_resumable>' requested here
  ihash<const progvers, asrv, &asrv::pv, &asrv::xhlink> stab;
                                                        ^
asrv_resumable::alloc (ref<axprt> x, const rpc_program &pr, 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:1574:11: warning: struct 'ptr' was previously declared as a 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;
          ^
./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;
          ^
../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 {
                          ^
In file included from ../async/ihash.hauthopaque.C::24225::
12In file included from :./arpc.h :note29: :
in instantiation of template class 'ihash_core<callbase, &callbase::hlink>' requested hereIn file included from 
../async/async.h:28:
In file included from ../async/amisc.h:  : public ihash_core<V, field>29:

In file included from ../async/err.h           ^:
28:
In file included from ./xhinfo.h../async/str.h::2937:
:In file included from 70../async/suio++.h::30 :
note: In file included from in instantiation of template class 'ihash<const unsigned int, callbase, &callbase::xid, &callbase::hlink, hashfn<const unsigned int>, equals<const unsigned int>>' requested here
../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]
  ihash<const u_int32_t, callbase, &callbase::xid, &callbase::hlink> xidtab;
                                                                     ^
  typedef struct ref<T> ref;
          ^
./axprt.h:In file included from 66axprt_stream.C:12::24 :
note: In file included from ./arpc.h:in instantiation of template class 'ptr<callback<void, const char *, long, const sockaddr *>>' requested here29
:
In file included from ../async/async.h:28  recvcb_t cb;:

In file included from            ^
../async/amisc.h:29:
In file included 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: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 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.C:716:19: note: in instantiation of template class 'ptr<asrv_delayed_eof>' requested here
asrv_delayed_eof::alloc (ref<axprt> x, const rpc_program &pr, 
                  ^
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);
                                         ^
./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 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 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: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: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 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;
          ^
./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 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;
          ^
./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 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 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:75:12: note: in instantiation of template class 'ref<callback<void, clnt_stat, void, void>>' requested here
  aclnt_cb 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;
          ^
./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;
                                    ^
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: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 ../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 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: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 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 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 ../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:29:
In file included from ../async/err.h:28:
In file included 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;
          ^
../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 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:423:11: warning: struct 'ptr' was previously declared 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:
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 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: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 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/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 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/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/async.h:28:
In file included from ../async/amisc.h:29:
In file included 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 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;
          ^
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 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);
                                         ^
67 warnings generated.
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
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 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),
                          ^
./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 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)
                           ^
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: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 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: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 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;
          ^
../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;
          ^
../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 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 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:423:11: warning: struct 'ptr' was previously declared 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 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:141:15: note: in instantiation of template class 'ptr<xhinfo>' requested here
  ptr<xhinfo> xi;
              ^
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;
          ^
../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 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: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 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: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 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: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 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 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/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 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:423:11: warning: struct 'ptr' was previously declared 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 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;
          ^
./xhinfo.h:34:20: note: in instantiation of template class 'ref<axprt>' requested here
  const ref<axprt> xh;
                   ^
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: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 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: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 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;
                                                        ^
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 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 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;
          ^
./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:27:
./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);
  ^~~~~~~~~
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
67 warnings generated.
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)
^
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 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
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
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:
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 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: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_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
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 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;
                  ^
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_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 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;
          ^
../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 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 {
^
../async/str.h:91:10: note: did you mean struct here?
  friend class bssstr;
         ^~~~~
         struct
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 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]
  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 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;
          ^
../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_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 authuint.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 ../async/amisc.haxprt_pipe.C::29:
24In file included from :
../async/err.hIn file included from :28./arpc.h:
:In file included from 29../async/str.h:
:In file included from 29../async/async.h:
:In file included from 28../async/suio++.h::
30In file included from :
../async/amisc.hIn file included from :29:
../async/callback.h:626:
In file included from ../async/err.h../async/refcnt.h::42328:11:
:In file included from  ../async/str.h:warning29:
: 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/suio++.h
:30:
../async/callback.h:3345:11:  typedef struct ptr<T> ptr;
           ^warning
: 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/async.h:39:21: note: in instantiation of template class 'ref<callback<void, int, void, void>>' requested here
  typedef struct ref<callback<R, B1, B2, B3> > ref;
          ^
void chldcb (pid_t, cbi::ptr);
                    ^./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 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
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:
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 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;
          ^
../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 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),
                          ^
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 clone.lo -MD -MP -MF .deps/clone.Tpo -c -o clone.lo clone.C
./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 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 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 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:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
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: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_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;
          ^
../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_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: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_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);
                                         ^
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 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 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 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: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 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: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 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: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:
In file included 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 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: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;
          ^
./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);
                                         ^
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
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 -o authuint.o >/dev/null 2>&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 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: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 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: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_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
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.hmv -f .deps/authopaque.Tpo .deps/authopaque.Plo
: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;
         ^
/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
../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;
                  ^
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:
../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]
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;
          ^
../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);
                      ^
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 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 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 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:
In file included from ../async/callback.haxprt_unix.C::243346:
:In file included from 11: warning./arpc.h:29: :
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/async.h:
28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h  typedef struct ptr<callback<R, B1, B2, B3> > ptr;:
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 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]
In file included from axprt_unix.C:24  typedef struct ptr<T> ptr;:
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 :../async/err.h84:27:: 28note: :
in instantiation of template class 'ref<axprt_dgram>' requested hereIn file included 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;
          ^
../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);
                      ^
./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 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 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:30In file included from :
axprt_unix.CIn file included from :../async/callback.h24:
In file included from :./arpc.h626::
29../async/refcnt.h:
:423In file included from :../async/async.h11: :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]In file included from 
../async/amisc.h:29:
In file included from ../async/err.h:28:
In file included from   typedef struct ptr<T> ptr;
../async/str.h          ^:
29:
In file included from ../async/suio++.h./axprt.h::30179:
:27../async/callback.h:: note3345: :11in instantiation of template class 'ref<axprt_clone>' requested here
: warning: struct 'ref' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  static ref<axprt_clone> alloc (int f, size_t ps = defps)
                          ^
  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;
          ^
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]
  typedef struct ref<T> ref;
          ^
clone.C:69:6: note: in instantiation of template class 'ptr<axprt_stream>' requested here
    (*cb) (-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.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 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);
                                         ^
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)
^
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
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
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
69 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 clone.lo -MD -MP -MF .deps/clone.Tpo -c clone.C -o clone.o >/dev/null 2>&1
76 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 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: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
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;
          ^
../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;
  ^
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);
  ^~~~~~~~~
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
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 xhinfo.lo -MD -MP -MF .deps/xhinfo.Tpo -c xhinfo.C  -fPIC -DPIC -o .libs/xhinfo.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: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
74 warnings generated.
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
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
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_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: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;
          ^
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_lookup.lo -MD -MP -MF .deps/rpc_lookup.Tpo -c -o rpc_lookup.lo rpc_lookup.C
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
68 warnings generated.
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: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 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:28libtool: 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 ../async/amisc.h:29:
In file included 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;
               ^
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:1573:11: warning: struct 'ref' was previously declared as a 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);
                                         ^
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
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 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);
                    ^
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;
          ^
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 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:32:14: note: in instantiation of template class 'ptr<axprt>' requested here
  ptr<axprt> x; // contained axprt
             ^
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 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;
           ^
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 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 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: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 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;
          ^
../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 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:In file included from 29rpc_stats.C:
:In file included from ../async/suio++.h3:30:
:
In file included from ../async/callback.h./arpc.h::291574:
:In file included from 11../async/async.h::28 :
warningIn file included from : ../async/amisc.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/err.h:28:
In file included from ../async/str.h:29:
In file included from   typedef struct ptr<callback<R, B1> > ptr;../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/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;
        ^
../async/array.h:75:29In file included from :xhinfo.C :note24: :
did you mean class here?In file included from 
./arpc.h:29:
In file included from ../async/async.h:28:
In file included from ../async/amisc.h:29:
In file included from ../async/err.h:template<class T, size_t n> struct array;
28                            ^~~~~~:

In file included from                             class../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;
          ^
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:47:20: note: in instantiation of template class 'ref<aclnt>' requested here
  const ref<aclnt> c;
                   ^
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;
          ^
mv -f .deps/xdr_suio.Tpo .deps/xdr_suio.Plo
../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;
          ^
/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 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 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;
          ^
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 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 {
^
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/refcnt.h          ^:
407:19: ./xhinfo.h:34note:20: :did you mean struct here? 
note: in instantiation of template class 'ref<axprt>' requested here
template<class T> class mkcref;  const ref<axprt> xh;

                  ^~~~~
                   ^                  struct

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);
                                         ^
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
67 warnings generated.
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
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:
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;
          ^
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
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_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 {
      ^
./axprt.h:107:3: note: did you mean class here?
  struct suio *out;
  ^~~~~~
  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 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 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:29:
In file included from ../async/err.h:28:
In file included 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 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_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: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_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_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 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
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 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_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/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 pmap_prot.lo -MD -MP -MF .deps/pmap_prot.Tpo -c pmap_prot.C -o pmap_prot.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 xhinfo.lo -MD -MP -MF .deps/xhinfo.Tpo -c xhinfo.C -o xhinfo.o >/dev/null 2>&1
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: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: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:423:11: warning: struct 'ptr' was previously declared 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_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),
                          ^
./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;
          ^
./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 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: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/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 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 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;
          ^
../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_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 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>
           ^
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: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
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 *, 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 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;
                                                            ^
mv -f .deps/pmap_prot.Tpo .deps/pmap_prot.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
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/axprt_unix.Tpo .deps/axprt_unix.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 acallrpc.lo -MD -MP -MF .deps/acallrpc.Tpo -c acallrpc.C  -fPIC -DPIC -o .libs/acallrpc.o
79 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_lookup.lo -MD -MP -MF .deps/rpc_lookup.Tpo -c rpc_lookup.C -o rpc_lookup.o >/dev/null 2>&1
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;
         ^
mv -f .deps/xdrmisc.Tpo .deps/xdrmisc.Plo
../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;
                  ^
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:
../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);
                    ^
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;
          ^
../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);
         ^
mv -f .deps/xhinfo.Tpo .deps/xhinfo.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: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 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),
                          ^
mv -f .deps/aclnt.Tpo .deps/aclnt.Plo
./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;
          ^
../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;
                   ^
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/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