=> Bootstrap dependency digest>=20010302: found digest-20160304 ===> 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 avenger-0.8.4nb3 --- all --- /usr/bin/make all-recursive --- all-recursive --- Making all in libasync --- arandom.o --- --- clock_gettime.o --- --- getopt_long.o --- --- maketables.o --- --- rwfd.o --- --- stktrace.o --- --- study.o --- --- suidprotect.o --- --- aerr.o --- --- aios.o --- --- arena.o --- --- armor.o --- --- cbuf.o --- --- convertint.o --- --- core.o --- --- dns.o --- --- armor.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT armor.o -MD -MP -MF .deps/armor.Tpo -c -o armor.o armor.C --- arena.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT arena.o -MD -MP -MF .deps/arena.Tpo -c -o arena.o arena.C --- suidprotect.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT suidprotect.o -MD -MP -MF .deps/suidprotect.Tpo -c -o suidprotect.o suidprotect.c --- study.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT study.o -MD -MP -MF .deps/study.Tpo -c -o study.o study.c --- cbuf.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT cbuf.o -MD -MP -MF .deps/cbuf.Tpo -c -o cbuf.o cbuf.C --- aerr.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT aerr.o -MD -MP -MF .deps/aerr.Tpo -c -o aerr.o aerr.C --- maketables.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT maketables.o -MD -MP -MF .deps/maketables.Tpo -c -o maketables.o maketables.c --- arandom.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT arandom.o -MD -MP -MF .deps/arandom.Tpo -c -o arandom.o arandom.c --- clock_gettime.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT clock_gettime.o -MD -MP -MF .deps/clock_gettime.Tpo -c -o clock_gettime.o clock_gettime.c --- stktrace.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -w -c ./stktrace.c --- rwfd.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT rwfd.o -MD -MP -MF .deps/rwfd.Tpo -c -o rwfd.o rwfd.c --- getopt_long.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT getopt_long.o -MD -MP -MF .deps/getopt_long.Tpo -c -o getopt_long.o getopt_long.c --- convertint.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT convertint.o -MD -MP -MF .deps/convertint.Tpo -c -o convertint.o convertint.C --- dns.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT dns.o -MD -MP -MF .deps/dns.Tpo -c -o dns.o dns.C --- aios.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT aios.o -MD -MP -MF .deps/aios.Tpo -c -o aios.o aios.C --- core.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT core.o -MD -MP -MF .deps/core.Tpo -c -o core.o core.C --- suidprotect.o --- mv -f .deps/suidprotect.Tpo .deps/suidprotect.Po --- dnsparse.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT dnsparse.o -MD -MP -MF .deps/dnsparse.Tpo -c -o dnsparse.o dnsparse.C --- clock_gettime.o --- mv -f .deps/clock_gettime.Tpo .deps/clock_gettime.Po --- err.o --- --- dns.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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- err.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT err.o -MD -MP -MF .deps/err.Tpo -c -o err.o err.C --- convertint.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- dns.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:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268: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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- convertint.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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- dns.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:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here --- convertint.o --- ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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: --- dns.o --- const ref uio; ^ --- convertint.o --- ./callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- dns.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:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- convertint.o --- 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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- ident.o --- --- convertint.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: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- ident.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT ident.o -MD -MP -MF .deps/ident.Tpo -c -o ident.o ident.C --- dns.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:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- convertint.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- dns.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:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ./qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ --- convertint.o --- typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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: --- dns.o --- ./dnsparse.h:67:9: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- convertint.o --- ./callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: --- dns.o --- void traverse (typename callback::ref cb) const { ^ ./qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./dnsparse.h:67:9: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- convertint.o --- ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, 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: --- dns.o --- In file included from dns.C:30: ./dnsimpl.h:37:1: warning: 'dnsreq' defined as a class here but previously declared as a struct [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dnsimpl.h:70:10: note: in instantiation of template class 'ref, int, void> >' requested here cbhent cb; // Callback for hostbyname/addr ^ In file included from dns.C:30: --- convertint.o --- ./callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./parseopt.h:114:3: note: in instantiation of template class 'ref, 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- dns.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dnsimpl.h:81:12: note: in instantiation of template class 'ref, int, void> >' requested here cbmxlist cb; ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: --- convertint.o --- ./parseopt.h:114:15: note: in instantiation of template class 'ptr, 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./parseopt.h:115:3: note: in instantiation of template class 'ref >' 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- dns.o --- ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dnsimpl.h:117:13: note: in instantiation of template class 'ref, int, void> >' requested here cbtxtlist cb; ^ In file included from dns.C:30: In file included from ./dnsimpl.h:28: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dnsimpl.h:126:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from dns.C:30: --- convertint.o --- ./parseopt.h:115:12: note: in instantiation of template class 'ptr >' 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- dns.o --- 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- convertint.o --- ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ --- dns.o --- ./dnsimpl.h:128:8: note: in instantiation of template class 'ref >' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dnsimpl.h:129:13: note: in instantiation of template class 'ref' requested here ref destroyed; ^ --- convertint.o --- ./parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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; ^~~~~~~~~ --- dns.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:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./dnsimpl.h:162:16: note: in instantiation of template class 'ptr' requested here ptr udpsock; ^ 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./dnsimpl.h:184:57: note: in instantiation of template class 'ihash, equals >' requested here ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./dnsimpl.h:184:57: note: in instantiation of template class 'ihash, equals >' requested here ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ dns.C:364:6: note: in instantiation of template class 'ptr' 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ dns.C:685:15: note: in instantiation of template class 'ptr' requested here ptr m; ^ --- aerr.o --- In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h: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 [-Wmismatched-tags] --- dns.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:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ dns.C:843:16: note: in instantiation of template class 'ptr' requested here ptr t; ^ --- aerr.o --- template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- dns.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:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ./qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./dnsparse.h:69:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ./qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./dnsparse.h:69:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here nameset () : pos (0) {} ^ In file included from dns.C:30: ./dnsimpl.h:38:7: warning: private field 'ntries' is not used [-Wunused-private-field] int ntries; ^ --- armor.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- rwfd.o --- mv -f .deps/rwfd.Tpo .deps/rwfd.Po --- ifchg.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT ifchg.o -MD -MP -MF .deps/ifchg.Tpo -c -o ifchg.o ifchg.C --- core.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- aerr.o --- In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- cbuf.o --- mv -f .deps/cbuf.Tpo .deps/cbuf.Po --- aerr.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- ihash.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT ihash.o -MD -MP -MF .deps/ihash.Tpo -c -o ihash.o ihash.C --- aerr.o --- In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- maketables.o --- mv -f .deps/maketables.Tpo .deps/maketables.Po --- aerr.o --- In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- itree.o --- --- aerr.o --- In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- itree.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT itree.o -MD -MP -MF .deps/itree.Tpo -c -o itree.o itree.C --- aerr.o --- In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from aerr.C:25: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- armor.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class In file included from armor.C:24: In file included from ./serial.h:28: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from armor.C:24: In file included from ./serial.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- convertint.o --- 34 warnings generated. --- arena.o --- 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: --- core.o --- 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: --- arena.o --- 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 [-Wmismatched-tags] --- core.o --- In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- arena.o --- template class array { ^ --- core.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- arena.o --- ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- aios.o --- In file included from aios.C:26: In file included from ./aios.h:28: In file included from ./str.h:29: In file included from ./suio++.h:29: In file included from ./vec.h:30: ./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- convertint.o --- mv -f .deps/convertint.Tpo .deps/convertint.Po --- core.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- malloc.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT malloc.o -MD -MP -MF .deps/malloc.Tpo -c -o malloc.o malloc.C --- getopt_long.o --- mv -f .deps/getopt_long.Tpo .deps/getopt_long.Po --- msb.o --- --- core.o --- 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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ In file included from core.C:24: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- arena.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- core.o --- ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ core.C:71:55: note: in instantiation of template class 'ihash, equals >' requested here static ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- arena.o --- ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- core.o --- typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ core.C:71:55: note: in instantiation of template class 'ihash, equals >' requested here static ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- arena.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- core.o --- ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./itree.h:162:23: note: in instantiation of template class 'callback' requested here T *search (typename callback::ref cb) const { ^ ./itree.h:225:12: note: in instantiation of template class 'itree_core > >' requested here : public itree_core > ^ core.C:80:66: note: in instantiation of template class 'itree >' requested here static itree 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./itree.h:203:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ./itree.h:225:12: note: in instantiation of template class 'itree_core > >' requested here : public itree_core > ^ core.C:80:66: note: in instantiation of template class 'itree >' requested here static itree 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- arena.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ --- core.o --- 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:612: --- arena.o --- ./suio++.h:251:27: note: did you mean class here? --- core.o --- ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- arena.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class --- core.o --- typedef struct ref ref; ^ core.C:119:29: note: in instantiation of template class 'ptr >' requested here chldcb (pid_t pid, cbi::ptr cb) ^ --- arena.o --- ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- aios.o --- In file included from aios.C:26: In file included from ./aios.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- msb.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT msb.o -MD -MP -MF .deps/msb.Tpo -c -o msb.o msb.C --- aios.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class --- arandom.o --- mv -f .deps/arandom.Tpo .deps/arandom.Po --- aios.o --- ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- arena.o --- 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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- myaddrs.o --- --- arena.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- core.o --- 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./list.h:62:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ core.C:335:11: note: in instantiation of template class 'list' 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- aios.o --- 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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- arena.o --- 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- aios.o --- In file included from aios.C:26: In file included from ./aios.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- arena.o --- 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from arena.C:24: In file included from ./arena.h:28: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- myaddrs.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT myaddrs.o -MD -MP -MF .deps/myaddrs.Tpo -c -o myaddrs.o myaddrs.C --- arena.o --- typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- aios.o --- In file included from aios.C:26: In file included from ./aios.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./aios.h:40:11: note: in instantiation of template class 'callback' requested here typedef callback::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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./aios.h:41:11: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./aios.h:58:39: note: in instantiation of template class 'ref >' 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./aios.h:67:29: note: in instantiation of template class 'ptr >' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from aios.C:26: In file included from ./aios.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::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: ./callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from aios.C:26: In file included from ./aios.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- dnsparse.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- study.o --- mv -f .deps/study.Tpo .deps/study.Po --- myname.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT myname.o -MD -MP -MF .deps/myname.Tpo -c -o myname.o myname.C --- dnsparse.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class In file included from dnsparse.C:29: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ In file included from dnsparse.C:29: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- aerr.o --- 21 warnings generated. --- dnsparse.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- aerr.o --- mv -f .deps/aerr.Tpo .deps/aerr.Po --- dnsparse.o --- ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from dnsparse.C:29: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from dnsparse.C:29: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from dnsparse.C:29: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from dnsparse.C:29: In file included from ./dnsparse.h:29: In file included from ./dns.h:29: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dns.h:120:19: note: in instantiation of template class 'ref, 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- parseopt.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT parseopt.o -MD -MP -MF .deps/parseopt.Tpo -c -o parseopt.o parseopt.C --- dnsparse.o --- 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ./qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./dnsparse.h:67:9: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ./qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./dnsparse.h:67:9: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- arena.o --- 21 warnings generated. mv -f .deps/arena.Tpo .deps/arena.Po --- pipe2str.o --- --- ident.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: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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- armor.o --- 9 warnings generated. --- pipe2str.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT pipe2str.o -MD -MP -MF .deps/pipe2str.Tpo -c -o pipe2str.o pipe2str.C --- dnsparse.o --- 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ dnsparse.C:399:11: note: in instantiation of template class 'ptr' requested here dnsparse::tohostent () ^ --- err.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- dnsparse.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ dnsparse.C:435:14: note: in instantiation of template class 'ref' 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ dnsparse.C:477:11: note: in instantiation of template class 'ptr' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ dnsparse.C:527:16: note: in instantiation of template class 'ref' requested here ref mxl = refcounted::alloc ^ --- armor.o --- mv -f .deps/armor.Tpo .deps/armor.Po --- refcnt.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT refcnt.o -MD -MP -MF .deps/refcnt.Tpo -c -o refcnt.o refcnt.C --- dnsparse.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ dnsparse.C:664:16: note: in instantiation of template class 'ref' requested here ref s = refcounted::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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ dnsparse.C:684:11: note: in instantiation of template class 'ptr' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ dnsparse.C:716:16: note: in instantiation of template class 'ref' requested here ref t = refcounted::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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ./qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./dnsparse.h:69:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ./qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./dnsparse.h:69:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here nameset () : pos (0) {} ^ --- ifchg.o --- In file included from ifchg.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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- err.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- ident.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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- err.o --- In file included from err.C:24: In file included from ./err.h:28: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from err.C:24: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- ifchg.o --- In file included from ifchg.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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from ifchg.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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from ifchg.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- ident.o --- 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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- ifchg.o --- In file included from ifchg.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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from ifchg.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ In file included from ifchg.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from ifchg.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from ifchg.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from ifchg.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from ifchg.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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- ident.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- ifchg.o --- In file included from ifchg.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- ident.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- ifchg.o --- In file included from ifchg.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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from ifchg.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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here --- ident.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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- ifchg.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from ifchg.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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- ident.o --- void identptr (int fd, callback, int>::ref, ^ --- ifchg.o --- typedef struct ptr > ptr; ^ --- ident.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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- ifchg.o --- ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from ifchg.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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from ifchg.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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from ifchg.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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from ifchg.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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- ident.o --- ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- ifchg.o --- In file included from ifchg.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- ident.o --- ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- ifchg.o --- In file included from ifchg.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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- ident.o --- ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- ifchg.o --- typedef struct ref ref; ^ ./dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- ident.o --- typedef struct ref > ref; ^ ./dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- ifchg.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- ident.o --- typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dns.h:120:19: note: in instantiation of template class 'ref, 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- ifchg.o --- In file included from ifchg.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./list.h:62:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ifchg.C:38:42: note: in instantiation of template class 'list' requested here static list chglist; ^ In file included from ifchg.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- ident.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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./aios.h:45:9: note: in instantiation of template class 'ptr >' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ In file included from ident.C:24: In file included from ./rxx.h:32: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./aios.h:67:29: note: in instantiation of template class 'ptr >' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- malloc.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- ident.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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./aios.h:161:44: note: in instantiation of template class 'ptr' 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ident.C:39:16: note: in instantiation of template class 'ptr' requested here ptr 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ident.C:40:47: note: in instantiation of template class 'ptr, int> >' requested here callback, int>::ptr cb; ^ In file included from ident.C:24: In file included from ./rxx.h:32: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ident.C:73:63: note: in instantiation of template class 'ref, int> >' requested here identptr (int fd, callback, int>::ref cb, ^ --- ihash.o --- In file included from ihash.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:29: In file included from ./vec.h:30: ./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- ident.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ident.C:127:32: note: in instantiation of template class 'ref, int, void> >' requested here dns_hostbyaddr (ra.sin_addr, wrap (is, &identstat::dnscb)); ^ --- malloc.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- ihash.o --- In file included from ihash.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- malloc.o --- 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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- myaddrs.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: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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- ihash.o --- 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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- malloc.o --- 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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: --- ihash.o --- In file included from ihash.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here --- malloc.o --- In file included from ./suio++.h:30: --- ihash.o --- const ref uio; ^ --- malloc.o --- ./callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- ihash.o --- In file included from ihash.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- msb.o --- mv -f .deps/msb.Tpo .deps/msb.Po --- rxx.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT rxx.o -MD -MP -MF .deps/rxx.Tpo -c -o rxx.o rxx.C --- core.o --- 32 warnings generated. mv -f .deps/core.Tpo .deps/core.Po --- socket.o --- --- myaddrs.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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- ifchg.o --- 33 warnings generated. --- myaddrs.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: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- socket.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT socket.o -MD -MP -MF .deps/socket.Tpo -c -o socket.o socket.C --- myaddrs.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- ifchg.o --- mv -f .deps/ifchg.Tpo .deps/ifchg.Po --- str.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT str.o -MD -MP -MF .deps/str.Tpo -c -o str.o str.C --- myaddrs.o --- 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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- parseopt.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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- myaddrs.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- myname.o --- In file included from myname.C:24: 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 [-Wmismatched-tags] --- myaddrs.o --- ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- myname.o --- template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- myaddrs.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: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- malloc.o --- 16 warnings generated. --- myaddrs.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ./qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ myaddrs.C:75:18: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ./qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ myaddrs.C:75:18: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- malloc.o --- mv -f .deps/malloc.Tpo .deps/malloc.Po --- str2file.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT str2file.o -MD -MP -MF .deps/str2file.Tpo -c -o str2file.o str2file.C --- ihash.o --- 16 warnings generated. mv -f .deps/ihash.Tpo .deps/ihash.Po --- straux.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT straux.o -MD -MP -MF .deps/straux.Tpo -c -o straux.o straux.C --- myname.o --- In file included from myname.C:24: 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from myname.C:24: 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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from myname.C:24: 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- parseopt.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:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- myname.o --- In file included from myname.C:24: 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 [-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:24: 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- parseopt.o --- 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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from parseopt.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- myname.o --- In file included from myname.C:24: 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from myname.C:24: 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from myname.C:24: 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- err.o --- 9 warnings generated. --- myname.o --- ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from myname.C:24: 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from myname.C:24: 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- pipe2str.o --- In file included from pipe2str.C:24: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:29: In file included from ./vec.h:30: ./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ --- parseopt.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:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here --- pipe2str.o --- ./array.h:75:29: note: did you mean class here? --- parseopt.o --- typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- pipe2str.o --- template struct array; ^~~~~~ class --- parseopt.o --- ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- myname.o --- In file included from myname.C:24: 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from myname.C:24: 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from myname.C:24: 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from myname.C:24: 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- err.o --- mv -f .deps/err.Tpo .deps/err.Po --- suio++.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT suio++.o -MD -MP -MF .deps/suio++.Tpo -c -o suio++.o suio++.C --- parseopt.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:30: ./callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./parseopt.h:114:3: note: in instantiation of template class 'ref, 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./parseopt.h:114:15: note: in instantiation of template class 'ptr, 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./parseopt.h:115:3: note: in instantiation of template class 'ref >' 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- myname.o --- ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from myname.C:24: 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from myname.C:24: 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from myname.C:24: 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from myname.C:24: 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from myname.C:24: 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ In file included from myname.C:24: 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- parseopt.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:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash 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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- refcnt.o --- In file included from refcnt.C:46: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ refcnt.C:59:1: note: in instantiation of template class 'callback' requested here callback::ref cbv_null (gwrap (ignore_void)); ^ In file included from refcnt.C:46: ./callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from refcnt.C:24: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ refcnt.C:59:21: note: in instantiation of template class 'ref >' requested here callback::ref cbv_null (gwrap (ignore_void)); ^ --- itree.o --- mv -f .deps/itree.Tpo .deps/itree.Po --- suio_vuprintf.o --- --- refcnt.o --- In file included from refcnt.C:46: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ refcnt.C:60:1: note: in instantiation of template class 'callback' requested here callback::ref cbi_null (gwrap (ignore_int)); ^ In file included from refcnt.C:46: ./callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from refcnt.C:24: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ refcnt.C:60:26: note: in instantiation of template class 'ref >' requested here callback::ref cbi_null (gwrap (ignore_int)); ^ In file included from refcnt.C:62: 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- suio_vuprintf.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT suio_vuprintf.o -MD -MP -MF .deps/suio_vuprintf.Tpo -c -o suio_vuprintf.o suio_vuprintf.C --- refcnt.o --- In file included from refcnt.C:62: In file included from ./err.h:28: In file included from ./str.h:29: ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- pipe2str.o --- In file included from pipe2str.C:24: In file included from ./async.h:28: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- refcnt.o --- In file included from refcnt.C:62: In file included from ./err.h:28: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- pipe2str.o --- ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- refcnt.o --- In file included from refcnt.C:24: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- pipe2str.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268: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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ pipe2str.C:27:23: note: in instantiation of template class 'ref >' requested here pipe2str (int fd, cbs cb, int *fdp, strbuf *sb) ^ --- aios.o --- 26 warnings generated. mv -f .deps/aios.Tpo .deps/aios.Po --- tcpconnect.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT tcpconnect.o -MD -MP -MF .deps/tcpconnect.Tpo -c -o tcpconnect.o tcpconnect.C --- myaddrs.o --- 20 warnings generated. mv -f .deps/myaddrs.Tpo .deps/myaddrs.Po --- dftables.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT dftables.o -MD -MP -MF .deps/dftables.Tpo -c -o dftables.o dftables.c --- myname.o --- 31 warnings generated. --- rxx.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- myname.o --- mv -f .deps/myname.Tpo .deps/myname.Po --- daemonize.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT daemonize.o -MD -MP -MF .deps/daemonize.Tpo -c -o daemonize.o daemonize.C --- ident.o --- 40 warnings generated. --- rxx.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- ident.o --- mv -f .deps/ident.Tpo .deps/ident.Po --- spawn.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT spawn.o -MD -MP -MF .deps/spawn.Tpo -c -o spawn.o spawn.C --- rxx.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268: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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- refcnt.o --- 12 warnings generated. --- rxx.o --- 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- refcnt.o --- mv -f .deps/refcnt.Tpo .deps/refcnt.Po --- str2file.o --- In file included from str2file.C:25: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:29: In file included from ./vec.h:30: ./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- str.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- str2file.o --- 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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- pipe2str.o --- 22 warnings generated. --- str2file.o --- typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- pipe2str.o --- mv -f .deps/pipe2str.Tpo .deps/pipe2str.Po --- socket.o --- In file included from socket.C: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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- str2file.o --- 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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ In file included from str2file.C:25: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- straux.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: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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- str.o --- In file included from str.C:24: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- socket.o --- In file included from socket.C: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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from socket.C: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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from socket.C: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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- str.o --- In file included from str.C:24: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? --- parseopt.o --- 26 warnings generated. --- str.o --- 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- socket.o --- In file included from socket.C: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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- parseopt.o --- mv -f .deps/parseopt.Tpo .deps/parseopt.Po --- socket.o --- In file included from socket.C: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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- dns.o --- 54 warnings generated. --- socket.o --- In file included from socket.C: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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from socket.C: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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from socket.C: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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from socket.C: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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from socket.C: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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- straux.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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ --- dns.o --- mv -f .deps/dns.Tpo .deps/dns.Po --- straux.o --- ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268: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 [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' 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; ^~~~~~~~~ --- dnsparse.o --- 44 warnings generated. mv -f .deps/dnsparse.Tpo .deps/dnsparse.Po --- suio_vuprintf.o --- 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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- straux.o --- 19 warnings generated. mv -f .deps/straux.Tpo .deps/straux.Po --- rxx.o --- 16 warnings generated. --- str2file.o --- 16 warnings generated. --- rxx.o --- mv -f .deps/rxx.Tpo .deps/rxx.Po --- str2file.o --- mv -f .deps/str2file.Tpo .deps/str2file.Po --- suio_vuprintf.o --- In file included from suio_vuprintf.C:62: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- suio++.o --- 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 [-Wmismatched-tags] template class array { ^ --- suio_vuprintf.o --- ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from suio_vuprintf.C:62: In file included from ./suio++.h:30: ./callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- suio++.o --- ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- suio_vuprintf.o --- In file included from suio_vuprintf.C:62: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- tcpconnect.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 [-Wmismatched-tags] template class array { ^ --- suio_vuprintf.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- tcpconnect.o --- ./array.h:75:29: note: did you mean class here? --- suio_vuprintf.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ --- tcpconnect.o --- template struct array; ^~~~~~ class --- suio_vuprintf.o --- ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class suio_vuprintf.C:109:16: warning: struct 'suio' was previously declared as a class [-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:109:16: note: did you mean class here? suio_vuprintf (struct suio *uio, const char *_fmt, va_list ap) ^~~~~~ class suio_vuprintf.C:116:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int ch; /* character from fmt */ ^~~~~~~~~ suio_vuprintf.C:117: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:117: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:118: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:119:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register] register int flags; /* flags as above */ ^~~~~~~~~ --- socket.o --- 16 warnings generated. --- suio_vuprintf.o --- suio_vuprintf.C:717:15: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] suio_uprintf (struct suio *uio, const char *fmt, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ suio_vuprintf.C:717:15: note: did you mean class here? suio_uprintf (struct suio *uio, const char *fmt, ...) ^~~~~~ class --- socket.o --- mv -f .deps/socket.Tpo .deps/socket.Po --- suio++.o --- In file included from suio++.C:24: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from suio++.C:24: In file included from ./suio++.h:30: ./callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from suio++.C:24: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class In file included from suio++.C:24: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ suio++.C:195:23: note: in instantiation of template class 'ptr >' requested here callback::ptr cb; ^ --- tcpconnect.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:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- suio++.o --- suio++.C:459:21: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] suio_flatten (const struct suio *uio) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ suio++.C:459:21: note: did you mean class here? suio_flatten (const struct suio *uio) ^~~~~~ class --- daemonize.o --- In file included from daemonize.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 [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- tcpconnect.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: ./str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref 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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' 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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, 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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, 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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./dns.h:120:19: note: in instantiation of template class 'ref, 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- spawn.o --- In file included from spawn.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:29: In file included from ./vec.h:30: ./array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ./array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- dftables.o --- mv -f .deps/dftables.Tpo .deps/dftables.Po --- str.o --- 9 warnings generated. --- dftables --- --- daemonize.o --- In file included from daemonize.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:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- tcpconnect.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:30: In file included from ./callback.h:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ tcpconnect.C:77:36: note: in instantiation of template class 'ptr' requested here dnsp = dns_hostbyname (hostname, wrap (this, &tcpportconnect_t::name_cb), ^ --- daemonize.o --- ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from daemonize.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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- tcpconnect.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:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ tcpconnect.C:77:36: note: in instantiation of template class 'ref, int, void> >' requested here dnsp = dns_hostbyname (hostname, wrap (this, &tcpportconnect_t::name_cb), ^ --- daemonize.o --- In file included from daemonize.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- dftables --- /bin/sh ../libtool --tag=CC --mode=link clang -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -o dftables dftables.o --- daemonize.o --- ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- str.o --- mv -f .deps/str.Tpo .deps/str.Po --- daemonize.o --- In file included from daemonize.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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- tcpconnect.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:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ tcpconnect.C:282:48: note: in instantiation of template class 'ref' requested here tcpsrvconnect_t::tcpsrvconnect_t (ref sl, cbi cb, str *np) ^ --- daemonize.o --- In file included from daemonize.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ In file included from daemonize.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:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from daemonize.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from daemonize.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from daemonize.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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from daemonize.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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ In file included from daemonize.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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from daemonize.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:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from daemonize.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:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from daemonize.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:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spawn.o --- In file included from spawn.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::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:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ./suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-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:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ./suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ./suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ./suio++.h:46:7: note: previous use is here class suio { ^ ./suio++.h:268: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 [-Wmismatched-tags] struct bssstr : public str { ^ ./str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from spawn.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: In file included from ./callback.h:612: ./refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ In file included from spawn.C:24: In file included from ./amisc.h:29: In file included from ./err.h:28: In file included from ./str.h:29: In file included from ./suio++.h:30: ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ./callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::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:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > 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:612: ./refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./amisc.h:104:16: note: in instantiation of template class 'ptr >' 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)) ^ == --- dftables --- libtool: link: clang -O2 -I/data/scratch/mail/avenger/work/.buildlink/include/db4 -Wall -Wl,-rpath -Wl,/usr/pkg/lib -o dftables dftables.o -L/data/scratch/mail/avenger/work/.buildlink/lib --- suio_vuprintf.o --- 14 warnings generated. mv -f .deps/suio_vuprintf.Tpo .deps/suio_vuprintf.Po --- chartables.c --- ./dftables chartables.c --- pcre.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT pcre.o -MD -MP -MF .deps/pcre.Tpo -c -o pcre.o pcre.c --- suio++.o --- 9 warnings generated. --- daemonize.o --- 21 warnings generated. --- suio++.o --- mv -f .deps/suio++.Tpo .deps/suio++.Po --- daemonize.o --- mv -f .deps/daemonize.Tpo .deps/daemonize.Po --- pcre.o --- 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) ~^~~~~~~~~~~~~~ --- spawn.o --- 18 warnings generated. mv -f .deps/spawn.Tpo .deps/spawn.Po --- tcpconnect.o --- 34 warnings generated. mv -f .deps/tcpconnect.Tpo .deps/tcpconnect.Po --- pcre.o --- 3 warnings generated. mv -f .deps/pcre.Tpo .deps/pcre.Po --- libasync.a --- rm -f libasync.a ar cru libasync.a arandom.o clock_gettime.o getopt_long.o maketables.o pcre.o rwfd.o stktrace.o study.o suidprotect.o aerr.o aios.o arena.o armor.o cbuf.o convertint.o core.o daemonize.o dns.o dnsparse.o err.o ident.o ifchg.o ihash.o itree.o malloc.o msb.o myaddrs.o myname.o parseopt.o pipe2str.o refcnt.o rxx.o socket.o spawn.o str.o str2file.o straux.o suio++.o suio_vuprintf.o tcpconnect.o ranlib libasync.a Making all in asmtpd --- addrparse.o --- --- asmtpd.o --- --- auth.o --- --- avif.o --- --- enqmsg.o --- --- mxcheck.o --- --- netpath.o --- --- osguess.o --- --- quota.o --- --- rbl.o --- --- rcptcheck.o --- --- runprog.o --- --- smtpd.o --- --- spf.o --- --- synfp.o --- --- vrfy.o --- --- avif.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT avif.o -MD -MP -MF .deps/avif.Tpo -c -o avif.o avif.C --- mxcheck.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT mxcheck.o -MD -MP -MF .deps/mxcheck.Tpo -c -o mxcheck.o mxcheck.C --- rbl.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT rbl.o -MD -MP -MF .deps/rbl.Tpo -c -o rbl.o rbl.C --- enqmsg.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT enqmsg.o -MD -MP -MF .deps/enqmsg.Tpo -c -o enqmsg.o enqmsg.C --- rcptcheck.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT rcptcheck.o -MD -MP -MF .deps/rcptcheck.Tpo -c -o rcptcheck.o rcptcheck.C --- netpath.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT netpath.o -MD -MP -MF .deps/netpath.Tpo -c -o netpath.o netpath.C --- runprog.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT runprog.o -MD -MP -MF .deps/runprog.Tpo -c -o runprog.o runprog.C --- quota.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT quota.o -MD -MP -MF .deps/quota.Tpo -c -o quota.o quota.C --- auth.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT auth.o -MD -MP -MF .deps/auth.Tpo -c -o auth.o auth.C --- asmtpd.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT asmtpd.o -MD -MP -MF .deps/asmtpd.Tpo -c -o asmtpd.o asmtpd.C --- addrparse.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT addrparse.o -MD -MP -MF .deps/addrparse.Tpo -c -o addrparse.o addrparse.C --- osguess.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT osguess.o -MD -MP -MF .deps/osguess.Tpo -c -o osguess.o osguess.C --- vrfy.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT vrfy.o -MD -MP -MF .deps/vrfy.Tpo -c -o vrfy.o vrfy.C --- spf.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT spf.o -MD -MP -MF .deps/spf.Tpo -c -o spf.o spf.C --- smtpd.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT smtpd.o -MD -MP -MF .deps/smtpd.Tpo -c -o smtpd.o smtpd.C --- synfp.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT synfp.o -MD -MP -MF .deps/synfp.Tpo -c -o synfp.o synfp.C --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- typedef struct ref > ref; ^ --- avif.o --- typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- mxcheck.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- avif.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- avif.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- spf.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- avif.o --- In file included from avif.C:26: ./rawnet.h:129:1: warning: 'synfp_collect' defined as a class here but previously declared as a struct [-Wmismatched-tags] class synfp_collect { ^ ./asmtpd.h:63:1: note: did you mean class here? struct synfp_collect; ^~~~~~ class In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- avif.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:176:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:180:16: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- quota.o --- template class array { ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:185:25: note: in instantiation of template class 'ref' requested here const ref is; ^ --- quota.o --- ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:232:17: note: in instantiation of template class 'ref' requested here ref setcb (in_addr a, cb_t cb) ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:240:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/vec.h:43:27: note: in instantiation of template class 'ref >' requested here char defbuf_space[N * sizeof (elm_t)]; ^ ../libasync/vec.h:41:3: note: in instantiation of member class 'vec_base >, 1>::(anonymous)' requested here union { ^ ../libasync/vec.h:74:52: note: in instantiation of template class 'vec_base >, 1>' requested here template class vec : public vec_base { ^ ./rawnet.h:261:16: note: in instantiation of template class 'vec >, 1>' requested here vec cbvec; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ avif.C:28:60: note: in instantiation of template class 'ihash, equals >' requested here ihash avctab; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ avif.C:28:60: note: in instantiation of template class 'ihash, equals >' requested here ihash avctab; ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- mxcheck.o --- typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- spf.o --- ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- mxcheck.o --- void identptr (int fd, callback, int>::ref, ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ avif.C:159:6: note: in instantiation of template class 'ref, int, void> >' requested here wrap (this, &avif::dns_a_cb, dnsarx[1], rp), ^ --- spf.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ avif.C:181:4: note: in instantiation of template class 'ref, int, void> >' requested here --- spf.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- avif.o --- wrap (this, &avif::dns_mx_cb, dnsmxrx[1], rp), ^ --- spf.o --- typedef callback, int>::ref cbtxtlist; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ avif.C:189:4: note: in instantiation of template class 'ptr' requested here wrap (this, &avif::dns_txt_cb, dnstxtrx[1], rp), ^ In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ avif.C:189:4: note: in instantiation of template class 'ref, int, void> >' requested here wrap (this, &avif::dns_txt_cb, dnstxtrx[1], rp), ^ --- mxcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- mxcheck.o --- In file included from mxcheck.C:25: --- spf.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- spf.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- mxcheck.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- spf.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- spf.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- rbl.o --- typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here --- spf.o --- ihash tab; ^ --- rbl.o --- cb_t cb; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- rbl.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- typedef struct ref > ref; ^ --- rbl.o --- char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here --- mxcheck.o --- ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- rbl.o --- class suio { ^ --- mxcheck.o --- typedef callback, str, bool *>::ref confcb; ^ --- rbl.o --- ../libasync/suio++.h:268:27: note: did you mean class here? --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- char *suio_flatten (const struct suio *); ^~~~~~ class --- mxcheck.o --- typedef struct ptr > ptr; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ref > ref; ^ --- mxcheck.o --- typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- enqmsg.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- rcptcheck.o --- In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] --- enqmsg.o --- typedef callback::ref cb_t; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- template class array { ^ --- vrfy.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- rcptcheck.o --- ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- vrfy.o --- ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- vrfy.o --- ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- vrfy.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- enqmsg.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ --- spf.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- enqmsg.o --- ../libasync/str.h:91:10: note: did you mean struct here? --- spf.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- enqmsg.o --- friend class bssstr; ^~~~~ struct --- spf.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- spf.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ref > ref; ^ --- spf.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- quota.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- spf.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- quota.o --- typedef callback::ref cb_t; ^ --- spf.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- qhash warn_filter; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- typedef struct ptr > ptr; ^ --- spf.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- typedef struct ref > ref; ^ --- mxcheck.o --- typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- netpath.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- mxcheck.o --- typedef struct ptr ptr; ^ --- spf.o --- ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here --- mxcheck.o --- ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- spf.o --- const ptr ptr_cache; ^ --- mxcheck.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- quota.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- spf.o --- ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- quota.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- quota.o --- ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^ --- mxcheck.o --- typedef struct ref ref; ^ --- quota.o --- ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- mxcheck.o --- ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- quota.o --- ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- quota.o --- char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- quota.o --- class suio { ^ --- spf.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- spf.o --- typedef struct ref > ref; ^ --- quota.o --- ../libasync/suio++.h:268:27: note: did you mean class here? --- spf.o --- ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here --- quota.o --- char *suio_flatten (const struct suio *); ^~~~~~ class --- spf.o --- typedef callback >::ref runprogcb_t; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- netpath.o --- ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- smtpd.o --- template class array { ^ --- mxcheck.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- spf.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- spf.o --- typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here --- enqmsg.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- const cb_t cb; ^ --- enqmsg.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- enqmsg.o --- typedef struct ptr > ptr; ^ --- spf.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here --- enqmsg.o --- typedef struct ref ref; ^ --- vrfy.o --- typedef callback::ref cbs; ^ --- enqmsg.o --- ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- vrfy.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- In file included from spf.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] --- vrfy.o --- typedef struct ref > ref; ^ --- spf.o --- class enqmsg { ^ --- vrfy.o --- ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- spf.o --- typedef struct ref > ref; ^ --- mxcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- spf.o --- ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here --- mxcheck.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- typedef callback >::ref vrfycb_t; ^ --- mxcheck.o --- typedef struct ref ref; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- mxcheck.o --- ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- spf.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- spf.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- rbl.o --- typedef struct ptr > ptr; ^ --- spf.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ptr ptr; ^ --- spf.o --- typedef struct ref ref; ^ --- enqmsg.o --- ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here --- spf.o --- ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here --- enqmsg.o --- void chldcb (pid_t, cbi::ptr); ^ --- rbl.o --- typedef struct ptr > ptr; ^ --- spf.o --- cb_t::ptr cb; ^ --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- void identptr (int fd, callback, int>::ref, ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- vrfy.o --- typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here --- enqmsg.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- void chldcb (pid_t, cbi::ptr); ^ --- enqmsg.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- spf.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- spf.o --- typedef struct ref ref; ^ --- enqmsg.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here --- enqmsg.o --- typedef struct ptr > ptr; ^ --- spf.o --- ptr > loopcheck = NULL, int recdepth = 0); ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] --- spf.o --- typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- struct bssstr : public str { ^ --- vrfy.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] --- netpath.o --- ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- addrparse.o --- template class array { ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- addrparse.o --- ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- enqmsg.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ spf.C:80:37: note: in instantiation of template class 'ptr' requested here spf_t::getexp (cbv cb, ptr t, int err) ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from ../libasync/amisc.h:29: --- enqmsg.o --- ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- mxcheck.o --- typedef struct ref > ref; ^ --- enqmsg.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- mxcheck.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- runprog.o --- In file included from ../libasync/err.h:28: --- mxcheck.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- runprog.o --- In file included from ../libasync/str.h:29: --- mxcheck.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- runprog.o --- In file included from ../libasync/suio++.h:30: --- mxcheck.o --- bhash bindaddrh; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- In file included from ../libasync/callback.h:612: --- mxcheck.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ^ --- mxcheck.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ --- runprog.o --- ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- const ref uio; --- mxcheck.o --- typedef struct ptr > ptr; ^ --- runprog.o --- ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- mxcheck.o --- typedef struct ref > ref; --- vrfy.o --- ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- vrfy.o --- typedef callback, int>::ref cbmxlist; ^ --- mxcheck.o --- void traverse (typename callback::ref cb) { ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- vrfy.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- vrfy.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- bhash nocheck; ^ In file included from mxcheck.C:25: --- vrfy.o --- typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef callback, int>::ref cbtxtlist; ^ --- mxcheck.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ spf.C:103:22: note: in instantiation of template class 'ref, int, void> >' requested here = dns_txtbyname (n, wrap (this, &spf_t::getexp, ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- confcb::ptr cnfcb; ^ --- netpath.o --- typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- quota.o --- typedef struct ptr > ptr; ^ --- spf.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ spf.C:150:43: note: in instantiation of template class 'ref, int, void> >' requested here if (dnsreq_t *d = dns_hostbyaddr (addr, wrap (this, &spf_t::getptr_2, cb))) ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- rbl.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- rbl.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr > ptr; ^ --- netpath.o --- typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ --- rbl.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- rbl.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- rbl.o --- typedef callback, int>::ref cbsrvlist; ^ --- mxcheck.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- mxcheck.o --- ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here --- rbl.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- const ptr rblcon; ^ --- rbl.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr > ptr; ^ --- netpath.o --- typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- netpath.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- runprog.o --- typedef struct ptr > ptr; ^ --- rbl.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- vrfy.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- mxcheck.o --- typedef struct ref ref; ^ --- osguess.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here --- vrfy.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- mxcheck.o --- const ptr ptr_cache; ^ --- osguess.o --- typedef struct ref > ref; ^ --- vrfy.o --- ihash tab; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- osguess.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- vrfy.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef callback::ref cb_t; ^ --- vrfy.o --- typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- avif.o --- In file included from avif.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- avif.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- avif.o --- typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- quota.o --- typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- avif.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- quota.o --- void identptr (int fd, callback, int>::ref, ^ --- avif.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- avif.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- quota.o --- typedef struct ptr > ptr; ^ --- avif.o --- map_base () : loadno (0) {} ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- quota.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here --- quota.o --- typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- mxcheck.o --- ptr get_mxl () const { return mxl; } ^ --- quota.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] --- synfp.o --- In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] --- mxcheck.o --- typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ --- auth.o --- template class array { ^ --- synfp.o --- template class array { ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- ../libasync/array.h:75:29: note: did you mean class here? --- synfp.o --- ../libasync/array.h:75:29: note: did you mean class here? --- auth.o --- template struct array; ^~~~~~ class --- synfp.o --- template struct array; ^~~~~~ class --- osguess.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- osguess.o --- ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- osguess.o --- char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here --- rcptcheck.o --- ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- class suio { ^ --- rcptcheck.o --- typedef struct ref > ref; ^ --- osguess.o --- ../libasync/suio++.h:268:27: note: did you mean class here? --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rcptcheck.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- mxcheck.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- char *suio_flatten (const struct suio *); ^~~~~~ class --- rcptcheck.o --- typedef callback::ref cb_t; ^ --- mxcheck.o --- typedef struct ref > ref; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- mxcheck.o --- ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- rcptcheck.o --- ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- void traverse (typename callback::ref cb) const { ^ --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- quota.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- quota.o --- ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here --- runprog.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef callback, int>::ref cbhent; ^ --- runprog.o --- typedef struct ptr ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- quota.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from mxcheck.C:25: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ --- quota.o --- typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- quota.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- quota.o --- typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- ./asmtpd.h:354:1: note: did you mean class here? --- quota.o --- typedef callback, int>::ref cbsrvlist; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: --- mxcheck.o --- struct enqmsg; ^~~~~~ class --- quota.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- quota.o --- typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- runprog.o --- void identptr (int fd, callback, int>::ref, ^ --- quota.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- runprog.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- rbl.o --- typedef callback, str, bool *>::ref confcb; ^ --- runprog.o --- ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- rbl.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- enqmsg.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr > ptr; ^ --- enqmsg.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- runprog.o --- typedef struct ptr > ptr; ^ --- enqmsg.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- mxcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rbl.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here --- mxcheck.o --- typedef struct ptr > ptr; ^ --- rbl.o --- confcb::ptr cnfcb; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- enqmsg.o --- typedef struct ptr ptr; ^ --- netpath.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- enqmsg.o --- ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- netpath.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- enqmsg.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- netpath.o --- typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- rcb_t rcb; ^ --- rbl.o --- typedef struct ptr ptr; ^ --- mxcheck.o --- typedef struct ref > ref; ^ --- rbl.o --- ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here --- mxcheck.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- rbl.o --- cbs::ptr scb; ^ --- mxcheck.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- rcptcheck.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- rcptcheck.o --- ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- netpath.o --- ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- rcptcheck.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- spf.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- typedef struct ptr ptr; ^ spf.C:464:46: note: in instantiation of template class 'ref' requested here --- vrfy.o --- typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- netpath.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- rcptcheck.o --- ../libasync/suio++.h:251:27: note: did you mean class here? --- spf.o --- spf_t::addr_check (int cidrlen, ref h) ^ --- rcptcheck.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ --- asmtpd.o --- ../libasync/array.h:75:29: note: did you mean class here? --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- template struct array; ^~~~~~ class --- netpath.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- vrfy.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- netpath.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- vrfy.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- rbl.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- mxcheck.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- rbl.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- quota.o --- typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- rbl.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- quota.o --- typedef callback, str, bool *>::ref confcb; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ihash tab; ^ --- quota.o --- typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: --- rbl.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr > ptr; ^ --- quota.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- vrfy.o --- typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- runprog.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef callback, int>::ref cbhent; ^ --- enqmsg.o --- typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- runprog.o --- typedef struct ptr > ptr; ^ --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- quota.o --- ihash tab; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- osguess.o --- In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ --- quota.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- osguess.o --- ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- mxcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- runprog.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- mxcheck.o --- typedef struct ref > ref; ^ --- quota.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- runprog.o --- ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here --- quota.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- mxcheck.o --- typedef callback::ref spfckcb_t; ^ --- runprog.o --- typedef callback, int>::ref cbmxlist; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- ihash tab; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ptr > ptr; ^ --- runprog.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- runprog.o --- typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- vrfy.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- runprog.o --- typedef callback, int>::ref cbtxtlist; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- mxcheck.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- runprog.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- void traverse (typename callback::ref cb) { ^ --- runprog.o --- typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here --- mxcheck.o --- ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- runprog.o --- cbsrvlist cb, bool search = false) ^ --- mxcheck.o --- : public ihash_core, kludge> { ^ mxcheck.C:29:24: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here static qhash mxcache; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ mxcheck.C:29:24: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- mxcheck.o --- static qhash mxcache; ^ --- runprog.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- mxcheck.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- mxcheck.o --- typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- osguess.o --- typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- enqmsg.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- mxcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- mxcheck.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- enqmsg.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- enqmsg.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- : public ihash_core, kludge> { ^ mxcheck.C:30:23: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here static bhash addrcache; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ mxcheck.C:30:23: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here static bhash addrcache; ^ In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ref ref; ^ --- enqmsg.o --- typedef struct ref > ref; ^ --- vrfy.o --- ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; --- enqmsg.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- vrfy.o --- ^ --- enqmsg.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- vrfy.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- spf.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- spf.o --- typedef struct ptr ptr; ^ spf.C:693:29: note: in instantiation of template class 'ref, int, void> >' requested here --- vrfy.o --- bhash bindaddrh; ^ --- spf.o --- = dns_mxbyname (targ, wrap (this, &spf_t::mech_mx_2, cidrlen))) ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ mxcheck.C:68:46: note: in instantiation of template class 'ref, int, void> >' requested here else if (dnsreq *rq = dns_mxbyname (relay, wrap (this, &mxcheck::getmx))) ^ --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here --- vrfy.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- enqmsg.o --- const ptr rblcon; ^ --- vrfy.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- vrfy.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- runprog.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- void traverse (typename callback::ref cb) const { ^ --- runprog.o --- typedef struct ref > ref; ^ --- vrfy.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- runprog.o --- ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- vrfy.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- enqmsg.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef callback, str, bool *>::ref confcb; ^ --- vrfy.o --- bhash nocheck; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- enqmsg.o --- typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- typedef struct ptr > ptr; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:132:9: note: in instantiation of template class 'ref >' requested here cbs cb; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ptr ptr; ^ --- osguess.o --- typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- confcb::ptr cnfcb; ^ --- quota.o --- typedef struct ref ref; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- quota.o --- ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- enqmsg.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- struct bssstr : public str { ^ --- enqmsg.o --- const ptr ptr_cache; ^ --- osguess.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here --- rcptcheck.o --- ../libasync/str.h:91:10: note: did you mean struct here? --- osguess.o --- typedef callback::ref cbs; ^ --- rcptcheck.o --- friend class bssstr; ^~~~~ struct --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- osguess.o --- typedef struct ptr > ptr; ^ --- runprog.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- osguess.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here --- vrfy.o --- qhash warn_filter; ^ --- osguess.o --- typedef callback::ref cbb; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- vrfy.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ptr > ptr; ^ --- netpath.o --- typedef struct ref > ref; ^ --- osguess.o --- typedef struct ptr > ptr; ^ --- netpath.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here --- vrfy.o --- typedef struct ref > ref; ^ --- netpath.o --- &synfp_entry::synfp_entry::hlink> tab; ^ --- vrfy.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- netpath.o --- ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ --- vrfy.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- vrfy.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- runprog.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- qhash warn_filter; ^ --- runprog.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- runprog.o --- cbs::ptr scb; ^ --- vrfy.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- netpath.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- typedef struct ptr > ptr; ^ --- runprog.o --- typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- netpath.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- netpath.o --- &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here --- osguess.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- netpath.o --- typedef synfp_state::synfp_entry fpentry_t; ^ --- osguess.o --- ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- netpath.o --- typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here --- netpath.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here --- enqmsg.o --- typedef callback >::ref runprogcb_t; ^ --- netpath.o --- void traverse (typename callback::ref cb) const { ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here --- quota.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- enqmsg.o --- typedef struct ptr > ptr; ^ --- netpath.o --- : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here --- quota.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- netpath.o --- typedef synfp_state::synfp_entry fpentry_t; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ mxcheck.C:108:29: note: in instantiation of template class 'ref, int, void> >' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- = dns_hostbyname (mxes[i], wrap (this, &mxcheck::geta, i))) ^ --- runprog.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ref > ref; ^ --- runprog.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- enqmsg.o --- ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here --- runprog.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- enqmsg.o --- typedef callback::ref cb_t; ^ --- runprog.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- ihash tab; ^ --- enqmsg.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ptr > ptr; ^ --- runprog.o --- typedef struct ptr > ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- netpath.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- netpath.o --- typedef struct ref > ref; ^ ./rawnet.h:176:11: note: in instantiation of template class 'callback' requested here --- rbl.o --- ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- enqmsg.o --- In file included from enqmsg.C:24: --- netpath.o --- typedef callback::ref cb_t; ^ --- enqmsg.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ptr ptr; ^ --- netpath.o --- typedef struct ptr > ptr; ^ --- enqmsg.o --- ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:180:16: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:185:25: note: in instantiation of template class 'ref' requested here const ref is; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- smtpd.o --- typedef struct ref > ref; ^ --- quota.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- smtpd.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: --- netpath.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] --- netpath.o --- typedef struct ref > ref; ^ --- enqmsg.o --- class enqmsg { ^ --- netpath.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- smtpd.o --- typedef struct ptr ptr; ^ --- netpath.o --- : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here --- smtpd.o --- ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- netpath.o --- &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:232:17: note: in instantiation of template class 'ref' requested here ref setcb (in_addr a, cb_t cb) ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ spf.C:814:24: note: in instantiation of template class 'ref >' requested here spf_check_3 (spfckcb_t cb, spf_result override, str omech, spf_t *spf) ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rbl.o --- typedef struct ref ref; ^ --- enqmsg.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rbl.o --- ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here --- enqmsg.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here --- rbl.o --- virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- enqmsg.o --- typedef callback >::ref vrfycb_t; ^ --- vrfy.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- vrfy.o --- typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here --- enqmsg.o --- In file included from ../libasync/err.h:28: --- vrfy.o --- ptr mxl; ^ --- enqmsg.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- netpath.o --- In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:240:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from netpath.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- enqmsg.o --- qhash table; ^ --- quota.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- enqmsg.o --- typedef struct ptr > ptr; ^ --- quota.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- enqmsg.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- typedef struct ref > ref; ^ --- rbl.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- enqmsg.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- rbl.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- enqmsg.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- netpath.o --- In file included from netpath.C:24: --- osguess.o --- In file included from ../libasync/suio++.h:30: --- netpath.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- typedef struct ptr ptr; ^ ../libasync/vec.h:43:27: note: in instantiation of template class 'ref >' requested here char defbuf_space[N * sizeof (elm_t)]; ^ ../libasync/vec.h:41:3: note: in instantiation of member class 'vec_base >, 1>::(anonymous)' requested here union { ^ ../libasync/vec.h:74:52: note: in instantiation of template class 'vec_base >, 1>' requested here template class vec : public vec_base { ^ ./rawnet.h:261:16: note: in instantiation of template class 'vec >, 1>' requested here --- osguess.o --- typedef struct ptr ptr; ^ --- netpath.o --- vec cbvec; ^ --- osguess.o --- ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- enqmsg.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- osguess.o --- ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here --- smtpd.o --- ../libasync/suio++.h:250:28: note: did you mean class here? --- osguess.o --- void identptr (int fd, callback, int>::ref, ^ --- vrfy.o --- typedef callback >::ref runprogcb_t; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: --- smtpd.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- vrfy.o --- typedef struct ptr > ptr; ^ --- osguess.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- smtpd.o --- ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ref ref; ^ --- smtpd.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rbl.o --- ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- smtpd.o --- class suio { ^ --- enqmsg.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- smtpd.o --- ../libasync/suio++.h:251:27: note: did you mean class here? --- enqmsg.o --- typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- osguess.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- osguess.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- vrfy.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- vrfy.o --- typedef struct ptr > ptr; ^ --- quota.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- vrfy.o --- typedef struct ptr > ptr; ^ --- enqmsg.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] --- enqmsg.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- class enqmsg { ^ ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- quota.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- rbl.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- typedef callback::ref cbb; ^ In file included from rcptcheck.C:24: --- rbl.o --- In file included from ../libasync/callback.h:612: --- rcptcheck.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- rbl.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- quota.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- rbl.o --- ptr rs; ^ --- quota.o --- bhash nocheck; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ref > ref; ^ --- quota.o --- typedef struct ref > ref; ^ --- vrfy.o --- ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here --- quota.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ --- vrfy.o --- typedef callback >::ref vrfycb_t; ^ --- quota.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- : public ihash_core, kludge> { ^ --- vrfy.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- vrfy.o --- typedef struct ptr > ptr; ^ --- quota.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- vrfy.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- rcptcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- void traverse (typename callback::ref cb) const { ^ --- rcptcheck.o --- typedef struct ref ref; ^ --- vrfy.o --- ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- rcptcheck.o --- ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- vrfy.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- quota.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- rcptcheck.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- vrfy.o --- qhash table; ^ --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ --- vrfy.o --- typedef struct ptr > ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ref ref; ^ --- vrfy.o --- typedef struct ref ref; ^ --- runprog.o --- ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here --- vrfy.o --- ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- runprog.o --- virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rbl.o --- typedef struct ref > ref; ^ --- vrfy.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- vrfy.o --- typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here --- rbl.o --- void traverse (typename callback::ref cb) const { ^ --- vrfy.o --- ref > loopcheck; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- rbl.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- addrparse.o --- typedef struct ref > ref; ^ --- rbl.o --- bhash bindaddrh; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- rbl.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef callback::ref cb_t; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ --- osguess.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- osguess.o --- ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef callback, int>::ref cbhent; ^ --- quota.o --- typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here --- addrparse.o --- typedef struct ptr ptr; ^ --- quota.o --- ptr mxl; ^ --- addrparse.o --- ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- addrparse.o --- cb_t cb; ^ --- osguess.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef struct ptr > ptr; ^ --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here --- rbl.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- vrfy.o --- ptr > loopcheck = NULL, int recdepth = 0); ^ --- rbl.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ --- osguess.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: --- osguess.o --- typedef struct ref > ref; ^ --- rbl.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- rbl.o --- typedef struct ptr > ptr; ^ --- osguess.o --- typedef callback, int>::ref cbsrvlist; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- rbl.o --- typedef struct ref > ref; ^ --- quota.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- quota.o --- typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- rbl.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- osguess.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- bhash nocheck; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- rbl.o --- typedef struct ptr > ptr; ^ --- osguess.o --- typedef callback, int>::ref cbtxtlist; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- vrfy.o --- typedef struct ptr > ptr; ^ --- rcptcheck.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rcptcheck.o --- void chldcb (pid_t, cbi::ptr); ^ --- osguess.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- rbl.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ^ --- quota.o --- typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- rbl.o --- ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- runprog.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- rbl.o --- : public ihash_core, kludge> { ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- rbl.o --- ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- rcptcheck.o --- void identptr (int fd, callback, int>::ref, ^ --- rbl.o --- qhash warn_filter; --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ^ --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: --- vrfy.o --- typedef struct ref > ref; ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- vrfy.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- spf.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- vrfy.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- rcptcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- spf.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- vrfy.o --- : public ihash_core ^ vrfy.C:43:59: note: in instantiation of template class 'ihash, equals >' requested here --- rcptcheck.o --- typedef struct ref > ref; ^ --- spf.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- rcptcheck.o --- ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- spf.o --- map_base () : loadno (0) {} ^ --- vrfy.o --- &addrcache_entry::addr, &addrcache_entry::hashlink> addrcache; ^ --- rbl.o --- In file included from ./asmtpd.h:25: --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rcptcheck.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- vrfy.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- quota.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- quota.o --- typedef struct ref > ref; ^ --- rbl.o --- In file included from ../libasync/async.h:28: --- quota.o --- ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/amisc.h:29: --- vrfy.o --- typedef struct ref > ref; ^ --- quota.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- rbl.o --- In file included from ../libasync/err.h:28: --- vrfy.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ --- spf.o --- In file included from spf.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- vrfy.o --- vrfy.C:43:59: note: in instantiation of template class 'ihash, equals >' requested here --- spf.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/str.h:29: --- spf.o --- typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- vrfy.o --- &addrcache_entry::addr, &addrcache_entry::hashlink> addrcache; ^ In file included from vrfy.C:24: --- spf.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- vrfy.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- spf.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- vrfy.o --- In file included from ../libasync/suio++.h:30: --- spf.o --- ~qhash () { clear (); } ^ --- vrfy.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- spf.o --- ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- vrfy.o --- typedef struct ptr > ptr; ^ --- rbl.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- rbl.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ref > ref; --- quota.o --- typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- rbl.o --- ^ --- quota.o --- void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] --- rbl.o --- void traverse (typename callback::ref cb) const { --- smtpd.o --- struct bssstr : public str { ^ --- rbl.o --- ^ --- smtpd.o --- ../libasync/str.h:91:10: note: did you mean struct here? --- rbl.o --- ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- smtpd.o --- friend class bssstr; ^~~~~ struct --- rbl.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- In file included from quota.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ --- rbl.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; --- addrparse.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ^ --- addrparse.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ --- quota.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- addrparse.o --- ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- enqmsg.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- enqmsg.o --- typedef struct ptr ptr; ^ enqmsg.C:231:4: note: in instantiation of template class 'ref' requested here --- quota.o --- qhash table; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- wrap (this, &enqmsg_file::smcb, av[0], cb), ^ --- quota.o --- typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ enqmsg.C:231:4: note: in instantiation of template class 'ref, void, void> >' requested here wrap (this, &enqmsg_file::smcb, av[0], cb), ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ptr h; ^ --- quota.o --- typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ --- rcptcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef callback, int>::ref cbhent; ^ --- mxcheck.o --- typedef struct ptr ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- mxcheck.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- mxcheck.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- osguess.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- osguess.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- mxcheck.o --- map_base () : loadno (0) {} ^ --- asmtpd.o --- ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef struct ref > ref; ^ --- asmtpd.o --- typedef struct ref > ref; ^ --- osguess.o --- ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ --- asmtpd.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- osguess.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ptr > ptr; ^ --- osguess.o --- typedef struct ptr > ptr; ^ --- rcptcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- quota.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef callback, int>::ref cbmxlist; ^ --- quota.o --- typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- quota.o --- typedef callback::ref spfckcb_t; ^ --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ptr > ptr; ^ --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- typedef struct ptr ptr; ^ --- rcptcheck.o --- typedef struct ref > ref; ^ --- mxcheck.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- rcptcheck.o --- ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- mxcheck.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- rcptcheck.o --- typedef callback, int>::ref cbsrvlist; ^ --- mxcheck.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- rcptcheck.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- map_base () : loadno (0) {} ^ --- asmtpd.o --- typedef struct ptr ptr; ^ --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef struct ref > ref; ^ --- osguess.o --- typedef struct ptr ptr; ^ --- rcptcheck.o --- ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- osguess.o --- ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- rcptcheck.o --- typedef callback, int>::ref cbtxtlist; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ vrfy.C:153:3: note: in instantiation of template class 'ref >' requested here cbb::ptr cb; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- vrfy.o --- typedef struct ref ref; ^ vrfy.C:153:12: note: in instantiation of template class 'ptr >' requested here --- runprog.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- vrfy.o --- cbb::ptr cb; ^ --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- asmtpd.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/suio++.h:30: --- asmtpd.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- rbl.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/suio++.h:250:28: note: did you mean class here? --- rbl.o --- typedef struct ref ref; ^ --- asmtpd.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- rbl.o --- ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here --- asmtpd.o --- ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class --- rbl.o --- const ptr rblcon; ^ --- asmtpd.o --- ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- : public ihash_core, kludge> { ^ --- osguess.o --- typedef struct ref > ref; ^ --- runprog.o --- ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- osguess.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- runprog.o --- bhash nocheck; ^ --- osguess.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- runprog.o --- typedef struct ptr > ptr; ^ --- osguess.o --- ihash tab; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef struct ptr > ptr; ^ --- runprog.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ --- osguess.o --- typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- osguess.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- runprog.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- void traverse (typename callback::ref cb) const { ^ --- runprog.o --- typedef struct ptr > ptr; ^ --- osguess.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: --- osguess.o --- typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- rbl.o --- In file included from ./asmtpd.h:25: --- vrfy.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- rbl.o --- In file included from ../libasync/async.h:28: --- vrfy.o --- : public ihash_core ^ vrfy.C:175:70: note: in instantiation of template class 'ihash, equals >' requested here --- rbl.o --- In file included from ../libasync/amisc.h:29: --- vrfy.o --- static ihash mstab; ^ --- rbl.o --- In file included from ../libasync/err.h:28: --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- vrfy.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/callback.h:612: --- vrfy.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ vrfy.C:175:70: note: in instantiation of template class 'ihash, equals >' requested here --- rbl.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- static ihash mstab; ^ --- rbl.o --- typedef struct ref ref; --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ^ --- vrfy.o --- typedef struct ptr > ptr; ^ --- rbl.o --- ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ref > ref; ^ --- auth.o --- typedef struct ref > ref; ^ --- synfp.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- auth.o --- ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here --- synfp.o --- typedef callback::ref cb_t; ^ --- auth.o --- typedef callback::ref cb_t; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: --- synfp.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr > ptr; ^ --- auth.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here --- rbl.o --- In file included from ../libasync/async.h:28: --- smtpd.o --- typedef callback::ref cbb; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr ptr; ^ --- auth.o --- typedef struct ptr ptr; ^ --- smtpd.o --- typedef struct ptr > ptr; ^ --- synfp.o --- ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here --- auth.o --- ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here --- synfp.o --- cb_t cb; ^ --- auth.o --- cb_t cb; ^ --- rbl.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- quota.o --- In file included from quota.C:25: ./rawnet.h:129:1: warning: 'synfp_collect' defined as a class here but previously declared as a struct [-Wmismatched-tags] class synfp_collect { ^ ./asmtpd.h:63:1: note: did you mean class here? struct synfp_collect; ^~~~~~ class --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- rcptcheck.o --- typedef struct ref > ref; ^ --- quota.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here --- rcptcheck.o --- ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here --- rcptcheck.o --- typedef callback, str, bool *>::ref confcb; ^ --- quota.o --- : public ihash_core ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- quota.o --- ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here --- rcptcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- &synfp_entry::synfp_entry::hlink> tab; ^ --- rcptcheck.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- quota.o --- typedef synfp_state::synfp_entry cbentry_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here --- rcptcheck.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from addrparse.C:32: --- quota.o --- : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here --- addrparse.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- rcptcheck.o --- typedef struct ref ref; ^ --- addrparse.o --- In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here --- quota.o --- &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here --- addrparse.o --- struct bssstr : public str { ^ --- rcptcheck.o --- confcb::ptr cnfcb; ^ --- quota.o --- typedef synfp_state::synfp_entry fpentry_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- rbl.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:176:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rbl.o --- ptr get_mxl () const { return mxl; } --- quota.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ^ --- quota.o --- typedef struct ptr > ptr; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:180:16: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- runprog.o --- const ptr rblcon; ^ --- quota.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:185:25: note: in instantiation of template class 'ref' requested here const ref is; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ptr mxl; ^ --- quota.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- synfp.o --- ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- quota.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- auth.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ --- quota.o --- : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here --- synfp.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^ --- auth.o --- ../libasync/suio++.h:46:7: note: previous use is here --- synfp.o --- ../libasync/suio++.h:46:7: note: previous use is here --- quota.o --- &icmpsock::icmpclnt::hlink> cbtab; ^ --- auth.o --- class suio { ^ --- synfp.o --- class suio { ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: --- auth.o --- ../libasync/suio++.h:250:28: note: did you mean class here? --- synfp.o --- ../libasync/suio++.h:250:28: note: did you mean class here? --- rbl.o --- In file included from ../libasync/async.h:28: --- synfp.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); --- auth.o --- extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class --- synfp.o --- ^~~~~~ class --- rbl.o --- In file included from ../libasync/amisc.h:29: --- auth.o --- ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/err.h:28: --- auth.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^ --- synfp.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here --- auth.o --- ../libasync/suio++.h:46:7: note: previous use is here --- synfp.o --- class suio { ^ --- auth.o --- class suio { ^ --- rbl.o --- In file included from ../libasync/str.h:29: --- auth.o --- ../libasync/suio++.h:251:27: note: did you mean class here? --- synfp.o --- ../libasync/suio++.h:251:27: note: did you mean class here? --- rbl.o --- In file included from ../libasync/suio++.h:30: --- synfp.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class --- auth.o --- extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- char *suio_flatten (const struct suio *); ^ --- synfp.o --- char *suio_flatten (const struct suio *); ^ --- auth.o --- ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- synfp.o --- ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- ../libasync/suio++.h:268:27: note: did you mean class here? --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- synfp.o --- ../libasync/suio++.h:268:27: note: did you mean class here? --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- char *suio_flatten (const struct suio *); ^~~~~~ class --- synfp.o --- char *suio_flatten (const struct suio *); ^~~~~~ class --- rcptcheck.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- rbl.o --- typedef struct ref > ref; --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: --- rcptcheck.o --- void traverse (typename callback::ref cb) { ^ --- asmtpd.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- rbl.o --- ^ --- asmtpd.o --- struct bssstr : public str { ^ --- rcptcheck.o --- : public ihash_core ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- asmtpd.o --- ../libasync/str.h:91:10: note: did you mean struct here? --- quota.o --- typedef struct ptr ptr; ^ ./rawnet.h:232:17: note: in instantiation of template class 'ref' requested here --- asmtpd.o --- friend class bssstr; ^~~~~ struct --- rcptcheck.o --- ihash tab; ^ --- quota.o --- ref setcb (in_addr a, cb_t cb) ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ref ref; ^ --- rcptcheck.o --- typedef struct ref > ref; ^ --- runprog.o --- ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here --- rcptcheck.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- runprog.o --- const ptr ptr_cache; ^ --- rcptcheck.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- rbl.o --- typedef callback >::ref runprogcb_t; --- rcptcheck.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- rbl.o --- ^ --- rcptcheck.o --- ihash tab; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/err.h:28: --- addrparse.o --- typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:240:11: note: in instantiation of template class 'callback' requested here --- rbl.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- typedef callback::ref cb_t; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/vec.h:43:27: note: in instantiation of template class 'ref >' requested here char defbuf_space[N * sizeof (elm_t)]; ^ ../libasync/vec.h:41:3: note: in instantiation of member class 'vec_base >, 1>::(anonymous)' requested here union { ^ ../libasync/vec.h:74:52: note: in instantiation of template class 'vec_base >, 1>' requested here template class vec : public vec_base { ^ ./rawnet.h:261:16: note: in instantiation of template class 'vec >, 1>' requested here vec cbvec; ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- mxcheck.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- mxcheck.C:149:11: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here mxcache.clear (); ^ --- smtpd.o --- typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- smtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- mxcheck.o --- In file included from mxcheck.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- mxcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ref > ref; ^ --- smtpd.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here --- smtpd.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- mxcheck.o --- typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ --- runprog.o --- typedef callback >::ref runprogcb_t; ^ --- smtpd.o --- typedef struct ptr > ptr; ^ --- mxcheck.o --- mxcheck.C:149:11: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: --- mxcheck.o --- mxcache.clear (); ^ --- runprog.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- rbl.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ quota.C:27:60: note: in instantiation of template class 'ihash, equals >' requested here ihash iitab; ^ --- rbl.o --- typedef struct ref > ref; --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- ^ --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- rbl.o --- ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here --- quota.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ quota.C:27:60: note: in instantiation of template class 'ihash, equals >' requested here ihash iitab; ^ --- rbl.o --- typedef callback::ref cb_t; --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ^ --- quota.o --- typedef struct ptr > ptr; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ vrfy.C:260:18: note: in instantiation of template class 'ref >' requested here ref > cv = New refcounted > (cmds); ^ --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- runprog.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- quota.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ quota.C:28:62: note: in instantiation of template class 'ihash, equals >' requested here --- runprog.o --- typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here --- quota.o --- ihash uitab; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- typedef callback::ref cb_t; ^ --- quota.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ptr > ptr; ^ --- quota.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ quota.C:28:62: note: in instantiation of template class 'ihash, equals >' requested here ihash uitab; ^ In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from ../libasync/callback.h:612: --- runprog.o --- In file included from runprog.C:25: --- enqmsg.o --- typedef struct ptr ptr; ^ --- runprog.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- enqmsg.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- runprog.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- enqmsg.o --- core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- runprog.o --- typedef struct ref > ref; ^ --- enqmsg.o --- ~qhash () { clear (); } ^ --- runprog.o --- ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- enqmsg.o --- ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- netpath.o --- In file included from netpath.C:24: --- runprog.o --- void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here --- netpath.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- runprog.o --- tailq reslist; ^ --- netpath.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- netpath.o --- typedef struct ref ref; ^ netpath.C:656:22: note: in instantiation of template class 'ptr' requested here --- runprog.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- netpath.o --- static ptr is; ^ --- rbl.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ptr > ptr; ^ --- rbl.o --- typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- enqmsg.o --- In file included from enqmsg.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ quota.C:45:19: note: in instantiation of template class 'ref >' requested here iitab.traverse (&ipinfo::maybe_delete); ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ quota.C:45:19: note: in instantiation of template class 'ref >' requested here --- rbl.o --- In file included from ../libasync/suio++.h:30: --- quota.o --- iitab.traverse (&ipinfo::maybe_delete); ^ --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ --- rbl.o --- ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ quota.C:46:19: note: in instantiation of template class 'ref >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- quota.o --- uitab.traverse (&userinfo::maybe_delete); ^ --- osguess.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- osguess.o --- typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- rbl.o --- ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from rbl.C:24: --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- rbl.o --- In file included from ./asmtpd.h:25: --- quota.o --- quota.C:46:19: note: in instantiation of template class 'ref >' requested here uitab.traverse (&userinfo::maybe_delete); ^ --- rbl.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- rbl.o --- In file included from rbl.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- qhash table; ^ --- asmtpd.o --- typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- runprog.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ref > ref; ^ --- asmtpd.o --- typedef struct ref > ref; ^ --- runprog.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- asmtpd.o --- ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- runprog.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here --- runprog.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef callback::ref cbb; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- typedef struct ptr > ptr; ^ --- rbl.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- smtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- smtpd.o --- typedef struct ref > ref; ^ --- osguess.o --- ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here --- smtpd.o --- ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ --- osguess.o --- virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef callback, int>::ref cbmxlist; ^ --- asmtpd.o --- typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- smtpd.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- smtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- osguess.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- smtpd.o --- typedef callback, int>::ref cbtxtlist; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- osguess.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here --- addrparse.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ --- smtpd.o --- cbsrvlist cb, bool search = false) ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- typedef callback::ref cb_t; ^ --- addrparse.o --- typedef struct ref > ref; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ --- runprog.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- addrparse.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef struct ref ref; ^ --- runprog.o --- typedef struct ptr ptr; ^ --- addrparse.o --- ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- runprog.o --- ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- addrparse.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- rbl.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ vrfy.C:355:11: note: in instantiation of template class 'callback >' requested here typedef callback >::ref cb_t; ^ In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: --- vrfy.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- typedef struct ptr > ptr; ^ --- runprog.o --- typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- synfp.o --- ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] --- vrfy.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- synfp.o --- struct bssstr : public str { ^ --- vrfy.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: --- auth.o --- ../libasync/str.h:91:10: note: did you mean struct here? --- rcptcheck.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- vrfy.o --- typedef struct ptr ptr; ^ vrfy.C:358:8: note: in instantiation of template class 'ref > >' requested here --- auth.o --- friend class bssstr; ^~~~~ struct --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- vrfy.o --- cb_t cb; ^ --- rcptcheck.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef struct ref ref; ^ --- synfp.o --- ../libasync/str.h:91:10: note: did you mean struct here? --- rcptcheck.o --- ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here --- synfp.o --- friend class bssstr; ^~~~~ struct --- rcptcheck.o --- rcb_t rcb; ^ --- rbl.o --- typedef struct ref > ref; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- rbl.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- asmtpd.o --- void identptr (int fd, callback, int>::ref, ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- void traverse (typename callback::ref cb) { ^ --- asmtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- typedef struct ptr > ptr; ^ --- runprog.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- : public ihash_core, kludge> { ^ --- runprog.o --- typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- runprog.o --- typedef struct ptr > ptr; ^ --- rbl.o --- qhash table; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- rbl.o --- : public ihash_core, kludge> { --- vrfy.o --- vrfy.C:368:25: note: in instantiation of template class 'ref, int, void> >' requested here --- rbl.o --- ^ --- vrfy.o --- dns_mxbyname (name, wrap (this, &mxconnect::mxcb)); ^ --- rbl.o --- ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from rbl.C:24: --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- rbl.o --- In file included from ./asmtpd.h:25: --- rcptcheck.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- rbl.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ runprog.C:39:15: note: in instantiation of template class 'ref, void, void> >' requested here runprogcb_t cb; ^ In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ runprog.C:42:16: note: in instantiation of template class 'ref' requested here ref po; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr ptr; ^ --- rcptcheck.o --- typedef struct ptr ptr; --- synfp.o --- ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here --- rcptcheck.o --- ^ --- auth.o --- typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here --- synfp.o --- const ref uio; ^ --- rcptcheck.o --- ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- auth.o --- const ref uio; ^ --- rcptcheck.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ vrfy.C:396:24: note: in instantiation of template class 'ref, int, void> >' requested here dns_hostbyname (a, wrap (this, &mxconnect::tryip, a)); ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- asmtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- addrparse.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- smtpd.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here --- addrparse.o --- typedef struct ref > ref; ^ --- smtpd.o --- confcb::ptr cnfcb; ^ --- addrparse.o --- ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- addrparse.o --- typedef struct ptr > ptr; ^ --- osguess.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- asmtpd.o --- typedef callback, int>::ref cbmxlist; ^ --- osguess.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here --- asmtpd.o --- typedef struct ptr > ptr; ^ --- osguess.o --- ptr rs; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- addrparse.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef struct ref ref; ^ --- addrparse.o --- typedef struct ref > ref; ^ --- smtpd.o --- ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- addrparse.o --- ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- smtpd.o --- confcb::ptr cnfcb; ^ --- asmtpd.o --- typedef callback, int>::ref cbsrvlist; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- addrparse.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- asmtpd.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rbl.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- smtpd.o --- ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here --- asmtpd.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- cbs::ptr scb; ^ --- asmtpd.o --- typedef struct ptr ptr; ^ --- rbl.o --- ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here --- asmtpd.o --- ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- rbl.o --- typedef callback::ref cb_t; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- smtpd.o --- cbs::ptr scb; ^ --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- smtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef struct ptr > ptr; ^ --- rbl.o --- typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- osguess.o --- void traverse (typename callback::ref cb) const { ^ --- vrfy.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- vrfy.o --- typedef struct ptr ptr; ^ --- osguess.o --- : public ihash_core, kludge> { ^ --- vrfy.o --- vrfy.C:456:31: note: in instantiation of template class 'ref, void> >' requested here --- osguess.o --- ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ --- vrfy.o --- vrfy_mkcb (str addr, vrfycb_t cb, str msg, ptr mxl) ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- osguess.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- asmtpd.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- bhash nocheck; ^ --- asmtpd.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here --- osguess.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- asmtpd.o --- confcb::ptr cnfcb; ^ --- osguess.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: --- rcptcheck.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- rcptcheck.o --- typedef struct ref ref; ^ --- asmtpd.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here --- asmtpd.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here --- rcptcheck.o --- ptr rs; ^ --- asmtpd.o --- cbs::ptr scb; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- addrparse.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef callback, int>::ref cbhent; ^ --- osguess.o --- typedef struct ref > ref; ^ --- addrparse.o --- In file included from addrparse.C:32: --- osguess.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- addrparse.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- addrparse.o --- typedef struct ptr > ptr; ^ --- osguess.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef callback, int>::ref cbmxlist; ^ --- osguess.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- addrparse.o --- typedef struct ptr > ptr; ^ --- osguess.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef callback, int>::ref cbsrvlist; ^ --- asmtpd.o --- typedef struct ref > ref; ^ --- addrparse.o --- In file included from addrparse.C:32: --- asmtpd.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- addrparse.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- addrparse.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- addrparse.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- ihash tab; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- addrparse.o --- typedef struct ref > ref; ^ --- asmtpd.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- addrparse.o --- ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here --- asmtpd.o --- : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- addrparse.o --- typedef callback, int>::ref cbtxtlist; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- ihash tab; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ref > ref; ^ --- auth.o --- typedef struct ref > ref; ^ --- synfp.o --- ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here --- auth.o --- ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here --- synfp.o --- typedef callback::ref cbi; ^ --- auth.o --- typedef callback::ref cbi; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr > ptr; ^ --- auth.o --- typedef struct ptr > ptr; ^ --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ref > ref; ^ --- auth.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here --- synfp.o --- ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here --- auth.o --- typedef callback::ref cbs; ^ --- synfp.o --- typedef callback::ref cbs; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef struct ptr ptr; ^ --- synfp.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ --- auth.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ref > ref; ^ --- synfp.o --- typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here --- auth.o --- ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here --- synfp.o --- typedef callback::ref cbb; ^ --- auth.o --- typedef callback::ref cbb; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- synfp.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr > ptr; ^ --- auth.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- addrparse.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- quota.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- rbl.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- quota.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- rbl.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- quota.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- rbl.o --- typedef struct ptr ptr; ^ rbl.C:95:19: note: in instantiation of template class 'ref' requested here --- quota.o --- map_base () : loadno (0) {} ^ --- rbl.o --- ref stat; ^ --- quota.o --- In file included from quota.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- auth.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- rcptcheck.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- synfp.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ --- auth.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- auth.o --- typedef struct ref ref; ^ --- rcptcheck.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- auth.o --- ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here --- rcptcheck.o --- bhash bindaddrh; ^ In file included from rcptcheck.C:24: --- synfp.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- auth.o --- cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- rcptcheck.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- rcptcheck.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- rbl.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- rcptcheck.o --- : public ihash_core, kludge> { ^ --- rbl.o --- rbl.C:112:11: note: in instantiation of template class 'ref' requested here --- rcptcheck.o --- ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ --- rbl.o --- if (!(rblv[i]->flags & (rbl::QUERY_IP | rbl::QUERY_PTR))) ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- rbl.o --- typedef struct ptr ptr; ^ rbl.C:117:29: note: in instantiation of template class 'ref, int, void> >' requested here dns_hostbyname (name, wrap (this, &rbl_check::result, rblv[i]), ^ --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rcptcheck.o --- typedef struct ref > ref; ^ --- osguess.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- osguess.o --- typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here --- rcptcheck.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- osguess.o --- ptr mxl; ^ --- rcptcheck.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- auth.o --- void chldcb (pid_t, cbi::ptr); ^ --- synfp.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- synfp.o --- In file included from synfp.C:24: --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- auth.o --- typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- smtpd.o --- typedef struct ref ref; ^ --- synfp.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- auth.o --- void identptr (int fd, callback, int>::ref, ^ --- synfp.o --- typedef struct ref > ref; ^ --- addrparse.o --- In file included from addrparse.C:32: --- synfp.o --- ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here --- addrparse.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- addrparse.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- void identptr (int fd, callback, int>::ref, ^ --- addrparse.o --- typedef struct ref > ref; ^ --- auth.o --- typedef struct ptr > ptr; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- synfp.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef callback, str, bool *>::ref confcb; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef struct ptr > ptr; ^ --- auth.o --- typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- synfp.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- synfp.o --- typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- synfp.o --- void ident (int fd, callback::ref, unsigned timeout = 15); ^ --- auth.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: --- auth.o --- typedef struct ptr > ptr; ^ --- synfp.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr > ptr; ^ --- osguess.o --- typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- osguess.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ --- osguess.o --- typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef callback::ref cb_t; ^ --- smtpd.o --- In file included from smtpd.C:24: --- rcptcheck.o --- typedef struct ref ref; ^ --- smtpd.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rcptcheck.o --- ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here --- smtpd.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- const ptr rblcon; ^ --- smtpd.o --- typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- osguess.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- smtpd.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- asmtpd.o --- ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- osguess.o --- typedef struct ref > ref; ^ --- smtpd.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- smtpd.o --- typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here --- osguess.o --- void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ --- smtpd.o --- virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- rcptcheck.o --- typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here --- asmtpd.o --- ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- rcptcheck.o --- const ptr ptr_cache; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- osguess.o --- In file included from osguess.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- osguess.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ihash tab; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- asmtpd.o --- typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- addrparse.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- addrparse.o --- typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rcptcheck.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- osguess.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- typedef struct ptr > ptr; ^ --- rcptcheck.o --- typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- vrfy.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- vrfy.o --- typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- rcptcheck.o --- typedef struct ref > ref; ^ --- vrfy.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- rcptcheck.o --- ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- vrfy.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- rcptcheck.o --- void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- vrfy.o --- In file included from vrfy.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- synfp.o --- ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- vrfy.o --- core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- synfp.o --- typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- vrfy.o --- map_base () : loadno (0) {} ^ --- synfp.o --- typedef callback, str, bool *>::ref confcb; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: --- asmtpd.o --- typedef struct ref ref; ^ --- auth.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here --- auth.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ptr h; ^ --- auth.o --- typedef struct ptr > ptr; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- asmtpd.o --- In file included from asmtpd.C:24: --- auth.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ref > ref; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] --- asmtpd.o --- typedef struct ref ref; ^ --- auth.o --- ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here --- asmtpd.o --- ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here --- rcptcheck.o --- class enqmsg { ^ --- asmtpd.o --- ptr rs; ^ --- auth.o --- typedef callback, int>::ref cbmxlist; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ./asmtpd.h:354:1: note: did you mean class here? --- synfp.o --- typedef struct ref ref; ^ --- rcptcheck.o --- struct enqmsg; ^~~~~~ class --- synfp.o --- ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- auth.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here --- auth.o --- typedef struct ptr > ptr; ^ --- synfp.o --- cbs::ptr scb; ^ --- osguess.o --- typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- typedef struct ptr ptr; ^ --- osguess.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- auth.o --- ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here --- osguess.o --- In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- cbsrvlist cb, bool search = false) ^ --- osguess.o --- typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- osguess.o --- cb_t::ptr cb; ^ --- auth.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- rcptcheck.o --- typedef struct ref > ref; ^ --- asmtpd.o --- bhash bindaddrh; ^ --- rcptcheck.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- rcptcheck.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- rcptcheck.o --- qhash table; ^ --- smtpd.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- smtpd.o --- typedef struct ref ref; ^ --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- rcptcheck.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- asmtpd.o --- void traverse (typename callback::ref cb) const { ^ --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ihash tab; ^ --- osguess.o --- typedef struct ref ref; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- osguess.o --- ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here --- synfp.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- ptr > loopcheck = NULL, int recdepth = 0); ^ --- synfp.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- synfp.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- asmtpd.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- synfp.o --- void traverse (typename callback::ref cb) const { ^ --- asmtpd.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- synfp.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- asmtpd.o --- bhash nocheck; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- synfp.o --- : public ihash_core ^ --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- synfp.o --- ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here --- asmtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- synfp.o --- ihash tab; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- synfp.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- typedef struct ptr ptr; ^ --- asmtpd.o --- typedef struct ref > ref; ^ --- rcptcheck.o --- ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here --- asmtpd.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- rcptcheck.o --- cb_t::ptr cb; ^ --- asmtpd.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ osguess.C:44:32: note: in instantiation of template class 'tailq' requested here tailq q; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:52:5: note: in instantiation of template class 'ref' requested here V value; ^ ../libasync/qhash.h:61:5: note: in instantiation of template class 'qhash_slot >' requested here = &qhash_slot::link> ^ osguess.C:52:8: note: in instantiation of default argument for 'qhash, hashfn, equals, qhash_lookup_return > >' required here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- osguess.o --- static qhash > ostab; ^~~~~~~~~~~~~~~~~~~~~~~~~~ --- smtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- smtpd.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- rcptcheck.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- rcptcheck.o --- typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here --- smtpd.o --- bhash bindaddrh; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- rcptcheck.o --- ptr > loopcheck = NULL, int recdepth = 0); ^ --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback > *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core >, &qhash_slot >::link>' requested here : public ihash_core, kludge> { ^ osguess.C:52:35: note: in instantiation of template class 'qhash, hashfn, equals, qhash_lookup_return >, &qhash_slot >::link>' requested here static qhash > ostab; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- osguess.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here --- osguess.o --- typedef struct ref > ref; ^ --- rcptcheck.o --- typedef callback::ref spfckcb_t; ^ --- osguess.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback > &, void, void>' requested here --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- osguess.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core >, &qhash_slot >::link>' requested here --- rcptcheck.o --- typedef struct ptr > ptr; ^ --- osguess.o --- : public ihash_core, kludge> { ^ osguess.C:52:35: note: in instantiation of template class 'qhash, hashfn, equals, qhash_lookup_return >, &qhash_slot >::link>' requested here static qhash > ostab; ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- typedef struct ptr ptr; ^ --- smtpd.o --- typedef struct ref > ref; ^ --- rbl.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- smtpd.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- rbl.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- smtpd.o --- void traverse (typename callback::ref cb) { ^ --- rbl.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- smtpd.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- rbl.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- smtpd.o --- : public ihash_core, kludge> { ^ --- rbl.o --- map_base () : loadno (0) {} ^ --- smtpd.o --- ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ --- rbl.o --- In file included from rbl.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- rbl.o --- typedef struct ptr ptr; ^ --- smtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- rbl.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- smtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- rbl.o --- core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- smtpd.o --- typedef struct ptr > ptr; ^ --- rbl.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- auth.o --- typedef struct ref > ref; ^ --- asmtpd.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here --- asmtpd.o --- typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- auth.o --- typedef callback, str, bool *>::ref confcb; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- smtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- asmtpd.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here --- smtpd.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- ptr get_mxl () const { return mxl; } ^ --- smtpd.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- smtpd.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- runprog.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- smtpd.o --- : public ihash_core, kludge> { ^ --- runprog.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- smtpd.o --- ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ --- runprog.o --- core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- runprog.o --- ~qhash () { clear (); } ^ --- smtpd.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- runprog.o --- ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- smtpd.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- typedef callback >::ref runprogcb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ --- asmtpd.o --- typedef struct ptr > ptr; ^ --- runprog.o --- In file included from runprog.C:25: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- runprog.o --- map_base () : loadno (0) {} ^ --- auth.o --- In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- asmtpd.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ osguess.C:134:24: note: in instantiation of template class 'ptr' requested here ptr ol = ostab[ln]; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from asmtpd.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here --- asmtpd.o --- ./asmtpd.h:354:1: note: did you mean class here? --- addrparse.o --- { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- asmtpd.o --- struct enqmsg; ^~~~~~ class --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here --- addrparse.o --- typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here --- asmtpd.o --- typedef callback >::ref vrfycb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- addrparse.o --- virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- asmtpd.o --- ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- asmtpd.o --- typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ptr > loopcheck = NULL, int recdepth = 0); ^ --- addrparse.o --- typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- addrparse.o --- aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- smtpd.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from smtpd.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- synfp.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- synfp.o --- typedef synfp_state::synfp_entry cbentry_t; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here --- synfp.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- ptr rs; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ --- asmtpd.o --- In file included from asmtpd.C:25: ./rawnet.h:129:1: warning: 'synfp_collect' defined as a class here but previously declared as a struct [-Wmismatched-tags] class synfp_collect { ^ ./asmtpd.h:63:1: note: did you mean class here? struct synfp_collect; ^~~~~~ class In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ --- addrparse.o --- ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- asmtpd.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- smtpd.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- synfp.o --- ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ --- addrparse.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; --- asmtpd.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here --- smtpd.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- synfp.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- addrparse.o --- ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- asmtpd.o --- : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- smtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from smtpd.C:24: --- synfp.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:176:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- asmtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ --- smtpd.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:180:16: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: --- addrparse.o --- bhash nocheck; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- synfp.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:185:25: note: in instantiation of template class 'ref' requested here const ref is; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ --- asmtpd.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- synfp.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:232:17: note: in instantiation of template class 'ref' requested here ref setcb (in_addr a, cb_t cb) ^ --- asmtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ --- asmtpd.o --- typedef synfp_state::synfp_entry fpentry_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ --- synfp.o --- typedef struct ref > ref; ^ ./rawnet.h:240:11: note: in instantiation of template class 'callback' requested here --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef callback::ref cb_t; ^ --- addrparse.o --- typedef struct ptr > ptr; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:176:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- asmtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:180:16: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- asmtpd.o --- typedef struct ptr ptr; ^ ./rawnet.h:185:25: note: in instantiation of template class 'ref' requested here const ref is; ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/vec.h:43:27: note: in instantiation of template class 'ref >' requested here --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- synfp.o --- char defbuf_space[N * sizeof (elm_t)]; ^ --- osguess.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/vec.h:41:3: note: in instantiation of member class 'vec_base >, 1>::(anonymous)' requested here union { ^ --- osguess.o --- typedef struct ptr ptr; ^ --- synfp.o --- ../libasync/vec.h:74:52: note: in instantiation of template class 'vec_base >, 1>' requested here --- osguess.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here --- synfp.o --- template class vec : public vec_base { ^ --- osguess.o --- core::traverse (wrap (this, &qhash::delslot)); ^ --- synfp.o --- ./rawnet.h:261:16: note: in instantiation of template class 'vec >, 1>' requested here --- osguess.o --- ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- synfp.o --- vec cbvec; ^ --- osguess.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here --- osguess.o --- typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- asmtpd.o --- void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here --- osguess.o --- core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here --- asmtpd.o --- &icmpsock::icmpclnt::hlink> cbtab; ^ --- osguess.o --- ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- osguess.o --- map_base () : loadno (0) {} ^ --- asmtpd.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:232:17: note: in instantiation of template class 'ref' requested here ref setcb (in_addr a, cb_t cb) ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:240:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ --- asmtpd.o --- ../libasync/vec.h:43:27: note: in instantiation of template class 'ref >' requested here char defbuf_space[N * sizeof (elm_t)]; ^ ../libasync/vec.h:41:3: note: in instantiation of member class 'vec_base >, 1>::(anonymous)' requested here union { ^ ../libasync/vec.h:74:52: note: in instantiation of template class 'vec_base >, 1>' requested here template class vec : public vec_base { ^ ./rawnet.h:261:16: note: in instantiation of template class 'vec >, 1>' requested here vec cbvec; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ --- osguess.o --- In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref > *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ osguess.C:113:9: note: in instantiation of member function 'qhash, hashfn, equals, qhash_lookup_return >, &qhash_slot >::link>::clear' requested here ostab.clear (); ^ In file included from osguess.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref > &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ osguess.C:113:9: note: in instantiation of member function 'qhash, hashfn, equals, qhash_lookup_return >, &qhash_slot >::link>::clear' requested here ostab.clear (); ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:62:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ asmtpd.C:54:40: note: in instantiation of template class 'list' requested here static list listen_list; ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- addrparse.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here --- asmtpd.o --- In file included from ../libasync/suio++.h:30: --- addrparse.o --- typedef callback::ref cb_t; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- asmtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here --- smtpd.o --- In file included from smtpd.C:25: ./rawnet.h:129:1: warning: 'synfp_collect' defined as a class here but previously declared as a struct [-Wmismatched-tags] class synfp_collect { ^ --- asmtpd.o --- void traverse (typename callback::ref cb) const { ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- synfp.o --- typedef struct ref > ref; ^ --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- addrparse.o --- typedef struct ref > ref; ^ --- asmtpd.o --- : public ihash_core --- synfp.o --- void traverse (typename callback::ref cb) { ^ --- addrparse.o --- ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- synfp.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- ^ --- addrparse.o --- void traverse (typename callback::ref cb) const { ^ --- synfp.o --- : public ihash_core, kludge> { ^ --- addrparse.o --- ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here --- synfp.o --- synfp.C:85:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen; ^ --- addrparse.o --- tailq reslist; ^ --- smtpd.o --- ./asmtpd.h:63:1: note: did you mean class here? --- synfp.o --- In file included from synfp.C:24: --- addrparse.o --- In file included from addrparse.C:32: --- smtpd.o --- struct synfp_collect; ^~~~~~ class --- synfp.o --- In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- addrparse.o --- In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- synfp.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- asmtpd.C:56:41: note: in instantiation of template class 'ihash, equals >' requested here &listener::sin, &listener::hlink> listen_tab; ^ --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: --- synfp.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- asmtpd.o --- In file included from ../libasync/async.h:28: --- synfp.o --- : public ihash_core, kludge> { ^ synfp.C:85:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen; ^ --- asmtpd.o --- In file included from ../libasync/amisc.h:29: --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ../libasync/err.h:28: --- synfp.o --- typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:136:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry cbentry_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback::synfp_entry *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here --- auth.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here --- auth.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- smtpd.o --- typedef synfp_state::synfp_entry fpentry_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- auth.o --- void traverse (typename callback::ref cb) const { ^ --- smtpd.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- auth.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- smtpd.o --- ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- : public ihash_core, kludge> { ^ --- smtpd.o --- typedef struct ptr > ptr; ^ --- auth.o --- ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback::synfp_entry &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core::synfp_entry, &synfp_state::synfp_entry::hlink>' requested here : public ihash_core ^ ./rawnet.h:103:36: note: in instantiation of template class 'ihash::synfp_entry, &synfp_state::synfp_entry::sin, &synfp_state::synfp_entry::hlink, hashfn, equals >' requested here &synfp_entry::synfp_entry::hlink> tab; ^ ./rawnet.h:137:11: note: in instantiation of template class 'synfp_state' requested here typedef synfp_state::synfp_entry fpentry_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- addrparse.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here --- auth.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- auth.o --- : public ihash_core, kludge> { ^ --- smtpd.o --- typedef struct ref > ref; ^ --- auth.o --- ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here --- smtpd.o --- ./rawnet.h:176:11: note: in instantiation of template class 'callback' requested here --- addrparse.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here --- auth.o --- bhash nocheck; ^ --- addrparse.o --- qhash table; ^ --- smtpd.o --- typedef callback::ref cb_t; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- auth.o --- In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- addrparse.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:180:16: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./rawnet.h:185:25: note: in instantiation of template class 'ref' requested here const ref is; ^ --- auth.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here --- auth.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here --- auth.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- smtpd.o --- &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: --- auth.o --- void traverse (typename callback::ref cb) const { ^ --- smtpd.o --- In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- smtpd.o --- typedef struct ptr > ptr; ^ --- auth.o --- : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- typedef struct ptr > ptr; ^ --- smtpd.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ./rawnet.h:208:30: note: in instantiation of template class 'ihash, equals >' requested here &icmpsock::icmpclnt::hlink> cbtab; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ synfp.C:150:18: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- typedef struct ptr > ptr; ^ --- addrparse.o --- typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- smtpd.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- synfp.o --- typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- smtpd.o --- ./rawnet.h:232:17: note: in instantiation of template class 'ref' requested here ref setcb (in_addr a, cb_t cb) ^ --- synfp.o --- void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ synfp.C:150:18: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./rawnet.h:240:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/vec.h:43:27: note: in instantiation of template class 'ref >' requested here char defbuf_space[N * sizeof (elm_t)]; ^ ../libasync/vec.h:41:3: note: in instantiation of member class 'vec_base >, 1>::(anonymous)' requested here union { ^ ../libasync/vec.h:74:52: note: in instantiation of template class 'vec_base >, 1>' requested here template class vec : public vec_base { ^ ./rawnet.h:261:16: note: in instantiation of template class 'vec >, 1>' requested here vec cbvec; ^ --- rcptcheck.o --- In file included from rcptcheck.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- rcptcheck.o --- core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ --- addrparse.o --- typedef struct ref > ref; ^ --- rcptcheck.o --- ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- addrparse.o --- ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here --- rcptcheck.o --- map_base () : loadno (0) {} ^ --- addrparse.o --- typedef callback::ref spfckcb_t; ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ synfp.C:292:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] --- auth.o --- void traverse (typename callback::ref cb) const { ^ --- synfp.o --- typedef struct ref > ref; ^ --- auth.o --- ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here --- synfp.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here --- auth.o --- tailq reslist; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: --- synfp.o --- void traverse (typename callback::ref cb) const { ^ --- auth.o --- In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- synfp.o --- ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here --- auth.o --- typedef struct ptr > ptr; ^ --- synfp.o --- : public ihash_core, kludge> { ^ synfp.C:292:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ asmtpd.C:188:19: note: in instantiation of template class 'ref, int> >' requested here identptr (fd, wrap (this, &newcon::ident_cb), opt->ident_timeout); ^ --- synfp.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ synfp.C:293:20: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen_port; ^ In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ synfp.C:293:20: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash seen_port; ^ --- auth.o --- In file included from auth.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: --- auth.o --- class enqmsg { ^ --- synfp.o --- In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ asmtpd.C:192:35: note: in instantiation of template class 'ref, int, void> >' requested here dns_hostbyaddr (sin.sin_addr, wrap (this, &newcon::ptr_cb)); ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ asmtpd.C:237:20: note: in instantiation of template class 'ref' requested here rbl_check_con (rs, opt->rbls, sin.sin_addr, ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ asmtpd.C:237:5: note: in instantiation of template class 'ref' requested here rbl_check_con (rs, opt->rbls, sin.sin_addr, ^ --- synfp.o --- In file included from synfp.C:24: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ synfp.C:478:16: note: in instantiation of template class 'ref' requested here ref s = New refcounted; ^ --- addrparse.o --- In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ In file included from addrparse.C:32: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:62:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ asmtpd.C:377:27: note: in instantiation of template class 'list' requested here for (smtpd *s = smtplist.first, *ns; s; s = ns) { ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- asmtpd.o --- In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: --- auth.o --- In file included from auth.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- asmtpd.o --- In file included from ../libasync/callback.h:612: --- auth.o --- typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- asmtpd.o --- ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- auth.o --- map_base () : loadno (0) {} ^ --- asmtpd.o --- typedef struct ptr ptr; ^ asmtpd.C:518:29: note: in instantiation of template class 'ref >' requested here spf_check (a, parse[3], wrap (spftst_2, line), parse[5]); ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ asmtpd.C:586:48: note: in instantiation of template class 'ref >' requested here avenge_c (aios_t in, strbuf sb, ref > cmdv, str line, int err) ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ In file included from asmtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- auth.o --- 88 warnings generated. mv -f .deps/auth.Tpo .deps/auth.Po --- starttls.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT starttls.o -MD -MP -MF .deps/starttls.Tpo -c -o starttls.o starttls.C --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./async_ssl.h:48:13: note: in instantiation of template class 'ptr' requested here ptr oldout; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async_ssl.h:86:22: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ smtpd.C:49:29: note: in instantiation of template class 'ihash, equals >' requested here &smtp_dispatch::link> dispatch_tab; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ smtpd.C:49:29: note: in instantiation of template class 'ihash, equals >' requested here &smtp_dispatch::link> dispatch_tab; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:62:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ smtpd.C:51:27: note: in instantiation of template class 'list' requested here list smtplist; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:300:22: note: in instantiation of template class 'ref' requested here rbl_check_env (rblenv, opt->rbls, relay, ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:300:7: note: in instantiation of template class 'ref' requested here rbl_check_env (rblenv, opt->rbls, relay, ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:334:30: note: in instantiation of template class 'ref >' requested here spf_check (ipaddr, addr, wrap (this, &smtpd::cmd_mail_3, addr), ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:344:35: note: in instantiation of template class 'ref, void> >' requested here vrfy (myipaddr, addr, ipaddr, wrap (this, &smtpd::cmd_mail_4, addr)); ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:719:7: note: in instantiation of template class 'ref' requested here wrap (this, &smtpd::data_3, avc), ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:719:7: note: in instantiation of template class 'ref, void, void> >' requested here wrap (this, &smtpd::data_3, avc), ^ --- addrparse.o --- 88 warnings generated. --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ smtpd.C:913:26: note: in instantiation of template class 'ref, int, void> >' requested here dns_hostbyaddr (a, wrap (relaunch, myfd, myfd, nn, a)); ^ --- addrparse.o --- mv -f .deps/addrparse.Tpo .deps/addrparse.Po --- async_ssl.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT async_ssl.o -MD -MP -MF .deps/async_ssl.Tpo -c -o async_ssl.o async_ssl.C --- osguess.o --- 98 warnings generated. --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- osguess.o --- mv -f .deps/osguess.Tpo .deps/osguess.Po --- synos.o --- --- smtpd.o --- In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ In file included from smtpd.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ --- synos.o --- clang -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT synos.o -MD -MP -MF .deps/synos.Tpo -c -o synos.o synos.c --- smtpd.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- quota.o --- 121 warnings generated. --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- quota.o --- mv -f .deps/quota.Tpo .deps/quota.Po --- config.o --- clang++ -DHAVE_CONFIG_H -I. -I.. -I/usr/pkg/include/db4 -I/usr/include -I.. -I/usr/include/pcap -DETCDIR=\"/usr/pkg/etc/avenger\" -DLIBEXEC=\"/usr/pkg/libexec\" -DBINDIR=\"/usr/pkg/bin\" -DEXECDIR=LIBEXEC -DDATADIR=\"/usr/pkg/share\" -DPIDDIR=\"/var/run\" -I../libasync -O2 -I/usr/pkg/include/db4 -I/usr/include -Wall -MT config.o -MD -MP -MF .deps/config.Tpo -c -o config.o config.C --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- enqmsg.o --- 90 warnings generated. --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- enqmsg.o --- mv -f .deps/enqmsg.Tpo .deps/enqmsg.Po --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- mxcheck.o --- 100 warnings generated. --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- mxcheck.o --- mv -f .deps/mxcheck.Tpo .deps/mxcheck.Po --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ --- rbl.o --- 91 warnings generated. --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class --- rbl.o --- mv -f .deps/rbl.Tpo .deps/rbl.Po --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- async_ssl.o --- In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- synos.o --- mv -f .deps/synos.Tpo .deps/synos.Po --- async_ssl.o --- In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ --- runprog.o --- 90 warnings generated. --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:29: In file included from ../libasync/vec.h:30: ../libasync/array.h:85:29: warning: 'array' defined as a class template here but previously declared as a struct template [-Wmismatched-tags] template class array { ^ --- async_ssl.o --- In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ --- config.o --- ../libasync/array.h:75:29: note: did you mean class here? template struct array; ^~~~~~ class --- async_ssl.o --- In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ --- runprog.o --- mv -f .deps/runprog.Tpo .deps/runprog.Po --- async_ssl.o --- In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:673:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/suio++.h:52:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:674:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/suio++.h:57:10: note: in instantiation of template class 'ref >' requested here cb_t cb; ^ ../libasync/suio++.h:250:28: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_vuprintf (struct suio *, const char *, va_list); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:250:28: note: did you mean class here? extern void suio_vuprintf (struct suio *, const char *, va_list); ^~~~~~ class ../libasync/suio++.h:251:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] extern void suio_uprintf (struct suio *, const char *, ...) ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:251:27: note: did you mean class here? extern void suio_uprintf (struct suio *, const char *, ...) ^~~~~~ class ../libasync/suio++.h:268:27: warning: struct 'suio' was previously declared as a class [-Wmismatched-tags] char *suio_flatten (const struct suio *); ^ ../libasync/suio++.h:46:7: note: previous use is here class suio { ^ ../libasync/suio++.h:268:27: note: did you mean class here? char *suio_flatten (const struct suio *); ^~~~~~ class --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./async_ssl.h:48:13: note: in instantiation of template class 'ptr' requested here ptr oldout; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async_ssl.h:86:22: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ starttls.C:62:20: warning: 'RSA_generate_key' is deprecated [-Wdeprecated-declarations] ssl_tmpkey_key = RSA_generate_key (keylen, 17, NULL, NULL); ^ /usr/include/openssl/rsa.h:193:1: note: 'RSA_generate_key' has been explicitly marked deprecated here DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void ^ /usr/include/openssl/opensslconf.h:139:34: note: expanded from macro 'DEPRECATEDIN_0_9_8' # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) ^ /usr/include/openssl/opensslconf.h:102:53: note: expanded from macro 'DECLARE_DEPRECATED' # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); ^ --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: ../libasync/str.h:178:1: warning: 'bssstr' defined as a struct here but previously declared as a class [-Wmismatched-tags] struct bssstr : public str { ^ ../libasync/str.h:91:10: note: did you mean struct here? friend class bssstr; ^~~~~ struct --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ starttls.C:72:27: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here static qhash parmtab; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/str.h:273:19: note: in instantiation of template class 'ref' requested here const ref uio; ^ --- starttls.o --- ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ starttls.C:72:27: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here static qhash parmtab; ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ starttls.C:86:10: warning: 'DH_generate_parameters' is deprecated [-Wdeprecated-declarations] dh = DH_generate_parameters (len, 2, NULL, NULL); ^ /usr/include/openssl/dh.h:135:1: note: 'DH_generate_parameters' has been explicitly marked deprecated here DEPRECATEDIN_0_9_8(DH *DH_generate_parameters(int prime_len, int generator, ^ /usr/include/openssl/opensslconf.h:139:34: note: expanded from macro 'DEPRECATEDIN_0_9_8' # define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) ^ /usr/include/openssl/opensslconf.h:102:53: note: expanded from macro 'DECLARE_DEPRECATED' # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); ^ starttls.C:207:7: warning: 'RAND_pseudo_bytes' is deprecated [-Wdeprecated-declarations] if (RAND_pseudo_bytes (sessid, sizeof (sessid)) >= 0) ^ /usr/include/openssl/rand.h:47:1: note: 'RAND_pseudo_bytes' has been explicitly marked deprecated here DEPRECATEDIN_1_1_0(int RAND_pseudo_bytes(unsigned char *buf, int num)) ^ /usr/include/openssl/opensslconf.h:127:34: note: expanded from macro 'DEPRECATEDIN_1_1_0' # define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) ^ /usr/include/openssl/opensslconf.h:102:53: note: expanded from macro 'DECLARE_DEPRECATED' # define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); ^ --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:39:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbi; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:40:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbs; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/amisc.h:41:9: note: in instantiation of template class 'callback' requested here typedef callback::ref cbb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/amisc.h:104:16: note: in instantiation of template class 'ptr >' requested here cbv::ptr postforkcb = NULL, char *const *env = NULL); ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/async.h:39:21: note: in instantiation of template class 'ref >' requested here void chldcb (pid_t, cbi::ptr); ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:77:24: note: in instantiation of template class 'callback, int>' requested here void identptr (int fd, callback, int>::ref, ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/async.h:79:21: note: in instantiation of template class 'callback' requested here void ident (int fd, callback::ref, unsigned timeout = 15); ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- starttls.o --- starttls.C:267:13: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' if (char *vers = SSL_get_cipher_version (ssl->get_ssl ())) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ starttls.C:302:13: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' if (char *vers = SSL_get_cipher_version (ssl->get_ssl ())) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- config.o --- ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:104:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbhent; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:109:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbmxlist; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:112:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbsrvlist; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/dns.h:115:9: note: in instantiation of template class 'callback, int, void>' requested here typedef callback, int>::ref cbtxtlist; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/dns.h:120:19: note: in instantiation of template class 'ref, int, void> >' requested here cbsrvlist cb, bool search = false) ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/dns.h:122:10: note: in instantiation of template class 'ptr' requested here return dns_srvbyname (strbuf ("_%s._%s.%s", srv, proto, name), cb, search); ^ --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/parseopt.h:98:9: note: in instantiation of template class 'callback, str, bool *>' requested here typedef callback, str, bool *>::ref confcb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:114:3: note: in instantiation of template class 'ref, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:114:15: note: in instantiation of template class 'ptr, str, bool *> >' requested here confcb::ptr cnfcb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/parseopt.h:115:3: note: in instantiation of template class 'ref >' requested here cbs::ptr scb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/parseopt.h:115:12: note: in instantiation of template class 'ptr >' requested here cbs::ptr scb; ^ --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ starttls.C:72:27: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here static qhash parmtab; ^ --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ --- starttls.o --- In file included from starttls.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] --- starttls.o --- typedef struct ptr ptr; ^ --- config.o --- typedef struct ptr > ptr; ^ --- starttls.o --- ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ starttls.C:72:27: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here --- config.o --- ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ --- starttls.o --- static qhash parmtab; ^ --- config.o --- ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/ihash.h:229:12: note: in instantiation of template class 'ihash_core' requested here : public ihash_core ^ ../libasync/parseopt.h:178:71: note: in instantiation of template class 'ihash, equals >' requested here ihash tab; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- starttls.o --- 99 warnings and 2 errors generated. --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:45:9: note: in instantiation of template class 'ptr >' requested here rcb_t rcb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:58:39: note: in instantiation of template class 'ref >' requested here { infn = &aios::rnone; rcb_t::ref cb = rcb; rcb = NULL; (*cb) (s, err); } ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:67:29: note: in instantiation of template class 'ptr >' requested here virtual void mkwcb (wcb_t cb) { if (fd >= 0) (*cb) (err); } ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/aios.h:116:20: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ../libasync/aios.h:161:44: note: in instantiation of template class 'ptr' requested here aiosout (const aios_t::ptr &a) : strbuf (a->outb), s(a) { s->outstart (); } ^ --- starttls.o --- *** [starttls.o] Error code 1 make[2]: stopped in /data/scratch/mail/avenger/work/avenger-0.8.4/asmtpd --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:73:16: note: in instantiation of template class 'ptr' requested here ptr h; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:74:19: note: in instantiation of template class 'ptr' requested here ptr rs; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:187:22: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash bindaddrh; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:202:14: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash nocheck; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:213:22: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash warn_filter; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:373:31: note: in instantiation of template class 'ptr' requested here const ptr rblcon; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:386:15: note: in instantiation of template class 'ptr' requested here ptr mxl; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:454:28: note: in instantiation of template class 'ptr' requested here const ptr ptr_cache; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:473:21: note: in instantiation of template class 'ptr' requested here ptr get_mxl () const { return mxl; } ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:491:9: note: in instantiation of template class 'callback, void, void>' requested here typedef callback >::ref runprogcb_t; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:524:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:533:14: note: in instantiation of template class 'ref >' requested here const cb_t cb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/list.h:129:27: note: in instantiation of template class 'callback' requested here void traverse (typename callback::ref cb) const { ^ ./asmtpd.h:539:32: note: in instantiation of template class 'tailq' requested here tailq reslist; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: ./asmtpd.h:571:1: warning: 'enqmsg' defined as a class here but previously declared as a struct [-Wmismatched-tags] class enqmsg { ^ ./asmtpd.h:354:1: note: did you mean class here? struct enqmsg; ^~~~~~ class In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1699:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:617:9: note: in instantiation of template class 'callback, void>' requested here typedef callback >::ref vrfycb_t; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1700:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:63:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ ./asmtpd.h:622:19: note: in instantiation of template class 'qhash, equals, qhash_lookup_return, &qhash_slot::link>' requested here qhash table; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:694:11: note: in instantiation of template class 'callback' requested here typedef callback::ref cb_t; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:696:3: note: in instantiation of template class 'ref >' requested here cb_t::ptr cb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:696:13: note: in instantiation of template class 'ptr >' requested here cb_t::ptr cb; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./asmtpd.h:713:20: note: in instantiation of template class 'ref, equals, &qhash_slot::link> >' requested here ref > loopcheck; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./asmtpd.h:762:20: note: in instantiation of template class 'ptr, equals, &qhash_slot::link> >' requested here ptr > loopcheck = NULL, int recdepth = 0); ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2212:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ./asmtpd.h:770:9: note: in instantiation of template class 'callback' requested here typedef callback::ref spfckcb_t; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:2213:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ config.C:297:19: note: in instantiation of template class 'ref' requested here rbls.push_back (New refcounted (domain, flags, score)); ^ ../libasync/opnew.h:64:13: note: expanded from macro 'New' #define New new ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:196:27: note: in instantiation of template class 'callback *, void, void>' requested here void traverse (typename callback::ref cb) { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ config.C:471:25: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash cache; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ ../libasync/callback.h:1186:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref > ref; ^ ../libasync/ihash.h:204:27: note: in instantiation of template class 'callback &, void, void>' requested here void traverse (typename callback::ref cb) const { ^ ../libasync/qhash.h:149:12: note: in instantiation of template class 'ihash_core, &qhash_slot::link>' requested here : public ihash_core, kludge> { ^ config.C:471:25: note: in instantiation of template class 'bhash, equals, &qhash_slot::link>' requested here bhash cache; ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: ../libasync/callback.h:1187:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr > ptr; ^ --- async_ssl.o --- In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:482:11: warning: struct 'ref' was previously declared as a class [-Wmismatched-tags] typedef struct ref ref; ^ ./async_ssl.h:48:13: note: in instantiation of template class 'ptr' requested here ptr oldout; ^ In file included from async_ssl.C:24: In file included from ./async_ssl.h:28: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ./async_ssl.h:86:22: note: in instantiation of template class 'ref' requested here static ref alloc (int fd, size_t rbsz = defrbufsize) ^ --- config.o --- In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ ./asmtpd.h:626:3: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here map_base () : loadno (0) {} ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref *, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ config.C:54:10: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here options::options () ^ In file included from config.C:24: In file included from ./asmtpd.h:25: In file included from ../libasync/async.h:28: In file included from ../libasync/amisc.h:29: In file included from ../libasync/err.h:28: In file included from ../libasync/str.h:29: In file included from ../libasync/suio++.h:30: In file included from ../libasync/callback.h:612: ../libasync/refcnt.h:420:11: warning: struct 'ptr' was previously declared as a class [-Wmismatched-tags] typedef struct ptr ptr; ^ ../libasync/qhash.h:90:21: note: in instantiation of template class 'ref &, void, void> >' requested here core::traverse (wrap (this, &qhash::delslot)); ^ ../libasync/qhash.h:93:15: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::clear' requested here ~qhash () { clear (); } ^ config.C:54:10: note: in instantiation of member function 'qhash, equals, qhash_lookup_return, &qhash_slot::link>::~qhash' requested here options::options () ^ --- netpath.o --- 48 warnings generated. mv -f .deps/netpath.Tpo .deps/netpath.Po --- rcptcheck.o --- 88 warnings generated. mv -f .deps/rcptcheck.Tpo .deps/rcptcheck.Po --- synfp.o --- 68 warnings generated. mv -f .deps/synfp.Tpo .deps/synfp.Po --- async_ssl.o --- 28 warnings generated. mv -f .deps/async_ssl.Tpo .deps/async_ssl.Po --- avif.o --- 117 warnings generated. mv -f .deps/avif.Tpo .deps/avif.Po --- vrfy.o --- 105 warnings generated. mv -f .deps/vrfy.Tpo .deps/vrfy.Po --- spf.o --- 94 warnings generated. mv -f .deps/spf.Tpo .deps/spf.Po --- config.o --- 95 warnings generated. mv -f .deps/config.Tpo .deps/config.Po --- asmtpd.o --- 121 warnings generated. mv -f .deps/asmtpd.Tpo .deps/asmtpd.Po --- smtpd.o --- 124 warnings generated. mv -f .deps/smtpd.Tpo .deps/smtpd.Po 1 error make[2]: stopped in /data/scratch/mail/avenger/work/avenger-0.8.4/asmtpd *** [all-recursive] Error code 1 make[1]: stopped in /data/scratch/mail/avenger/work/avenger-0.8.4 1 error make[1]: stopped in /data/scratch/mail/avenger/work/avenger-0.8.4 *** [all] Error code 2 make: stopped in /data/scratch/mail/avenger/work/avenger-0.8.4 1 error make: stopped in /data/scratch/mail/avenger/work/avenger-0.8.4 *** Error code 2 Stop. make[1]: stopped in /data/pkgsrc/mail/avenger *** Error code 1 Stop. make: stopped in /data/pkgsrc/mail/avenger