From 68728b78bba52cbbfba895f30b530766ffc831da Mon Sep 17 00:00:00 2001 From: Nick Downing Date: Tue, 17 Jan 2017 22:58:08 +1100 Subject: [PATCH] Fully redo p.sh dependency check in s.sh with also prototype dependency checks, the check is a bit complicated as regards struct/union references since a struct/union pointer in the main part of a header file do not pull in the definition, but the same struct/union pointer in the prototypes part of a header file does --- lib/libstdc/compat-4.1/ftime.c | 1 + lib/libstdc/compat-4.1/times.c | 1 + lib/libstdc/compat-4.1/vtimes.c | 1 + lib/libstdc/conflicts.txt | 2 +- lib/libstdc/gen/getwd.c | 2 + lib/libstdc/gen/ndbm.c | 2 + lib/libstdc/gen/nlist.c | 1 + lib/libstdc/inet/inet_lnaof.c | 1 + lib/libstdc/inet/inet_makeaddr.c | 1 + lib/libstdc/inet/inet_netof.c | 1 + lib/libstdc/net.h | 2 + lib/libstdc/net/hosttable/gethostent.c | 1 + lib/libstdc/net/if.h | 1 + lib/libstdc/net/if_arp.h | 1 + lib/libstdc/net/named/gethostnamadr.c | 2 + lib/libstdc/net/raw_cb.h | 2 + lib/libstdc/net/rcmd.c | 2 + lib/libstdc/net/res_comp.c | 1 + lib/libstdc/net/res_debug.c | 1 + lib/libstdc/net/res_init.c | 2 + lib/libstdc/net/res_mkquery.c | 2 + lib/libstdc/net/res_send.c | 3 + lib/libstdc/net/rexec.c | 1 + lib/libstdc/net/route.h | 1 + lib/libstdc/netimp/if_imphost.h | 1 + lib/libstdc/netinet/if_ether.h | 1 + lib/libstdc/netinet/in_pcb.h | 1 + lib/libstdc/netinet/in_var.h | 1 + lib/libstdc/netinet/ip.h | 1 + lib/libstdc/netinet/ip_icmp.h | 3 + lib/libstdc/netinet/ip_var.h | 1 + lib/libstdc/netinet/tcp.h | 1 + lib/libstdc/netinet/tcp_debug.h | 2 + lib/libstdc/netinet/tcp_fsm.h | 2 + lib/libstdc/netinet/tcp_var.h | 1 + lib/libstdc/netinet/tcpip.h | 1 + lib/libstdc/netns/idp.h | 1 + lib/libstdc/netns/ns.h | 1 + lib/libstdc/netns/ns_error.h | 1 + lib/libstdc/netns/ns_if.h | 1 + lib/libstdc/netns/ns_pcb.h | 1 + lib/libstdc/netns/spp_debug.h | 2 + lib/libstdc/netns/spp_var.h | 2 + lib/libstdc/notes.txt | 3 + lib/libstdc/ns/ns_addr.c | 1 + lib/libstdc/ns/ns_ntoa.c | 1 + lib/libstdc/p.sh | 83 +++++++------- lib/libstdc/protocols/dumprestore.h | 1 + lib/libstdc/protocols/routed.h | 1 + lib/libstdc/protocols/talkd.h | 1 + lib/libstdc/protocols/timed.h | 2 + lib/libstdc/resolv.h | 2 + lib/libstdc/s.sh | 145 +++++++++++++++++++++++-- lib/libstdc/stdio.h | 2 + lib/libstdc/stdio/fdopen.c | 1 + lib/libstdc/stdio/fopen.c | 1 + lib/libstdc/stdio/freopen.c | 1 + lib/libstdc/sys/bkmac.h | 1 + lib/libstdc/sys/buf.h | 1 + lib/libstdc/sys/dir.h | 1 + lib/libstdc/sys/file.h | 1 + lib/libstdc/sys/fs.h | 2 + lib/libstdc/sys/inode.h | 1 + lib/libstdc/sys/ioctl.h | 1 + lib/libstdc/sys/kernel.h | 2 + lib/libstdc/sys/mbuf.h | 2 + lib/libstdc/sys/mount.h | 1 + lib/libstdc/sys/mtio.h | 1 + lib/libstdc/sys/namei.h | 1 + lib/libstdc/sys/param.h | 1 + lib/libstdc/sys/quota.h | 1 + lib/libstdc/sys/select.h | 2 + lib/libstdc/sys/socketvar.h | 2 + lib/libstdc/sys/systm.h | 1 - lib/libstdc/sys/time.h | 1 + lib/libstdc/sys/tty.h | 1 + lib/libstdc/sys/user.h | 3 + lib/libstdc/sys/vmmac.h | 5 + lib/libstdc/sys/vsio.h | 1 + lib/libstdc/sys/wait.h | 1 + lib/libstdc/t.sh | 42 +++---- lib/libstdc/time.h | 1 + lib/libstdc/vax/vmparam.h | 1 + lib/libstdc/vaxif/if_dereg.h | 1 + lib/libstdc/vaxif/if_hy.h | 2 + lib/libstdc/vaxuba/ikreg.h | 1 + lib/libstdc/vaxuba/npreg.h | 1 + lib/libstdc/vaxuba/ubareg.h | 1 + lib/libstdc/vaxuba/ubavar.h | 3 + lib/libstdc/vaxuba/utreg.h | 1 + lib/libstdc/vaxuba/vpreg.h | 1 + 91 files changed, 325 insertions(+), 69 deletions(-) create mode 100644 lib/libstdc/notes.txt diff --git a/lib/libstdc/compat-4.1/ftime.c b/lib/libstdc/compat-4.1/ftime.c index 6c5c75a..dade494 100644 --- a/lib/libstdc/compat-4.1/ftime.c +++ b/lib/libstdc/compat-4.1/ftime.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/compat-4.1/times.c b/lib/libstdc/compat-4.1/times.c index 8ef6335..4a7e555 100644 --- a/lib/libstdc/compat-4.1/times.c +++ b/lib/libstdc/compat-4.1/times.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/compat-4.1/vtimes.c b/lib/libstdc/compat-4.1/vtimes.c index ec9745f..4c85917 100644 --- a/lib/libstdc/compat-4.1/vtimes.c +++ b/lib/libstdc/compat-4.1/vtimes.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/conflicts.txt b/lib/libstdc/conflicts.txt index d3e6bba..92e9906 100644 --- a/lib/libstdc/conflicts.txt +++ b/lib/libstdc/conflicts.txt @@ -3,7 +3,7 @@ arpa/telnet.h gen/crypt.c net/ruserpass.c compat-4.1.h compat-sys5/getopt.c csu/gmon.c csu/mon.c sys/gprof.h ctype.h vaxuba/vsreg.h -gen/insque.c gen/remque.c sys/systm.h +gen.h gen/insque.c gen/remque.c sys/systm.h gen/regex.c sys/ttychars.h netinet/in.h netns/ns.h netinet/in_var.h netns/ns_if.h diff --git a/lib/libstdc/gen/getwd.c b/lib/libstdc/gen/getwd.c index 3f9ec6a..abc663d 100644 --- a/lib/libstdc/gen/getwd.c +++ b/lib/libstdc/gen/getwd.c @@ -1,4 +1,6 @@ #include +#include +#include #include #include diff --git a/lib/libstdc/gen/ndbm.c b/lib/libstdc/gen/ndbm.c index 32f25e7..33ac2e2 100644 --- a/lib/libstdc/gen/ndbm.c +++ b/lib/libstdc/gen/ndbm.c @@ -1,5 +1,7 @@ #include #include +#include +#include #include #include #include diff --git a/lib/libstdc/gen/nlist.c b/lib/libstdc/gen/nlist.c index 1930a14..669bc06 100644 --- a/lib/libstdc/gen/nlist.c +++ b/lib/libstdc/gen/nlist.c @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/lib/libstdc/inet/inet_lnaof.c b/lib/libstdc/inet/inet_lnaof.c index 0acef72..3b74af2 100644 --- a/lib/libstdc/inet/inet_lnaof.c +++ b/lib/libstdc/inet/inet_lnaof.c @@ -1,4 +1,5 @@ #include +#include #include /* diff --git a/lib/libstdc/inet/inet_makeaddr.c b/lib/libstdc/inet/inet_makeaddr.c index b57f1c0..2ecccc0 100644 --- a/lib/libstdc/inet/inet_makeaddr.c +++ b/lib/libstdc/inet/inet_makeaddr.c @@ -1,4 +1,5 @@ #include +#include #include /* diff --git a/lib/libstdc/inet/inet_netof.c b/lib/libstdc/inet/inet_netof.c index 95da4e9..4a4e71b 100644 --- a/lib/libstdc/inet/inet_netof.c +++ b/lib/libstdc/inet/inet_netof.c @@ -1,4 +1,5 @@ #include +#include #include /* diff --git a/lib/libstdc/net.h b/lib/libstdc/net.h index e3a719c..67bd9e7 100644 --- a/lib/libstdc/net.h +++ b/lib/libstdc/net.h @@ -1,6 +1,8 @@ #ifndef _NET_H_ #define _NET_H_ +#include +#include #include #include diff --git a/lib/libstdc/net/hosttable/gethostent.c b/lib/libstdc/net/hosttable/gethostent.c index 4158bf6..9e0e694 100644 --- a/lib/libstdc/net/hosttable/gethostent.c +++ b/lib/libstdc/net/hosttable/gethostent.c @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/lib/libstdc/net/if.h b/lib/libstdc/net/if.h index 9643b0d..5247a34 100644 --- a/lib/libstdc/net/if.h +++ b/lib/libstdc/net/if.h @@ -1,6 +1,7 @@ #ifndef _NET_IF_H_ #define _NET_IF_H_ +#include #include #include diff --git a/lib/libstdc/net/if_arp.h b/lib/libstdc/net/if_arp.h index 03f932d..f24180d 100644 --- a/lib/libstdc/net/if_arp.h +++ b/lib/libstdc/net/if_arp.h @@ -1,6 +1,7 @@ #ifndef _NET_IF_ARP_H_ #define _NET_IF_ARP_H_ +#include #include /* diff --git a/lib/libstdc/net/named/gethostnamadr.c b/lib/libstdc/net/named/gethostnamadr.c index 1298d4e..edbbe9b 100644 --- a/lib/libstdc/net/named/gethostnamadr.c +++ b/lib/libstdc/net/named/gethostnamadr.c @@ -1,7 +1,9 @@ +#include #include #include #include #include +#include #include #include #include diff --git a/lib/libstdc/net/raw_cb.h b/lib/libstdc/net/raw_cb.h index 8205c23..c0ccc90 100644 --- a/lib/libstdc/net/raw_cb.h +++ b/lib/libstdc/net/raw_cb.h @@ -1,6 +1,8 @@ #ifndef _NET_RAW_CB_H_ #define _NET_RAW_CB_H_ +#include +#include #include /* diff --git a/lib/libstdc/net/rcmd.c b/lib/libstdc/net/rcmd.c index 98c4c69..c5957d0 100644 --- a/lib/libstdc/net/rcmd.c +++ b/lib/libstdc/net/rcmd.c @@ -2,8 +2,10 @@ #include #include #include +#include #include #include +#include #include #include #include diff --git a/lib/libstdc/net/res_comp.c b/lib/libstdc/net/res_comp.c index 8952382..f525bcc 100644 --- a/lib/libstdc/net/res_comp.c +++ b/lib/libstdc/net/res_comp.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/net/res_debug.c b/lib/libstdc/net/res_debug.c index 785ad37..0ad9fd2 100644 --- a/lib/libstdc/net/res_debug.c +++ b/lib/libstdc/net/res_debug.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include diff --git a/lib/libstdc/net/res_init.c b/lib/libstdc/net/res_init.c index ee80af9..e354e73 100644 --- a/lib/libstdc/net/res_init.c +++ b/lib/libstdc/net/res_init.c @@ -1,8 +1,10 @@ +#include #include #include #include #include #include +#include #include #include #include diff --git a/lib/libstdc/net/res_mkquery.c b/lib/libstdc/net/res_mkquery.c index 75ad49d..5baa6a4 100644 --- a/lib/libstdc/net/res_mkquery.c +++ b/lib/libstdc/net/res_mkquery.c @@ -1,7 +1,9 @@ +#include #include #include #include #include +#include #include /* diff --git a/lib/libstdc/net/res_send.c b/lib/libstdc/net/res_send.c index 0c59f45..0d8fc5f 100644 --- a/lib/libstdc/net/res_send.c +++ b/lib/libstdc/net/res_send.c @@ -1,8 +1,11 @@ +#include #include #include #include #include #include +#include +#include #include #include #include diff --git a/lib/libstdc/net/rexec.c b/lib/libstdc/net/rexec.c index cf4e823..0797698 100644 --- a/lib/libstdc/net/rexec.c +++ b/lib/libstdc/net/rexec.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include #include diff --git a/lib/libstdc/net/route.h b/lib/libstdc/net/route.h index 4aba06b..3c170dd 100644 --- a/lib/libstdc/net/route.h +++ b/lib/libstdc/net/route.h @@ -1,6 +1,7 @@ #ifndef _NET_ROUTE_H_ #define _NET_ROUTE_H_ +#include #include /* diff --git a/lib/libstdc/netimp/if_imphost.h b/lib/libstdc/netimp/if_imphost.h index 81f42e9..d504c50 100644 --- a/lib/libstdc/netimp/if_imphost.h +++ b/lib/libstdc/netimp/if_imphost.h @@ -1,6 +1,7 @@ #ifndef _NETIMP_IF_IMPHOST_H_ #define _NETIMP_IF_IMPHOST_H_ +#include #include #include #include diff --git a/lib/libstdc/netinet/if_ether.h b/lib/libstdc/netinet/if_ether.h index d7325f3..acddd8c 100644 --- a/lib/libstdc/netinet/if_ether.h +++ b/lib/libstdc/netinet/if_ether.h @@ -1,6 +1,7 @@ #ifndef _NETINET_IF_ETHER_H_ #define _NETINET_IF_ETHER_H_ +#include #include #include #include diff --git a/lib/libstdc/netinet/in_pcb.h b/lib/libstdc/netinet/in_pcb.h index 925e757..45a5217 100644 --- a/lib/libstdc/netinet/in_pcb.h +++ b/lib/libstdc/netinet/in_pcb.h @@ -1,6 +1,7 @@ #ifndef _NETINET_IN_PCB_H_ #define _NETINET_IN_PCB_H_ +#include #include #include diff --git a/lib/libstdc/netinet/in_var.h b/lib/libstdc/netinet/in_var.h index ccc60a3..3952a8c 100644 --- a/lib/libstdc/netinet/in_var.h +++ b/lib/libstdc/netinet/in_var.h @@ -1,6 +1,7 @@ #ifndef _NETINET_IN_VAR_H_ #define _NETINET_IN_VAR_H_ +#include #include #include diff --git a/lib/libstdc/netinet/ip.h b/lib/libstdc/netinet/ip.h index 15ae5b5..3eb9751 100644 --- a/lib/libstdc/netinet/ip.h +++ b/lib/libstdc/netinet/ip.h @@ -1,6 +1,7 @@ #ifndef _NETINET_IP_H_ #define _NETINET_IP_H_ +#include #include #include diff --git a/lib/libstdc/netinet/ip_icmp.h b/lib/libstdc/netinet/ip_icmp.h index 42341cb..f16bdd3 100644 --- a/lib/libstdc/netinet/ip_icmp.h +++ b/lib/libstdc/netinet/ip_icmp.h @@ -1,6 +1,9 @@ #ifndef _NETINET_IP_ICMP_H_ #define _NETINET_IP_ICMP_H_ +#include +#include +#include #include /* diff --git a/lib/libstdc/netinet/ip_var.h b/lib/libstdc/netinet/ip_var.h index e69c512..092d8ab 100644 --- a/lib/libstdc/netinet/ip_var.h +++ b/lib/libstdc/netinet/ip_var.h @@ -1,6 +1,7 @@ #ifndef _NETINET_IP_VAR_H_ #define _NETINET_IP_VAR_H_ +#include #include #include diff --git a/lib/libstdc/netinet/tcp.h b/lib/libstdc/netinet/tcp.h index c123349..9158eb2 100644 --- a/lib/libstdc/netinet/tcp.h +++ b/lib/libstdc/netinet/tcp.h @@ -1,6 +1,7 @@ #ifndef _NETINET_TCP_H_ #define _NETINET_TCP_H_ +#include #include #include #include diff --git a/lib/libstdc/netinet/tcp_debug.h b/lib/libstdc/netinet/tcp_debug.h index 3ddf654..11d410a 100644 --- a/lib/libstdc/netinet/tcp_debug.h +++ b/lib/libstdc/netinet/tcp_debug.h @@ -1,6 +1,8 @@ #ifndef _NETINET_TCP_DEBUG_H_ #define _NETINET_TCP_DEBUG_H_ +#include +#include #include #include diff --git a/lib/libstdc/netinet/tcp_fsm.h b/lib/libstdc/netinet/tcp_fsm.h index 32a84fa..b662bf3 100644 --- a/lib/libstdc/netinet/tcp_fsm.h +++ b/lib/libstdc/netinet/tcp_fsm.h @@ -1,6 +1,8 @@ #ifndef _NETINET_TCP_FSM_H_ #define _NETINET_TCP_FSM_H_ +#include +#include #include /* diff --git a/lib/libstdc/netinet/tcp_var.h b/lib/libstdc/netinet/tcp_var.h index 29ad76c..1016a45 100644 --- a/lib/libstdc/netinet/tcp_var.h +++ b/lib/libstdc/netinet/tcp_var.h @@ -1,6 +1,7 @@ #ifndef _NETINET_TCP_VAR_H_ #define _NETINET_TCP_VAR_H_ +#include #include #include #include diff --git a/lib/libstdc/netinet/tcpip.h b/lib/libstdc/netinet/tcpip.h index a48eef2..126a886 100644 --- a/lib/libstdc/netinet/tcpip.h +++ b/lib/libstdc/netinet/tcpip.h @@ -1,6 +1,7 @@ #ifndef _NETINET_TCPIP_H_ #define _NETINET_TCPIP_H_ +#include #include /* diff --git a/lib/libstdc/netns/idp.h b/lib/libstdc/netns/idp.h index e3d1794..84ddfd9 100644 --- a/lib/libstdc/netns/idp.h +++ b/lib/libstdc/netns/idp.h @@ -1,6 +1,7 @@ #ifndef _NETNS_IDP_H_ #define _NETNS_IDP_H_ +#include #include /* diff --git a/lib/libstdc/netns/ns.h b/lib/libstdc/netns/ns.h index 975aff6..e372caa 100644 --- a/lib/libstdc/netns/ns.h +++ b/lib/libstdc/netns/ns.h @@ -1,6 +1,7 @@ #ifndef _NETNS_NS_H_ #define _NETNS_NS_H_ +#include #include #include diff --git a/lib/libstdc/netns/ns_error.h b/lib/libstdc/netns/ns_error.h index 0c89bdc..7903601 100644 --- a/lib/libstdc/netns/ns_error.h +++ b/lib/libstdc/netns/ns_error.h @@ -1,6 +1,7 @@ #ifndef _NETNS_NS_ERROR_H_ #define _NETNS_NS_ERROR_H_ +#include #include /* diff --git a/lib/libstdc/netns/ns_if.h b/lib/libstdc/netns/ns_if.h index 89099e8..06a43fb 100644 --- a/lib/libstdc/netns/ns_if.h +++ b/lib/libstdc/netns/ns_if.h @@ -1,6 +1,7 @@ #ifndef _NETNS_NS_IF_H_ #define _NETNS_NS_IF_H_ +#include #include #include diff --git a/lib/libstdc/netns/ns_pcb.h b/lib/libstdc/netns/ns_pcb.h index ea5322a..9bf0b7c 100644 --- a/lib/libstdc/netns/ns_pcb.h +++ b/lib/libstdc/netns/ns_pcb.h @@ -1,6 +1,7 @@ #ifndef _NETNS_NS_PCB_H_ #define _NETNS_NS_PCB_H_ +#include #include #include diff --git a/lib/libstdc/netns/spp_debug.h b/lib/libstdc/netns/spp_debug.h index fc02cb4..6329b89 100644 --- a/lib/libstdc/netns/spp_debug.h +++ b/lib/libstdc/netns/spp_debug.h @@ -1,6 +1,8 @@ #ifndef _NETNS_SPP_DEBUG_H_ #define _NETNS_SPP_DEBUG_H_ +#include +#include #include /* diff --git a/lib/libstdc/netns/spp_var.h b/lib/libstdc/netns/spp_var.h index 55515e2..5dde326 100644 --- a/lib/libstdc/netns/spp_var.h +++ b/lib/libstdc/netns/spp_var.h @@ -1,6 +1,8 @@ #ifndef _NETNS_SPP_VAR_H_ #define _NETNS_SPP_VAR_H_ +#include +#include #include #include #include diff --git a/lib/libstdc/notes.txt b/lib/libstdc/notes.txt new file mode 100644 index 0000000..48e4160 --- /dev/null +++ b/lib/libstdc/notes.txt @@ -0,0 +1,3 @@ +move fd_set into sys/select.h +move popen into gen +move vaxque struct from insque/remque into gen.h diff --git a/lib/libstdc/ns/ns_addr.c b/lib/libstdc/ns/ns_addr.c index ebc5b1d..daaa329 100644 --- a/lib/libstdc/ns/ns_addr.c +++ b/lib/libstdc/ns/ns_addr.c @@ -1,6 +1,7 @@ #include #include #include +#include #include /* diff --git a/lib/libstdc/ns/ns_ntoa.c b/lib/libstdc/ns/ns_ntoa.c index aff810f..a0000b4 100644 --- a/lib/libstdc/ns/ns_ntoa.c +++ b/lib/libstdc/ns/ns_ntoa.c @@ -1,5 +1,6 @@ #include #include +#include #include /* diff --git a/lib/libstdc/p.sh b/lib/libstdc/p.sh index 0794663..297f5dc 100755 --- a/lib/libstdc/p.sh +++ b/lib/libstdc/p.sh @@ -24,6 +24,8 @@ do unions="`sed -ne 's/^\(.*[^0-9A-Za-z_]\)\?union[ ]\+\([A-Za-z_][0-9A-Za-z_]*\)[ ]*{.*/\2/p' $i`" echo "unions=$unions" + rm -f $i.usedby + pattern= prefix= for j in $macros @@ -63,50 +65,53 @@ do fi done fi + fi - pattern0= - prefix0= + pattern0= + prefix0= - pattern1= - prefix1= - for j in $macros - do - pattern1="$pattern1$prefix1$j" - prefix1='\|' - done - for j in $typedefs - do - pattern1="$pattern1$prefix1$j" - prefix1='\|' - done - echo "pattern1=$pattern1" - if test -n "$pattern1" - then - pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^0-9A-Za-z_].*\\)\\?" - prefix0='\|' - fi + pattern1= + prefix1= + for j in $macros + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + for j in $typedefs + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^0-9A-Za-z_].*\\)\\?" + prefix0='\|' + fi - pattern1= - prefix1= - for j in $structs - do - pattern1="$pattern1${prefix1}struct[ ]\\+$j" - prefix1='\|' - done - for j in $unions - do - pattern1="$pattern1${prefix1}union[ ]\\+$j" - prefix1='\|' - done - echo "pattern1=$pattern1" - if test -n "$pattern1" - then - pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^ *0-9A-Za-z_].*\\|[ ]\\+\\([^*].*\\)\\?\\)\\?" - prefix0='\|' - fi + pattern1= + prefix1= + for j in $structs + do + pattern1="$pattern1${prefix1}struct[ ]\\+$j" + prefix1='\|' + done + for j in $unions + do + pattern1="$pattern1${prefix1}union[ ]\\+$j" + prefix1='\|' + done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^ *0-9A-Za-z_].*\\|[ ]\\+\\([^*].*\\)\\?\\)\\?" + prefix0='\|' + fi - echo "pattern0=$pattern0" + echo "pattern0=$pattern0" + if test -n "$pattern0" + then grep -H "^\\($pattern0\\)$" `find . -name '*.h.nocomm' -print` |sed -e 's:^\./::' |grep -v "^$i\.nocomm:" >a if test -s a then diff --git a/lib/libstdc/protocols/dumprestore.h b/lib/libstdc/protocols/dumprestore.h index d044294..3647460 100644 --- a/lib/libstdc/protocols/dumprestore.h +++ b/lib/libstdc/protocols/dumprestore.h @@ -1,6 +1,7 @@ #ifndef _PROTOCOLS_DUMPRESTORE_H_ #define _PROTOCOLS_DUMPRESTORE_H_ +#include #include /* diff --git a/lib/libstdc/protocols/routed.h b/lib/libstdc/protocols/routed.h index c0dec33..f212f1c 100644 --- a/lib/libstdc/protocols/routed.h +++ b/lib/libstdc/protocols/routed.h @@ -1,6 +1,7 @@ #ifndef _PROTOCOLS_ROUTED_H_ #define _PROTOCOLS_ROUTED_H_ +#include #include /* diff --git a/lib/libstdc/protocols/talkd.h b/lib/libstdc/protocols/talkd.h index 5ad0c36..f8c1b8c 100644 --- a/lib/libstdc/protocols/talkd.h +++ b/lib/libstdc/protocols/talkd.h @@ -1,6 +1,7 @@ #ifndef _PROTOCOLS_TALKD_H_ #define _PROTOCOLS_TALKD_H_ +#include #include /* diff --git a/lib/libstdc/protocols/timed.h b/lib/libstdc/protocols/timed.h index 92d0a9c..7a66f31 100644 --- a/lib/libstdc/protocols/timed.h +++ b/lib/libstdc/protocols/timed.h @@ -1,6 +1,8 @@ #ifndef _PROTOCOLS_TIMED_H_ #define _PROTOCOLS_TIMED_H_ +#include +#include #include /* diff --git a/lib/libstdc/resolv.h b/lib/libstdc/resolv.h index 9c36771..e6e33a9 100644 --- a/lib/libstdc/resolv.h +++ b/lib/libstdc/resolv.h @@ -1,6 +1,8 @@ #ifndef _RESOLV_H_ #define _RESOLV_H_ +#include +#include #include #include diff --git a/lib/libstdc/s.sh b/lib/libstdc/s.sh index ad56ece..f4edf54 100755 --- a/lib/libstdc/s.sh +++ b/lib/libstdc/s.sh @@ -9,26 +9,83 @@ do ../../xify/nocomment <$i |../../xify/nostring >$i.nocomm done +find . -name '*.h.append' -print |\ +sed -e 's:\./::' |\ +while read i +do + ../../xify/nocomment <$i |../../xify/nostring >$i.nocomm +done + find . -name '*.h' -print |\ sed -e 's:^\./::' |\ LC_ALL=C sort -r |\ while read i do echo "i=$i" + macros="`sed -ne 's/^#[ ]*define[ ]\+\([A-Za-z_][0-9A-Za-z_]*\).*/\1/p' $i |grep -v '^\(NULL\|__P\)$'`" + echo "macros=$macros" + typedefs="`sed -ne 's/^\(.*[^0-9A-Za-z_]\)\?typedef[^0-9A-Za-z_]\(.*[^0-9A-Za-z_]\)\?\([A-Za-z_][0-9A-Za-z_]*\)[ ]*\(\[[ 0-9]*\][ ]*\)\?;.*/\3/p' $i; sed -ne 's/^}[ ]*\([A-Za-z_][0-9A-Za-z_]*\)[ ]*;.*/\1/p' $i`" + echo "typedefs=$typedefs" + structs="`sed -ne 's/^\(.*[^0-9A-Za-z_]\)\?struct[ ]\+\([A-Za-z_][0-9A-Za-z_]*\)[ ]*{.*/\2/p' $i`" + echo "structs=$structs" + unions="`sed -ne 's/^\(.*[^0-9A-Za-z_]\)\?union[ ]\+\([A-Za-z_][0-9A-Za-z_]*\)[ ]*{.*/\2/p' $i`" + echo "unions=$unions" protos="`sed -ne 's/^.*[^0-9A-Za-z_]\([A-Za-z_][0-9A-Za-z_]*\) __P((.*));$/\1/p' $i`" echo "protos=$protos" - pattern= - prefix= + rm -f $i.usedby + + prefix0= + pattern0= + + pattern1= + prefix1= + for j in $macros + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + for j in $typedefs + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + for j in $structs + do + pattern1="$pattern1${prefix1}struct[ ]\\+$j" + prefix1='\|' + done + for j in $unions + do + pattern1="$pattern1${prefix1}union[ ]\\+$j" + prefix1='\|' + done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^0-9A-Za-z_].*\\)\\?" + prefix0='\|' + fi + + pattern1= + prefix1= for j in $protos do - pattern="$pattern$prefix$j" - prefix='\|' + pattern1="$pattern1$prefix1$j" + prefix1='\|' done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)[ ]*(.*" + prefix0='\|' + fi - if test -n "$pattern" + echo "pattern0=$pattern0" + + if test -n "$pattern0" then - grep -H "^\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern\\)[ ]*(" `find . -name '*.c.nocomm' -print` |sed -e 's:^\./::' |grep -v "^$i\.nocomm:" >a + grep -H "^\\($pattern0\\)$" `find . -name '*.c.nocomm' -print` |sed -e 's:^\./::' |grep -v "^$i\.nocomm:" >a if test -s a then cat a >>$i.usedby @@ -42,7 +99,81 @@ do done fi - grep -H "^\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern\\)[ ]*(" `find . -name '*.h.nocomm' -print` |sed -e 's:^\./::' |grep -v "^$i\.nocomm:" >a + grep -H "^\\($pattern0\\)$" `find . -name '*.h.append.nocomm' -print` |sed -e 's:^\./::' |grep -v "^$i\.append.nocomm:" >a + if test -s a + then + cat a >>$i.usedby + for j in `sed -e 's/\.append.nocomm:.*//' \$" $j + then + sed -e "4i#include <$i>" -i $j + fi + done + fi + fi + + pattern0= + prefix0= + + pattern1= + prefix1= + for j in $macros + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + for j in $typedefs + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^0-9A-Za-z_].*\\)\\?" + prefix0='\|' + fi + + pattern1= + prefix1= + for j in $structs + do + pattern1="$pattern1${prefix1}struct[ ]\\+$j" + prefix1='\|' + done + for j in $unions + do + pattern1="$pattern1${prefix1}union[ ]\\+$j" + prefix1='\|' + done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)\\([^ *0-9A-Za-z_].*\\|[ ]\\+\\([^*].*\\)\\?\\)\\?" + prefix0='\|' + fi + + pattern1= + prefix1= + for j in $protos + do + pattern1="$pattern1$prefix1$j" + prefix1='\|' + done + echo "pattern1=$pattern1" + if test -n "$pattern1" + then + pattern0="$pattern0$prefix0\\(.*[^0-9A-Za-z_]\\)\\?\\($pattern1\\)[ ]*(.*" + prefix0='\|' + fi + + echo "pattern0=$pattern0" + + if test -n "$pattern0" + then + grep -H "^\\($pattern0\\)$" `find . -name '*.h.nocomm' -print` |sed -e 's:^\./::' |grep -v "^$i\.nocomm:" >a if test -s a then cat a >>$i.usedby diff --git a/lib/libstdc/stdio.h b/lib/libstdc/stdio.h index 2129806..9b78922 100644 --- a/lib/libstdc/stdio.h +++ b/lib/libstdc/stdio.h @@ -1,6 +1,8 @@ #ifndef _STDIO_H_ #define _STDIO_H_ +#include +#include #ifdef __STDC__ #include #endif diff --git a/lib/libstdc/stdio/fdopen.c b/lib/libstdc/stdio/fdopen.c index 3a3b6ec..a63adec 100644 --- a/lib/libstdc/stdio/fdopen.c +++ b/lib/libstdc/stdio/fdopen.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/stdio/fopen.c b/lib/libstdc/stdio/fopen.c index f4fa8ca..ac81888 100644 --- a/lib/libstdc/stdio/fopen.c +++ b/lib/libstdc/stdio/fopen.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/stdio/freopen.c b/lib/libstdc/stdio/freopen.c index 71a7f37..573ef5c 100644 --- a/lib/libstdc/stdio/freopen.c +++ b/lib/libstdc/stdio/freopen.c @@ -1,3 +1,4 @@ +#include #include #include diff --git a/lib/libstdc/sys/bkmac.h b/lib/libstdc/sys/bkmac.h index 30da28e..afed6b5 100644 --- a/lib/libstdc/sys/bkmac.h +++ b/lib/libstdc/sys/bkmac.h @@ -1,6 +1,7 @@ #ifndef _SYS_BKMAC_H_ #define _SYS_BKMAC_H_ +#include #include /* diff --git a/lib/libstdc/sys/buf.h b/lib/libstdc/sys/buf.h index d0c15f2..c053dd7 100644 --- a/lib/libstdc/sys/buf.h +++ b/lib/libstdc/sys/buf.h @@ -1,6 +1,7 @@ #ifndef _SYS_BUF_H_ #define _SYS_BUF_H_ +#include #include /* diff --git a/lib/libstdc/sys/dir.h b/lib/libstdc/sys/dir.h index bac7bd9..29be31e 100644 --- a/lib/libstdc/sys/dir.h +++ b/lib/libstdc/sys/dir.h @@ -1,6 +1,7 @@ #ifndef _SYS_DIR_H_ #define _SYS_DIR_H_ +#include #include /* diff --git a/lib/libstdc/sys/file.h b/lib/libstdc/sys/file.h index 8886f97..a0c8aaf 100644 --- a/lib/libstdc/sys/file.h +++ b/lib/libstdc/sys/file.h @@ -1,6 +1,7 @@ #ifndef _SYS_FILE_H_ #define _SYS_FILE_H_ +#include #include #include diff --git a/lib/libstdc/sys/fs.h b/lib/libstdc/sys/fs.h index 118a3ca..b7347f0 100644 --- a/lib/libstdc/sys/fs.h +++ b/lib/libstdc/sys/fs.h @@ -1,6 +1,8 @@ #ifndef _SYS_FS_H_ #define _SYS_FS_H_ +#include +#include #include /* diff --git a/lib/libstdc/sys/inode.h b/lib/libstdc/sys/inode.h index ea6d2fe..9e17987 100644 --- a/lib/libstdc/sys/inode.h +++ b/lib/libstdc/sys/inode.h @@ -2,6 +2,7 @@ #define _SYS_INODE_H_ #include +#include #include /* diff --git a/lib/libstdc/sys/ioctl.h b/lib/libstdc/sys/ioctl.h index 0408cf4..bb5311c 100644 --- a/lib/libstdc/sys/ioctl.h +++ b/lib/libstdc/sys/ioctl.h @@ -1,6 +1,7 @@ #ifndef _SYS_IOCTL_H_ #define _SYS_IOCTL_H_ +#include #include #include #include diff --git a/lib/libstdc/sys/kernel.h b/lib/libstdc/sys/kernel.h index c7d3de9..1834330 100644 --- a/lib/libstdc/sys/kernel.h +++ b/lib/libstdc/sys/kernel.h @@ -1,6 +1,8 @@ #ifndef _SYS_KERNEL_H_ #define _SYS_KERNEL_H_ +#include +#include #include /* diff --git a/lib/libstdc/sys/mbuf.h b/lib/libstdc/sys/mbuf.h index b3ae736..afc6416 100644 --- a/lib/libstdc/sys/mbuf.h +++ b/lib/libstdc/sys/mbuf.h @@ -1,6 +1,8 @@ #ifndef _SYS_MBUF_H_ #define _SYS_MBUF_H_ +#include +#include #include /* diff --git a/lib/libstdc/sys/mount.h b/lib/libstdc/sys/mount.h index 1094efa..e25def1 100644 --- a/lib/libstdc/sys/mount.h +++ b/lib/libstdc/sys/mount.h @@ -1,6 +1,7 @@ #ifndef _SYS_MOUNT_H_ #define _SYS_MOUNT_H_ +#include #include /* diff --git a/lib/libstdc/sys/mtio.h b/lib/libstdc/sys/mtio.h index 16310d0..ebe8977 100644 --- a/lib/libstdc/sys/mtio.h +++ b/lib/libstdc/sys/mtio.h @@ -1,6 +1,7 @@ #ifndef _SYS_MTIO_H_ #define _SYS_MTIO_H_ +#include #include /* diff --git a/lib/libstdc/sys/namei.h b/lib/libstdc/sys/namei.h index 13f5106..f6140ca 100644 --- a/lib/libstdc/sys/namei.h +++ b/lib/libstdc/sys/namei.h @@ -1,6 +1,7 @@ #ifndef _SYS_NAMEI_H_ #define _SYS_NAMEI_H_ +#include #include #include diff --git a/lib/libstdc/sys/param.h b/lib/libstdc/sys/param.h index 890e85f..05e835e 100644 --- a/lib/libstdc/sys/param.h +++ b/lib/libstdc/sys/param.h @@ -1,6 +1,7 @@ #ifndef _SYS_PARAM_H_ #define _SYS_PARAM_H_ +#include #include #include #include diff --git a/lib/libstdc/sys/quota.h b/lib/libstdc/sys/quota.h index a056dfa..0bae9e6 100644 --- a/lib/libstdc/sys/quota.h +++ b/lib/libstdc/sys/quota.h @@ -1,6 +1,7 @@ #ifndef _SYS_QUOTA_H_ #define _SYS_QUOTA_H_ +#include #include /* diff --git a/lib/libstdc/sys/select.h b/lib/libstdc/sys/select.h index 1c5f057..9abfaa6 100644 --- a/lib/libstdc/sys/select.h +++ b/lib/libstdc/sys/select.h @@ -1,6 +1,8 @@ #ifndef _SYS_SELECT_H_ #define _SYS_SELECT_H_ +#include +#include #ifndef __P #ifdef __STDC__ diff --git a/lib/libstdc/sys/socketvar.h b/lib/libstdc/sys/socketvar.h index ec1c36a..4e493ef 100644 --- a/lib/libstdc/sys/socketvar.h +++ b/lib/libstdc/sys/socketvar.h @@ -1,7 +1,9 @@ #ifndef _SYS_SOCKETVAR_H_ #define _SYS_SOCKETVAR_H_ +#include #include +#include #include #include diff --git a/lib/libstdc/sys/systm.h b/lib/libstdc/sys/systm.h index 10eba59..a300d06 100644 --- a/lib/libstdc/sys/systm.h +++ b/lib/libstdc/sys/systm.h @@ -1,7 +1,6 @@ #ifndef _SYS_SYSTM_H_ #define _SYS_SYSTM_H_ -#include #include /* diff --git a/lib/libstdc/sys/time.h b/lib/libstdc/sys/time.h index b8e1c0e..d00a408 100644 --- a/lib/libstdc/sys/time.h +++ b/lib/libstdc/sys/time.h @@ -1,6 +1,7 @@ #ifndef _SYS_TIME_H_ #define _SYS_TIME_H_ +#include /* * Copyright (c) 1982, 1986 Regents of the University of California. diff --git a/lib/libstdc/sys/tty.h b/lib/libstdc/sys/tty.h index 204b7dc..fd97561 100644 --- a/lib/libstdc/sys/tty.h +++ b/lib/libstdc/sys/tty.h @@ -1,6 +1,7 @@ #ifndef _SYS_TTY_H_ #define _SYS_TTY_H_ +#include #include #include diff --git a/lib/libstdc/sys/user.h b/lib/libstdc/sys/user.h index 492f8de..fb36092 100644 --- a/lib/libstdc/sys/user.h +++ b/lib/libstdc/sys/user.h @@ -1,6 +1,9 @@ #ifndef _SYS_USER_H_ #define _SYS_USER_H_ +#include +#include +#include #include #include #include diff --git a/lib/libstdc/sys/vmmac.h b/lib/libstdc/sys/vmmac.h index d549261..816587b 100644 --- a/lib/libstdc/sys/vmmac.h +++ b/lib/libstdc/sys/vmmac.h @@ -1,7 +1,12 @@ #ifndef _SYS_VMMAC_H_ #define _SYS_VMMAC_H_ +#include #include +#include +#include +#include +#include #include #include diff --git a/lib/libstdc/sys/vsio.h b/lib/libstdc/sys/vsio.h index 19f291a..6225840 100644 --- a/lib/libstdc/sys/vsio.h +++ b/lib/libstdc/sys/vsio.h @@ -1,6 +1,7 @@ #ifndef _SYS_VSIO_H_ #define _SYS_VSIO_H_ +#include #include /* @(#)vsio.h 7.1 (MIT) 6/4/86 */ diff --git a/lib/libstdc/sys/wait.h b/lib/libstdc/sys/wait.h index d7f73f5..853d7b7 100644 --- a/lib/libstdc/sys/wait.h +++ b/lib/libstdc/sys/wait.h @@ -1,6 +1,7 @@ #ifndef _SYS_WAIT_H_ #define _SYS_WAIT_H_ +#include /* * Copyright (c) 1982, 1986 Regents of the University of California. diff --git a/lib/libstdc/t.sh b/lib/libstdc/t.sh index 72a723b..f113704 100755 --- a/lib/libstdc/t.sh +++ b/lib/libstdc/t.sh @@ -70,24 +70,24 @@ done rm -f temp.c tsort b -# sorting/prettifying -find . -name '*.[ch]' -print |\ -sed -e 's:\./::' |\ -while read i -do - echo "i=$i" - rm -f xx* - csplit -q $i '/^#include <.*>$/' '/^$/' - for j in xx* - do - : - done - if test -f xx01 - then - LC_ALL=C sort a - mv a xx01 - cat xx* >$i - fi - ../../xify/newline <$i >a - mv a $i -done +## sorting/prettifying (won't work at the moment because of stdarg.h/varargs.h) +#find . -name '*.[ch]' -print |\ +#sed -e 's:\./::' |\ +#while read i +#do +# echo "i=$i" +# rm -f xx* +# csplit -q $i '/^#include <.*>$/' '/^$/' +# for j in xx* +# do +# : +# done +# if test -f xx01 +# then +# LC_ALL=C sort a +# mv a xx01 +# cat xx* >$i +# fi +# ../../xify/newline <$i >a +# mv a $i +#done diff --git a/lib/libstdc/time.h b/lib/libstdc/time.h index f3fc602..542aa81 100644 --- a/lib/libstdc/time.h +++ b/lib/libstdc/time.h @@ -1,6 +1,7 @@ #ifndef _TIME_H_ #define _TIME_H_ +#include /* time.h 1.1 85/03/13 */ diff --git a/lib/libstdc/vax/vmparam.h b/lib/libstdc/vax/vmparam.h index 85246e4..016aa66 100644 --- a/lib/libstdc/vax/vmparam.h +++ b/lib/libstdc/vax/vmparam.h @@ -1,6 +1,7 @@ #ifndef _VAX_VMPARAM_H_ #define _VAX_VMPARAM_H_ +#include #include /* diff --git a/lib/libstdc/vaxif/if_dereg.h b/lib/libstdc/vaxif/if_dereg.h index d3702b9..3136109 100644 --- a/lib/libstdc/vaxif/if_dereg.h +++ b/lib/libstdc/vaxif/if_dereg.h @@ -1,6 +1,7 @@ #ifndef _VAXIF_IF_DEREG_H_ #define _VAXIF_IF_DEREG_H_ +#include #include /* diff --git a/lib/libstdc/vaxif/if_hy.h b/lib/libstdc/vaxif/if_hy.h index 07e39aa..5e1562d 100644 --- a/lib/libstdc/vaxif/if_hy.h +++ b/lib/libstdc/vaxif/if_hy.h @@ -1,6 +1,8 @@ #ifndef _VAXIF_IF_HY_H_ #define _VAXIF_IF_HY_H_ +#include +#include #include /* diff --git a/lib/libstdc/vaxuba/ikreg.h b/lib/libstdc/vaxuba/ikreg.h index 64a90e5..e3b4b55 100644 --- a/lib/libstdc/vaxuba/ikreg.h +++ b/lib/libstdc/vaxuba/ikreg.h @@ -1,6 +1,7 @@ #ifndef _VAXUBA_IKREG_H_ #define _VAXUBA_IKREG_H_ +#include #include /* diff --git a/lib/libstdc/vaxuba/npreg.h b/lib/libstdc/vaxuba/npreg.h index 8dca577..ebb6d1a 100644 --- a/lib/libstdc/vaxuba/npreg.h +++ b/lib/libstdc/vaxuba/npreg.h @@ -1,6 +1,7 @@ #ifndef _VAXUBA_NPREG_H_ #define _VAXUBA_NPREG_H_ +#include #include /* diff --git a/lib/libstdc/vaxuba/ubareg.h b/lib/libstdc/vaxuba/ubareg.h index f67c675..dc6fdaa 100644 --- a/lib/libstdc/vaxuba/ubareg.h +++ b/lib/libstdc/vaxuba/ubareg.h @@ -1,6 +1,7 @@ #ifndef _VAXUBA_UBAREG_H_ #define _VAXUBA_UBAREG_H_ +#include #include #include #include diff --git a/lib/libstdc/vaxuba/ubavar.h b/lib/libstdc/vaxuba/ubavar.h index cc55b50..12d4edd 100644 --- a/lib/libstdc/vaxuba/ubavar.h +++ b/lib/libstdc/vaxuba/ubavar.h @@ -1,6 +1,9 @@ #ifndef _VAXUBA_UBAVAR_H_ #define _VAXUBA_UBAVAR_H_ +#include +#include +#include #include /* diff --git a/lib/libstdc/vaxuba/utreg.h b/lib/libstdc/vaxuba/utreg.h index f5cf5f7..1b7a6f0 100644 --- a/lib/libstdc/vaxuba/utreg.h +++ b/lib/libstdc/vaxuba/utreg.h @@ -1,6 +1,7 @@ #ifndef _VAXUBA_UTREG_H_ #define _VAXUBA_UTREG_H_ +#include #include /* diff --git a/lib/libstdc/vaxuba/vpreg.h b/lib/libstdc/vaxuba/vpreg.h index 8d93676..e937c3e 100644 --- a/lib/libstdc/vaxuba/vpreg.h +++ b/lib/libstdc/vaxuba/vpreg.h @@ -1,6 +1,7 @@ #ifndef _VAXUBA_VPREG_H_ #define _VAXUBA_VPREG_H_ +#include #include /* -- 2.34.1