Re: Build failure on Solaris 10 with Sun cc
Paul Eggert <[email protected]>
| Newsgroups | gmane.comp.version-control.rcs.bugs |
|---|---|
| Organization | UCLA Computer Science Department |
| Message-ID | <[email protected]> |
On 09/29/10 02:41, Thien-Thi Nguyen wrote: > Hmmm, i can't even formulate a hypothesis on why ‘struct divvy *divvy’ > is not considered a pointer to a struct/union by the Sun cc. I don't think that's the problem. The problem is that the code uses an expression A->B, where A is of type 'void *'. The C standard doesn't allow that. > Could you please ‘M-x c-macro-expand’ that function and post the results? That command didn't work for me, but I am attaching the output of: source='b-divvy.c' object='b-divvy.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../build-aux/depcomp \ cc -xc99=all -xc99=all -DHAVE_CONFIG_H -I. -I../lib -I'../lib' -E b-divvy.c | sed 's/^#/\/\/' The first problem is in the alloc function. The expression ( ( divvy -> space ) ) -> temp is not valid, because divvy->space is of type void *.
b-divvy-preprocessed.c
(text/x-csrc, 76.1 KB)
// 1 "b-divvy.c"
// 20
// 1 "base.h"
// 22
// 1 "../lib/config.h"
// 6
// 10
// 13
// 16
// 19
// 22
// 25
// 28
// 31
// 34
// 37
// 40
// 43
// 46
// 50
// 57
// 60
// 63
// 66
// 69
// 72
// 75
// 78
// 84
// 92
// 96
// 100
// 103
// 106
// 109
// 112
// 115
// 118
// 121
// 124
// 127
// 131
// 135
// 142
// 146
// 149
// 152
// 155
// 158
// 161
// 164
// 167
// 170
// 173
// 176
// 179
// 182
// 185
// 190
// 193
// 196
// 200
// 203
// 206
// 209
// 212
// 218
// 222
// 225
// 228
// 231
// 234
// 237
// 240
// 252
// 255
// 258
// 261
// 267
// 270
// 273
// 276
// 280
// 289
// 295
// 307
// 313
// 316
// 319
// 325
// 328
// 331
// 334
// 337
// 343
// 352
// 355
// 358
// 367
// 370
// 373
// 376
// 379
// 382
// 391
// 394
// 400
// 403
// 406
// 409
// 412
// 418
// 436
// 442
// 454
// 460
// 466
// 469
// 472
// 475
// 484
// 490
// 496
// 502
// 505
// 511
// 514
// 517
// 520
// 523
// 526
// 529
// 532
// 535
// 538
// 541
// 547
// 562
// 565
// 574
// 580
// 583
// 586
// 589
// 592
// 598
// 604
// 607
// 610
// 613
// 616
// 619
// 622
// 631
// 634
// 640
// 643
// 646
// 649
// 652
// 655
// 658
// 661
// 664
// 670
// 673
// 676
// 679
// 682
// 687
// 690
// 693
// 696
// 699
// 703
// 706
// 709
// 712
// 715
// 721
// 730
// 733
// 736
// 739
// 742
// 745
// 748
// 751
// 754
// 757
// 763
// 769
// 772
// 775
// 778
// 781
// 787
// 790
// 793
// 796
// 799
// 802
// 805
// 811
// 817
// 820
// 823
// 826
// 829
// 832
// 835
// 838
// 842
// 848
// 852
// 863
// 866
// 870
// 872
// 876
// 883
// 890
// 894
// 898
// 902
// 905
// 911
// 923
// 927
// 931
// 935
// 939
// 946
// 950
// 952
// 965
// 980
// 986
// 995
// 1013
// 1016
// 25 "base.h"
// 1 "/usr/include/stdbool.h"
// 5
// 8
//ident "@(#)stdbool.h 1.1 03/12/04 SMI"
// 14
// 25
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 8
//ident "@(#)feature_tests.h 1.25 07/02/02 SMI"
// 1 "/usr/include/sys/ccompile.h"
// 5
// 8
//ident "@(#)ccompile.h 1.2 04/11/08 SMI"
// 15
// 19
// 29
// 84
// 86
// 88
// 92
// 100
// 105
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 8
//ident "@(#)isa_defs.h 1.29 08/06/06 SMI"
// 192
// 196
// 396
// 403
// 413
// 434
// 443
// 449
// 458
// 460
// 468
// 498
// 505
// 509
// 513
// 13 "/usr/include/sys/feature_tests.h"
// 17
// 31
// 62
// 66
// 111
// 118
// 122
// 126
// 166
// 194
// 245
// 279
// 303
// 323
// 339
// 352
// 358
// 364
// 370
// 374
// 27 "/usr/include/stdbool.h"
// 29
// 33
// 37
// 39
// 45
// 49
// 1 "../lib/stdint.h"
// 19
// 24
// 26
// 30
// 36
// 44
// 52
// 1 "../lib/stdint.h"
// 19
// 24
// 26
// 30
// 36
// 44
// 52
// 1 "/usr/include/stdint.h"
// 5
// 8
//ident "@(#)stdint.h 1.1 03/12/04 SMI"
// 16
// 1 "/usr/include/sys/stdint.h"
// 5
// 8
//ident "@(#)stdint.h 1.1 03/12/04 SMI"
// 16
// 1 "/usr/include/sys/int_types.h"
// 5
// 8
//ident "@(#)int_types.h 1.10 04/09/28 SMI"
// 33
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 35 "/usr/include/sys/int_types.h"
// 39
// 54
typedef char int8_t;
// 60
typedef short int16_t;
typedef int int32_t;
// 68
typedef long long int64_t;
// 71
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
// 79
typedef unsigned long long uint64_t;
// 82
// 88
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
// 94
// 104
typedef int intptr_t;
typedef unsigned int uintptr_t;
// 107
// 113
typedef char int_fast8_t;
// 119
typedef int int_fast16_t;
typedef int int_fast32_t;
// 125
typedef long long int_fast64_t;
// 128
typedef unsigned char uint_fast8_t;
typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
// 136
typedef unsigned long long uint_fast64_t;
// 139
// 145
typedef char int_least8_t;
// 151
typedef short int_least16_t;
typedef int int_least32_t;
// 157
typedef long long int_least64_t;
// 160
typedef unsigned char uint_least8_t;
typedef unsigned short uint_least16_t;
typedef unsigned int uint_least32_t;
// 168
typedef unsigned long long uint_least64_t;
// 171
// 175
// 1 "/usr/include/sys/int_limits.h"
// 5
// 8
//ident "@(#)int_limits.h 1.9 04/09/28 SMI"
// 34
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 36 "/usr/include/sys/int_limits.h"
// 40
// 72
// 81
// 87
// 93
// 102
// 109
// 118
// 125
// 139
// 146
// 159
// 164
// 173
// 178
// 185
// 196
// 202
// 211
// 220
// 227
// 234
// 239
// 248
// 253
// 255
// 259
// 1 "/usr/include/sys/int_const.h"
// 5
// 8
//ident "@(#)int_const.h 1.5 04/09/28 SMI"
// 32
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 34 "/usr/include/sys/int_const.h"
// 38
// 55
// 61
// 72
// 76
// 79
// 81
// 88
// 92
// 100
// 102
// 109
// 113
// 20 "/usr/include/sys/stdint.h"
// 18 "/usr/include/stdint.h"
// 59 "../lib/stdint.h"
// 62
// 1 "/usr/include/sys/types.h"
// 12
// 15
//ident "@(#)types.h 1.86 07/09/20 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 20 "/usr/include/sys/types.h"
// 1 "/usr/include/sys/machtypes.h"
// 5
// 15
//ident "@(#)machtypes.h 1.13 99/05/04 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 19 "/usr/include/sys/machtypes.h"
// 23
// 29
// 32
typedef struct _label_t { long val[2]; } label_t;
// 36
typedef unsigned char lock_t;
// 42
// 25 "/usr/include/sys/types.h"
// 1 "/usr/include/sys/int_types.h"
// 5
// 38 "/usr/include/sys/types.h"
// 42
// 46
// 53
typedef long long longlong_t;
typedef unsigned long long u_longlong_t;
// 66
// 76
typedef long t_scalar_t;
typedef unsigned long t_uscalar_t;
// 79
// 83
typedef unsigned char uchar_t;
typedef unsigned short ushort_t;
typedef unsigned int uint_t;
typedef unsigned long ulong_t;
typedef char *caddr_t;
typedef long daddr_t;
typedef short cnt_t;
// 97
typedef int ptrdiff_t;
// 100
// 104
typedef ulong_t pfn_t;
typedef ulong_t pgcnt_t;
typedef long spgcnt_t;
typedef uchar_t use_t;
typedef short sysid_t;
typedef short index_t;
typedef void *timeout_id_t;
typedef void *bufcall_id_t;
// 124
// 128
typedef longlong_t off_t;
// 130
// 135
typedef longlong_t off64_t;
// 138
// 140
// 147
typedef u_longlong_t ino_t;
typedef longlong_t blkcnt_t;
typedef u_longlong_t fsblkcnt_t;
typedef u_longlong_t fsfilcnt_t;
// 152
// 160
typedef u_longlong_t ino64_t;
typedef longlong_t blkcnt64_t;
typedef u_longlong_t fsblkcnt64_t;
typedef u_longlong_t fsfilcnt64_t;
// 166
// 170
typedef long blksize_t;
// 172
// 176
typedef enum { B_FALSE, B_TRUE } boolean_t;
// 178
// 192
typedef int64_t pad64_t;
typedef uint64_t upad64_t;
// 205
typedef union {
long double _q;
int32_t _l[4];
} pad128_t;
typedef union {
long double _q;
uint32_t _l[4];
} upad128_t;
typedef longlong_t offset_t;
typedef u_longlong_t u_offset_t;
typedef u_longlong_t len_t;
typedef u_longlong_t diskaddr_t;
// 223
// 238
// 240
typedef union {
offset_t _f;
struct {
int32_t _u;
int32_t _l;
} _p;
} lloff_t;
// 248
// 258
// 260
typedef union {
longlong_t _f;
struct {
int32_t _u;
int32_t _l;
} _p;
} lldaddr_t;
// 268
typedef uint_t k_fltset_t;
// 283
typedef long id_t;
// 285
typedef id_t lgrp_id_t;
// 292
typedef uint_t useconds_t;
// 296
typedef long suseconds_t;
// 298
// 306
typedef ulong_t major_t;
typedef ulong_t minor_t;
// 309
// 313
typedef short pri_t;
// 319
typedef ushort_t cpu_flag_t;
// 332
typedef ushort_t o_mode_t;
typedef short o_dev_t;
typedef ushort_t o_uid_t;
typedef o_uid_t o_gid_t;
typedef short o_nlink_t;
typedef short o_pid_t;
typedef ushort_t o_ino_t;
// 344
typedef int key_t;
// 348
typedef ulong_t mode_t;
// 350
// 356
typedef long uid_t;
// 359
typedef uid_t gid_t;
typedef id_t taskid_t;
typedef id_t projid_t;
typedef id_t poolid_t;
typedef id_t zoneid_t;
typedef id_t ctid_t;
// 373
typedef uint_t pthread_t;
typedef uint_t pthread_key_t;
// 381
typedef struct _pthread_mutex {
struct {
uint16_t __pthread_mutex_flag1;
uint8_t __pthread_mutex_flag2;
uint8_t __pthread_mutex_ceiling;
uint16_t __pthread_mutex_type;
uint16_t __pthread_mutex_magic;
} __pthread_mutex_flags;
union {
struct {
uint8_t __pthread_mutex_pad[8];
} __pthread_mutex_lock64;
struct {
uint32_t __pthread_ownerpid;
uint32_t __pthread_lockword;
} __pthread_mutex_lock32;
upad64_t __pthread_mutex_owner64;
} __pthread_mutex_lock;
upad64_t __pthread_mutex_data;
} pthread_mutex_t;
typedef struct _pthread_cond {
struct {
uint8_t __pthread_cond_flag[4];
uint16_t __pthread_cond_type;
uint16_t __pthread_cond_magic;
} __pthread_cond_flags;
upad64_t __pthread_cond_data;
} pthread_cond_t;
// 415
typedef struct _pthread_rwlock {
int32_t __pthread_rwlock_readers;
uint16_t __pthread_rwlock_type;
uint16_t __pthread_rwlock_magic;
pthread_mutex_t __pthread_rwlock_mutex;
pthread_cond_t __pthread_rwlock_readercv;
pthread_cond_t __pthread_rwlock_writercv;
} pthread_rwlock_t;
// 427
typedef struct {
uint32_t __pthread_barrier_count;
uint32_t __pthread_barrier_current;
upad64_t __pthread_barrier_cycle;
upad64_t __pthread_barrier_reserved;
pthread_mutex_t __pthread_barrier_lock;
pthread_cond_t __pthread_barrier_cond;
} pthread_barrier_t;
typedef pthread_mutex_t pthread_spinlock_t;
// 441
typedef struct _pthread_attr {
void *__pthread_attrp;
} pthread_attr_t;
// 448
typedef struct _pthread_mutexattr {
void *__pthread_mutexattrp;
} pthread_mutexattr_t;
// 455
typedef struct _pthread_condattr {
void *__pthread_condattrp;
} pthread_condattr_t;
// 462
typedef struct _once {
upad64_t __pthread_once_pad[4];
} pthread_once_t;
// 470
typedef struct _pthread_rwlockattr {
void *__pthread_rwlockattrp;
} pthread_rwlockattr_t;
// 478
typedef struct {
void *__pthread_barrierattrp;
} pthread_barrierattr_t;
typedef ulong_t dev_t;
// 488
typedef ulong_t nlink_t;
typedef long pid_t;
// 491
// 497
typedef uint_t size_t;
// 500
// 506
typedef int ssize_t;
// 509
// 512
typedef long time_t;
// 514
// 517
typedef long clock_t;
// 519
// 522
typedef int clockid_t;
// 524
// 527
typedef int timer_t;
// 529
// 531
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
// 562
// 564
// 572
// 579
// 586
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef struct _quad { int val[2]; } quad_t;
typedef quad_t quad;
// 1 "/usr/include/sys/select.h"
// 5
// 14
//ident "@(#)select.h 1.19 04/01/28 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 18 "/usr/include/sys/select.h"
// 1 "/usr/include/sys/time_impl.h"
// 5
// 15
// 18
//ident "@(#)time_impl.h 1.11 05/05/19 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 22 "/usr/include/sys/time_impl.h"
// 26
// 28
// 33
// 37
typedef struct timespec {
time_t tv_sec;
long tv_nsec;
} timespec_t;
// 61
typedef struct timespec timestruc_t;
// 68
// 72
// 76
typedef struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
} itimerspec_t;
// 98
// 100
// 109
// 113
// 116
// 120
// 1 "/usr/include/sys/time.h"
// 13
// 18
// 21
//ident "@(#)time.h 2.77 09/06/02 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 25 "/usr/include/sys/time.h"
// 30
// 34
// 38
// 43
// 48
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
// 75
// 78
// 81
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
// 88
// 92
// 1 "/usr/include/sys/types.h"
// 12
// 101 "/usr/include/sys/time.h"
// 105
// 107
// 119
// 130
// 132
// 134
// 136
// 143
// 146
// 150
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
// 179
// 182
// 189
// 191
// 193
// 197
typedef longlong_t hrtime_t;
// 318
// 321
int adjtime(struct timeval *, struct timeval *);
// 326
// 330
int futimesat(int, const char *, const struct timeval *);
// 335
// 338
// 340
int getitimer(int, struct itimerval *);
int utimes(const char *, const struct timeval *);
// 347
int setitimer(int, struct itimerval * __restrict__ ,
struct itimerval * __restrict__ );
// 350
// 358
// 374
// 379
int settimeofday(struct timeval *, void *);
// 381
hrtime_t gethrtime(void);
hrtime_t gethrvtime(void);
// 388
// 390
// 393
// 398
int gettimeofday(struct timeval * __restrict__ , void * __restrict__ );
// 403
// 405
// 1 "../lib/time.h"
// 19
// 23
// 36
// 38
// 1 "../lib/time.h"
// 19
// 23
// 32
// 1 "/usr/include/time.h"
// 12
// 15
//ident "@(#)time.h 1.45 08/01/09 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/iso/time_iso.h"
// 12
// 24
// 27
//ident "@(#)time_iso.h 1.4 04/09/07 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 31 "/usr/include/iso/time_iso.h"
// 35
// 39
// 47
// 56
// 61
// 66
// 68
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
// 83
extern char *asctime(const struct tm *);
extern clock_t clock(void);
extern char *ctime(const time_t *);
extern double difftime(time_t, time_t);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern size_t strftime(char * __restrict__ , size_t, const char * __restrict__ ,
const struct tm * __restrict__ );
// 108
// 112
// 116
// 1 "/usr/include/sys/types.h"
// 12
// 1 "/usr/include/sys/time_impl.h"
// 5
// 15
// 25 "/usr/include/time.h"
// 45
// 49
// 54
// 59
// 61
// 65
extern struct tm *gmtime_r(const time_t * __restrict__ ,
struct tm * __restrict__ );
extern struct tm *localtime_r(const time_t * __restrict__ ,
struct tm * __restrict__ );
// 70
// 73
// 82
extern char *strptime(const char * __restrict__ , const char * __restrict__ ,
struct tm * __restrict__ );
// 87
// 90
// 103
union sigval {
int sival_int;
void *sival_ptr;
};
// 108
// 111
struct sigevent {
int sigev_notify;
int sigev_signo;
union sigval sigev_value;
void (*sigev_notify_function)(union sigval);
pthread_attr_t *sigev_notify_attributes;
int __sigev_pad2;
};
// 120
extern int clock_getres(clockid_t, struct timespec *);
extern int clock_gettime(clockid_t, struct timespec *);
extern int clock_settime(clockid_t, const struct timespec *);
extern int timer_create(clockid_t, struct sigevent * __restrict__ ,
timer_t * __restrict__ );
extern int timer_delete(timer_t);
extern int timer_getoverrun(timer_t);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_settime(timer_t, int, const struct itimerspec * __restrict__ ,
struct itimerspec * __restrict__ );
extern int nanosleep(const struct timespec *, struct timespec *);
extern int clock_nanosleep(clockid_t, int,
const struct timespec *, struct timespec *);
// 137
// 140
extern void tzset(void);
extern char *tzname[2];
// 147
extern long _sysconf(int);
// 149
// 152
// 155
extern long timezone;
extern int daylight;
// 158
// 160
// 163
extern int cftime(char *, char *, const time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern long altzone;
// 167
// 170
extern struct tm *getdate(const char *);
// 176
extern int getdate_err;
// 179
// 219
// 223
// 255
// 259
// 261
// 263
//pragma redefine_extname ctime_r __posix_ctime_r
//pragma redefine_extname asctime_r __posix_asctime_r
// 267
extern char *asctime_r(const struct tm * __restrict__ , char * __restrict__ );
extern char *ctime_r(const time_t *, char *);
// 296
// 303
// 351
// 353
// 357
// 34 "../lib/time.h"
// 40 "../lib/time.h"
// 1 "/usr/include/stddef.h"
// 12
// 15
//ident "@(#)stddef.h 1.18 04/09/28 SMI"
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 1 "/usr/include/iso/stddef_iso.h"
// 12
// 24
// 27
//ident "@(#)stddef_iso.h 1.2 03/03/06 SMI"
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 31 "/usr/include/iso/stddef_iso.h"
// 35
// 39
// 47
// 56
// 65
// 69
// 75
// 79
// 20 "/usr/include/stddef.h"
// 29
// 33
// 42
typedef long wchar_t;
// 47
// 51
// 43 "../lib/time.h"
// 47
// 106
// 114
// 126
// 136
// 156
// 174
// 199
// 217
// 242
// 270
// 298
// 300
// 312
// 315
// 329
// 350
// 360
// 397
// 422
// 436
// 457
extern int _gl_cxxalias_dummy ;
// 460
extern int _gl_cxxalias_dummy ;
// 477
extern int _gl_cxxalias_dummy ;
// 480
extern int _gl_cxxalias_dummy ;
// 482
// 498
// 516
// 540
// 420 "/usr/include/sys/time.h"
// 1 "/usr/include/sys/select.h"
// 5
// 432 "/usr/include/sys/time.h"
// 434
// 438
// 25 "/usr/include/sys/select.h"
// 29
// 32
// 44
typedef struct {
unsigned int __sigbits[4];
} sigset_t;
// 58
// 60
// 86
// 88
typedef long fd_mask;
// 90
typedef long fds_mask;
// 102
// 107
// 114
// 116
typedef struct fd_set {
// 120
long fds_bits[ ( ( ( 1024 ) + ( ( ( sizeof ( fds_mask ) * 8 ) ) - 1 ) ) / ( ( sizeof ( fds_mask ) * 8 ) ) )];
} fd_set;
// 125
// 128
// 131
// 137
// 140
extern int select(int, fd_set * __restrict__ , fd_set * __restrict__ ,
fd_set * __restrict__ , struct timeval * __restrict__ );
// 144
extern int pselect(int, fd_set * __restrict__ , fd_set * __restrict__ ,
fd_set * __restrict__ , const struct timespec * __restrict__ ,
const sigset_t * __restrict__ );
// 148
// 156
// 160
// 601 "/usr/include/sys/types.h"
// 603
// 613
// 615
// 619
// 72 "../lib/stdint.h"
// 1 "/usr/include/limits.h"
// 5
// 15
//ident "@(#)limits.h 1.59 04/08/24 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 1 "/usr/include/iso/limits_iso.h"
// 5
// 24
// 27
//ident "@(#)limits_iso.h 1.2 03/12/04 SMI"
// 33
// 41
// 43
// 53
// 69
// 75
// 77
// 79
// 81
// 85
// 21 "/usr/include/limits.h"
// 1 "/usr/include/sys/int_limits.h"
// 5
// 34 "/usr/include/limits.h"
// 38
// 41
// 43
// 56
// 60
// 64
// 66
// 70
// 72
// 74
// 78
// 122
// 128
// 133
// 137
// 146
// 148
// 161
// 163
// 167
// 173
// 179
// 181
// 183
// 190
// 197
// 202
// 205
// 207
// 211
// 213
// 215
// 217
// 221
// 223
// 226
// 229
// 246
// 251
// 253
// 258
// 262
// 274
// 277
// 279
// 1 "/usr/include/sys/unistd.h"
// 9
// 14
// 20
// 23
//ident "@(#)unistd.h 1.43 06/03/10 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 27 "/usr/include/sys/unistd.h"
// 31
// 35
// 39
// 44
// 49
// 67
// 86
// 98
// 103
// 108
// 136
// 157
// 161
// 167
// 172
// 175
// 191
// 196
// 217
// 226
// 267
// 280
// 284
// 294
// 302
// 308
// 315
// 323
// 331
// 344
// 348
// 352
// 363
// 368
// 372
// 286 "/usr/include/limits.h"
// 295
extern long _sysconf(int);
// 299
// 304
// 308
// 75 "../lib/stdint.h"
// 77
// 1 "/usr/include/inttypes.h"
// 5
// 8
//ident "@(#)inttypes.h 1.4 04/04/29 SMI"
// 19
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/inttypes.h"
// 5
// 8
//ident "@(#)inttypes.h 1.3 03/12/04 SMI"
// 20
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/int_types.h"
// 5
// 1 "/usr/include/sys/int_limits.h"
// 5
// 1 "/usr/include/sys/int_const.h"
// 5
// 1 "/usr/include/sys/int_fmtio.h"
// 5
// 8
//ident "@(#)int_fmtio.h 1.6 04/09/28 SMI"
// 29
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 31 "/usr/include/sys/int_fmtio.h"
// 35
// 57
// 68
// 75
// 98
// 121
// 125
// 146
// 167
// 188
// 209
// 213
// 229
// 250
// 268
// 287
// 303
// 319
// 335
// 354
// 361
// 365
// 28 "/usr/include/sys/inttypes.h"
// 22 "/usr/include/inttypes.h"
// 1 "/usr/include/sys/stdint.h"
// 5
// 27 "/usr/include/inttypes.h"
// 31
// 57
// 60
typedef struct {
intmax_t quot;
intmax_t rem;
} imaxdiv_t;
// 65
// 83
// 86
// 88
extern intmax_t imaxabs(intmax_t);
extern imaxdiv_t imaxdiv(intmax_t, intmax_t);
extern intmax_t strtoimax(const char * __restrict__ , char ** __restrict__ ,
int);
extern uintmax_t strtoumax(const char * __restrict__ , char ** __restrict__ ,
int);
extern intmax_t wcstoimax(const wchar_t * __restrict__ ,
wchar_t ** __restrict__ , int);
extern uintmax_t wcstoumax(const wchar_t * __restrict__ ,
wchar_t ** __restrict__ , int);
// 106
// 108
// 112
// 86 "../lib/stdint.h"
// 93
// 95
// 99
// 102
// 110
// 115
// 118
typedef signed char gl_int8_t;
typedef unsigned char gl_uint8_t;
// 122
// 125
typedef short int gl_int16_t;
typedef unsigned short int gl_uint16_t;
// 129
// 132
typedef int gl_int32_t;
typedef unsigned int gl_uint32_t;
// 136
// 151
typedef long long int gl_int64_t;
// 155
// 168
typedef unsigned long long int gl_uint64_t;
// 172
// 177
// 184
// 205
// 210
// 215
// 224
typedef long int gl_int_fast8_t;
typedef unsigned long int gl_uint_fast8_t;
typedef long int gl_int_fast16_t;
typedef unsigned long int gl_uint_fast16_t;
typedef long int gl_int_fast32_t;
typedef unsigned long int gl_uint_fast32_t;
// 242
// 247
typedef long int gl_intptr_t;
typedef unsigned long int gl_uintptr_t;
// 251
// 256
// 259
typedef long long int gl_intmax_t;
// 267
// 270
typedef unsigned long long int gl_uintmax_t;
// 278
// 282
typedef int _verify_intmax_size[2 * (sizeof ( gl_intmax_t ) == sizeof ( gl_uintmax_t )) - 1];
// 287
// 292
// 299
// 306
// 313
// 317
// 322
// 327
// 333
// 340
// 347
// 354
// 361
// 366
// 372
// 379
// 386
// 393
// 400
// 405
// 414
// 426
// 433
// 453
// 463
// 476
// 493
// 501
// 503
// 507
// 513
// 518
// 523
// 528
// 545
// 556
// 565
// 567
// 59 "../lib/stdint.h"
// 1 "../lib/stdio.h"
// 19
// 23
// 30
// 33
// 1 "../lib/stdio.h"
// 19
// 23
// 30
// 33
// 1 "/usr/include/stdio.h"
// 12
// 16
// 19
//ident "@(#)stdio.h 1.84 04/09/28 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 23 "/usr/include/stdio.h"
// 27
// 34
//pragma redefine_extname fopen fopen64
//pragma redefine_extname freopen freopen64
//pragma redefine_extname tmpfile tmpfile64
//pragma redefine_extname fgetpos fgetpos64
//pragma redefine_extname fsetpos fsetpos64
//pragma redefine_extname fseeko fseeko64
//pragma redefine_extname ftello ftello64
// 47
// 60
// 62
// 66
// 1 "/usr/include/iso/stdio_iso.h"
// 5
// 24
// 28
// 31
//ident "@(#)stdio_iso.h 1.8 05/08/16 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/va_list.h"
// 12
// 15
//ident "@(#)va_list.h 1.15 04/11/19 SMI"
// 37
// 50
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 52 "/usr/include/sys/va_list.h"
// 56
// 62
// 64
// 67
// 74
// 108
typedef void *__va_list;
// 112
// 116
// 1 "/usr/include/stdio_tag.h"
// 5
// 8
//ident "@(#)stdio_tag.h 1.4 04/09/28 SMI"
// 14
// 21
typedef struct __FILE __FILE;
// 23
// 27
// 1 "/usr/include/stdio_impl.h"
// 5
// 8
//ident "@(#)stdio_impl.h 1.15 07/03/05 SMI"
// 1 "/usr/include/sys/isa_defs.h"
// 5
// 12 "/usr/include/stdio_impl.h"
// 16
// 28
struct __FILE
{
// 35
int _cnt;
unsigned char *_ptr;
// 38
unsigned char *_base;
unsigned char _flag;
unsigned char _file;
unsigned __orientation:2;
unsigned __ionolock:1;
unsigned __seekable:1;
unsigned __extendedfd:1;
unsigned __xf_nocheck:1;
unsigned __filler:10;
};
// 51
// 55
// 38 "/usr/include/iso/stdio_iso.h"
// 46
// 50
// 52
// 58
typedef long long __longlong_t;
// 67
// 71
// 74
typedef __FILE FILE;
// 76
// 85
// 89
typedef __longlong_t fpos_t;
// 91
// 95
// 103
// 105
// 117
// 119
// 125
// 130
// 134
// 137
// 142
// 144
// 146
extern __FILE __iob[ 20 ];
// 156
// 160
// 186
// 188
extern int remove(const char *);
extern int rename(const char *, const char *);
extern FILE *tmpfile(void);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern FILE *fopen(const char * __restrict__ , const char * __restrict__ );
extern FILE *freopen(const char * __restrict__ ,
const char * __restrict__ , FILE * __restrict__ );
extern void setbuf(FILE * __restrict__ , char * __restrict__ );
extern int setvbuf(FILE * __restrict__ , char * __restrict__ , int,
size_t);
extern int fprintf(FILE * __restrict__ , const char * __restrict__ , ...);
extern int fscanf(FILE * __restrict__ , const char * __restrict__ , ...);
extern int printf(const char * __restrict__ , ...);
extern int scanf(const char * __restrict__ , ...);
extern int sprintf(char * __restrict__ , const char * __restrict__ , ...);
extern int sscanf(const char * __restrict__ ,
const char * __restrict__ , ...);
extern int vfprintf(FILE * __restrict__ , const char * __restrict__ ,
__va_list);
extern int vprintf(const char * __restrict__ , __va_list);
extern int vsprintf(char * __restrict__ , const char * __restrict__ ,
__va_list);
extern int fgetc(FILE *);
extern char *fgets(char * __restrict__ , int, FILE * __restrict__ );
extern int fputc(int, FILE *);
extern int fputs(const char * __restrict__ , FILE * __restrict__ );
// 225
extern int getc(FILE *);
extern int putc(int, FILE *);
// 230
extern int getchar(void);
extern int putchar(int);
// 233
extern char *gets(char *);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern size_t fread(void * __restrict__ , size_t, size_t,
FILE * __restrict__ );
extern size_t fwrite(const void * __restrict__ , size_t, size_t,
FILE * __restrict__ );
// 241
extern int fgetpos(FILE * __restrict__ , fpos_t * __restrict__ );
extern int fsetpos(FILE *, const fpos_t *);
// 244
extern int fseek(FILE *, long, int);
extern long ftell(FILE *);
extern void rewind(FILE *);
// 249
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
// 253
extern void perror(const char *);
// 256
extern int __filbuf(FILE *);
extern int __flsbuf(int, FILE *);
// 259
// 310
// 314
// 316
// 318
// 338
// 340
// 342
// 352
// 366
// 368
// 370
// 374
// 68 "/usr/include/stdio.h"
// 76
// 131
// 1 "/usr/include/iso/stdio_c99.h"
// 5
// 16
// 19
//ident "@(#)stdio_c99.h 1.2 04/03/29 SMI"
// 25
// 33
// 36
// 52
// 54
extern int vfscanf(FILE * __restrict__ , const char * __restrict__ , __va_list);
extern int vscanf(const char * __restrict__ , __va_list);
extern int vsscanf(const char * __restrict__ , const char * __restrict__ ,
__va_list);
// 68
extern int snprintf(char * __restrict__ , size_t, const char * __restrict__ ,
...);
extern int vsnprintf(char * __restrict__ , size_t, const char * __restrict__ ,
__va_list);
// 76
// 78
// 82
// 137 "/usr/include/stdio.h"
// 141
// 159
// 164
typedef __longlong_t fpos64_t;
// 167
// 177
// 180
// 182
// 187
// 189
// 193
// 196
// 198
extern unsigned char _sibuf[], _sobuf[];
// 200
// 228
// 230
extern unsigned char *_bufendtab[];
extern FILE *_lastbuf;
// 233
// 248
// 250
// 254
extern char *tmpnam_r(char *);
// 256
// 259
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);
// 262
// 268
extern FILE *fdopen(int, const char *);
extern char *ctermid(char *);
extern int fileno(FILE *);
// 274
// 280
extern void flockfile(FILE *);
extern int ftrylockfile(FILE *);
extern void funlockfile(FILE *);
extern int getc_unlocked(FILE *);
extern int getchar_unlocked(void);
extern int putc_unlocked(int, FILE *);
extern int putchar_unlocked(int);
// 289
// 295
extern FILE *popen(const char *, const char *);
extern char *tempnam(const char *, const char *);
extern int pclose(FILE *);
// 299
extern int getsubopt(char **, char *const *, char **);
// 301
// 304
extern char *cuserid(char *);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern int getw(FILE *);
extern int putw(int, FILE *);
// 311
// 313
// 318
extern int fseeko(FILE *, off_t, int);
extern off_t ftello(FILE *);
// 321
// 328
extern FILE *fopen64(const char *, const char *);
extern FILE *freopen64(const char *, const char *, FILE *);
extern FILE *tmpfile64(void);
extern int fgetpos64(FILE *, fpos64_t *);
extern int fsetpos64(FILE *, const fpos64_t *);
extern int fseeko64(FILE *, off64_t, int);
extern off64_t ftello64(FILE *);
// 336
// 409
// 411
// 436
// 438
// 442
// 36 "../lib/stdio.h"
// 39
// 1 "/usr/include/stdarg.h"
// 12
// 15
//ident "@(#)stdarg.h 1.47 04/09/28 SMI"
// 29
// 31
// 1 "/usr/include/iso/stdarg_iso.h"
// 12
// 24
// 27
//ident "@(#)stdarg_iso.h 1.4 04/11/19 SMI"
// 40
// 1 "/usr/include/sys/va_impl.h"
// 12
// 15
//ident "@(#)va_impl.h 1.1 04/11/19 SMI"
// 33
// 49
// 58
// 73
// 86
// 1 "/usr/include/sys/va_list.h"
// 12
// 88 "/usr/include/sys/va_impl.h"
// 92
// 124
// 131
// 153
// 157
// 42 "/usr/include/iso/stdarg_iso.h"
// 46
// 53
typedef __va_list va_list;
// 55
// 59
// 63
// 1 "/usr/include/iso/stdarg_c99.h"
// 12
// 15
//ident "@(#)stdarg_c99.h 1.2 04/09/28 SMI"
// 33
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 35 "/usr/include/iso/stdarg_c99.h"
// 39
// 48
// 50
// 52
// 56
// 34 "/usr/include/stdarg.h"
// 42
// 48
// 42 "../lib/stdio.h"
// 1 "/usr/include/stddef.h"
// 12
// 44 "../lib/stdio.h"
// 1 "/usr/include/sys/types.h"
// 12
// 47 "../lib/stdio.h"
// 49
// 59
// 317
// 329
// 346
// 367
// 377
// 381
// 408
// 427
// 451
// 456
extern int _gl_warn_on_use ;
// 477
// 490
extern int _gl_cxxalias_dummy ;
// 492
extern int _gl_cxxalias_dummy ;
// 503
// 531
// 541
extern int _gl_cxxalias_dummy ;
// 543
extern int _gl_cxxalias_dummy ;
// 545
// 556
extern int _gl_cxxalias_dummy ;
// 558
extern int _gl_cxxalias_dummy ;
// 560
// 583
// 615
// 634
// 683
// 692
// 713
// 758
// 767
// 781
extern int _gl_cxxalias_dummy ;
// 784
extern int _gl_cxxalias_dummy ;
// 786
// 825
// 862
// 864
struct obstack;
// 882
extern int obstack_printf ( struct obstack * obs , const char * format , ... ) ;
// 887
extern int _gl_cxxalias_dummy ;
// 890
extern int _gl_cxxalias_dummy ;
// 903
extern int obstack_vprintf ( struct obstack * obs , const char * format , va_list args ) ;
// 908
extern int _gl_cxxalias_dummy ;
// 911
extern int _gl_cxxalias_dummy ;
// 913
// 934
// 955
// 980
extern int _gl_cxxalias_dummy ;
// 982
extern int _gl_cxxalias_dummy ;
// 993
// 1003
extern int _gl_cxxalias_dummy ;
// 1005
extern int _gl_cxxalias_dummy ;
// 1007
// 1017
extern int _gl_cxxalias_dummy ;
// 1019
extern int _gl_cxxalias_dummy ;
// 1021
// 1031
extern int _gl_cxxalias_dummy ;
// 1033
extern int _gl_cxxalias_dummy ;
// 1035
// 1054
// 1077
// 1106
// 1136
// 1145
// 1166
// 1185
// 1234
// 1263
// 1276
// 1279
extern int _gl_cxxalias_dummy ;
// 1282
extern int _gl_cxxalias_dummy ;
// 1293
// 1306
// 1309
extern int _gl_cxxalias_dummy ;
// 1311
extern int _gl_cxxalias_dummy ;
// 1322
// 1352
// 1379
// 36 "../lib/stdio.h"
// 1 "/usr/include/sys/types.h"
// 12
// 1 "../lib/sys/stat.h"
// 18
// 24
// 28
// 35
// 38
// 1 "/usr/include/sys/types.h"
// 12
// 41 "../lib/sys/stat.h"
// 1 "../lib/time.h"
// 19
// 23
// 32
// 1 "../lib/time.h"
// 19
// 23
// 32
// 1 "/usr/include/time.h"
// 12
// 34 "../lib/time.h"
// 34 "../lib/time.h"
// 44 "../lib/sys/stat.h"
// 1 "../lib/sys/stat.h"
// 18
// 24
// 28
// 35
// 38
// 1 "/usr/include/sys/types.h"
// 12
// 41 "../lib/sys/stat.h"
// 1 "../lib/time.h"
// 19
// 23
// 32
// 1 "../lib/time.h"
// 19
// 23
// 32
// 1 "/usr/include/time.h"
// 12
// 34 "../lib/time.h"
// 34 "../lib/time.h"
// 44 "../lib/sys/stat.h"
// 1 "/usr/include/sys/stat.h"
// 5
// 17
//ident "@(#)stat.h 1.11 04/09/28 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/types.h"
// 12
// 22 "/usr/include/sys/stat.h"
// 26
// 1 "/usr/include/sys/time_impl.h"
// 5
// 15
// 45 "/usr/include/sys/stat.h"
// 47
// 51
// 140
//pragma redefine_extname fstat fstat64
//pragma redefine_extname stat stat64
//pragma redefine_extname fstatat fstatat64
// 152
//pragma redefine_extname lstat lstat64
// 168
// 196
// 200
// 227
struct stat {
dev_t st_dev;
long st_pad1[3];
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
long st_pad2[2];
off_t st_size;
// 243
timestruc_t st_atim;
timestruc_t st_mtim;
timestruc_t st_ctim;
// 251
blksize_t st_blksize;
blkcnt_t st_blocks;
char st_fstype[ 16 ];
long st_pad4[8];
};
// 258
// 288
struct stat64 {
dev_t st_dev;
long st_pad1[3];
ino64_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
long st_pad2[2];
off64_t st_size;
// 301
timestruc_t st_atim;
timestruc_t st_mtim;
timestruc_t st_ctim;
// 309
blksize_t st_blksize;
blkcnt64_t st_blocks;
char st_fstype[ 16 ];
long st_pad4[8];
};
// 317
// 327
// 329
// 386
// 412
// 427
// 438
// 443
// 458
// 460
// 462
// 465
extern int fchmod(int, mode_t);
// 467
extern int chmod(const char *, mode_t);
extern int mkdir(const char *, mode_t);
extern int mkfifo(const char *, mode_t);
extern mode_t umask(mode_t);
// 476
extern int fstat64(int, struct stat64 *);
extern int stat64(const char * __restrict__ , struct stat64 * __restrict__ );
extern int lstat64(const char * __restrict__ , struct stat64 * __restrict__ );
// 481
extern int fstatat64(int, const char *, struct stat64 *, int);
// 484
// 510
// 1 "/usr/include/sys/stat_impl.h"
// 5
// 8
//ident "@(#)stat_impl.h 1.4 03/12/04 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/types.h"
// 12
// 13 "/usr/include/sys/stat_impl.h"
// 17
// 21
// 23
// 25
extern int fstat(int, struct stat *);
extern int stat(const char * __restrict__ , struct stat * __restrict__ );
// 30
extern int fstatat(int, const char *, struct stat *, int);
// 32
// 34
extern int lstat(const char * __restrict__ , struct stat * __restrict__ );
extern int mknod(const char *, mode_t, dev_t);
// 37
// 52
// 54
// 58
// 512 "/usr/include/sys/stat.h"
// 514
// 518
// 47 "../lib/sys/stat.h"
// 50
// 307
// 319
// 336
// 357
// 367
// 374
// 378
// 392
// 400
// 408
// 416
// 420
// 428
// 436
// 446
// 454
// 462
// 466
// 474
// 482
// 487
// 491
// 500
// 508
// 513
// 518
// 523
// 528
// 537
// 542
// 555
// 568
// 581
// 591
// 596
// 600
// 606
// 624
// 633
extern int _gl_cxxalias_dummy ;
// 635
extern int _gl_cxxalias_dummy ;
// 666
// 690
// 727
// 758
// 769
// 786
extern int _gl_cxxalias_dummy ;
// 789
extern int _gl_cxxalias_dummy ;
// 806
// 832
// 848
// 874
// 892
// 918
// 948
// 47 "../lib/sys/stat.h"
// 31 "base.h"
// 1 "/usr/include/limits.h"
// 5
// 44 "base.h"
// 48
// 56
enum kwsub
{
kwsub_kv,
kwsub_kvl,
kwsub_k,
kwsub_v,
kwsub_o,
kwsub_b
};
// 80
// 89
// 92
// 95
// 98
// 101
// 104
// 107
// 110
// 113
// 134
// 137
// 142
// 151
// 156
// 158
// 162
// 164
// 174
// 177
// 179
// 181
// 183
// 185
// 188
// 190
// 194
struct diffcmd
{
long line1;
long nlines;
long adprev;
long dafter;
};
// 213
// 219
// 225
enum tokens
{
DELIM, DIGIT, IDCHAR, NEWLN, LETTER, Letter,
PERIOD, SBEGIN, SPACE, UNKN,
COLON, ID, NUM, SEMI, STRING
};
// 240
struct cbuf
{
char const *string;
size_t size;
};
struct delta
{
char const *num;
char const *date;
char const *author;
char const *lockedby;
char const *state;
struct atat *log, *text;
char const *name;
struct cbuf pretty_log;
struct wlink *branches;
char const *commitid;
// 280
struct delta *ilk;
_Bool selector;
// 290
off_t neck;
};
struct rcslock
{
char const *login;
struct delta *delta;
};
struct symdef
{
char const *meaningful;
char const *underlying;
};
// 309
struct u_symdef
{
struct symdef u;
_Bool override;
};
struct tinysym
{
gl_uint8_t len;
gl_uint8_t bytes[];
};
struct pool_found
{
int i;
struct tinysym *sym;
};
// 329
// 332
enum markers
{
Author, Date, Header, Id,
Locker, Log, Name, RCSfile, Revision, Source, State
};
// 342
// 345
// 348
struct maybe;
typedef struct fro * (open_rcsfile_fn) (struct maybe *);
// 362
struct maybe
{
open_rcsfile_fn *open;
_Bool mustread;
struct cbuf tentative;
struct divvy *space;
struct cbuf bestfit;
struct stat *status;
int eno;
};
extern const char const prog_co[];
extern const char const prog_merge[];
extern const char const prog_diff[];
extern const char const prog_diff3[];
// 388
extern const char const diff_flags[];
extern const char const equal_line[];
struct program
{
const char const *name;
const char const *help;
void (*exiterr) (void) ;
};
enum maker { notmade, real, effective };
struct sff
{
char const *filename;
enum maker disposition;
};
// 417
struct behavior
{
_Bool unbufferedp;
// 423
_Bool quiet;
// 434
_Bool interactive_valid;
_Bool interactive;
// 442
_Bool inclusive_of_Locker_in_Id_val;
_Bool strictly_locking;
// 454
_Bool version_set;
int version;
// 462
_Bool stick_with_euid;
// 466
int ruid, euid;
_Bool ruid_cached, euid_cached;
// 472
_Bool already_setuid;
// 476
int kws;
// 481
char const *pe;
// 489
struct zone_offset
{
_Bool valid;
// 496
long seconds;
// 500
} zone_offset;
char *username;
// 505
time_t now;
// 509
_Bool fixed_SIGCHLD;
// 514
_Bool Oerrloop;
// 518
char *cwd;
// 522
size_t mem_limit;
// 529
struct sff *sff;
// 535
struct isr_scratch *isr;
struct ephemstuff *ephemstuff;
struct maketimestuff *maketimestuff;
};
struct manifestation
{
// 547
char *filename;
FILE *standard_output;
// 554
struct {
_Bool valid;
char *author;
char *date;
char *name;
char *rev;
char *state;
} prev;
};
// 569
struct repo
{
char const *head;
char const *branch;
size_t access_count;
struct link *access;
size_t symbols_count;
struct link *symbols;
size_t locks_count;
struct link *locks;
_Bool strict;
struct atat *comment;
int expand;
size_t deltas_count;
struct wlink *deltas;
struct atat *desc;
off_t neck;
// 613
struct lockdef *lockdefs;
struct hash *ht;
};
struct repository
{
char const *filename;
// 624
int fd_lock;
// 628
struct stat stat;
// 632
struct repo *r;
// 636
struct delta *tip;
// 640
struct cbuf log_lead;
// 644
};
struct flow
{
struct fro *from;
// 652
FILE *rewr;
// 656
FILE *to;
// 661
FILE *res;
// 665
char const *result;
// 669
_Bool erroneousp;
// 674
};
struct top
{
struct program const *program;
struct behavior behavior;
struct manifestation manifestation;
struct repository repository;
struct flow flow;
};
extern struct top *top;
// 697
extern const char const ks_revno[];
extern const struct tinysym ( ( tiny_ciklog ) );
extern const struct tinysym ( ( tiny_access ) );
extern const struct tinysym ( ( tiny_author ) );
extern const struct tinysym ( ( tiny_branch ) );
extern const struct tinysym ( ( tiny_branches ) );
extern const struct tinysym ( ( tiny_comment ) );
extern const struct tinysym ( ( tiny_commitid ) );
extern const struct tinysym ( ( tiny_date ) );
extern const struct tinysym ( ( tiny_desc ) );
extern const struct tinysym ( ( tiny_expand ) );
extern const struct tinysym ( ( tiny_head ) );
extern const struct tinysym ( ( tiny_locks ) );
extern const struct tinysym ( ( tiny_log ) );
extern const struct tinysym ( ( tiny_next ) );
extern const struct tinysym ( ( tiny_state ) );
extern const struct tinysym ( ( tiny_strict ) );
// 719
extern const struct tinysym ( ( tiny_symbols ) );
extern const struct tinysym ( ( tiny_text ) );
_Bool looking_at (struct tinysym const *sym, char const *start);
int recognize_kwsub (struct cbuf const *x);
int str2expmode (char const *s);
const char const *kwsub_string (enum kwsub i);
_Bool recognize_keyword (char const *string, struct pool_found *found);
int merge ( _Bool tostdout, char const *edarg,
char const *const label[3],
char const *const argv[3]);
struct editstuff *make_editstuff (void);
void unmake_editstuff (struct editstuff *es);
int un_link (char const *s);
void openfcopy (FILE *f);
void finishedit (struct editstuff *es, struct delta const * delta,
FILE *outfile, _Bool done);
void snapshotedit (struct editstuff *es, FILE *f);
void copystring (struct editstuff *es, struct atat *atat);
void enterstring (struct editstuff *es, struct atat *atat);
void editstring (struct editstuff *es, struct atat const *script,
struct delta const *delta);
struct fro *rcswriteopen (struct maybe *m);
int chnamemod (FILE **fromp, char const *from, char const *to,
int set_mode, mode_t mode, time_t mtime);
int setmtime (char const *file, time_t mtime);
int findlock ( _Bool delete, struct delta **target);
int addsymbol (char const *num, char const *name, _Bool rebind);
_Bool checkaccesslist (void);
int dorewrite ( _Bool lockflag, int changed);
int donerewrite (int changed, time_t newRCStime);
void ORCSclose (void);
void ORCSerror (void);
void unexpected_EOF (void)
;
void initdiffcmd (struct diffcmd *dc);
int getdiffcmd (struct fro *finfile, _Bool delimiter,
FILE *foutfile, struct diffcmd *dc);
int rcsfcmp (struct fro *xfp, struct stat const *xstatp,
char const *uname, struct delta const *delta);
char const *basefilename (char const *p);
char const *rcssuffix (char const *name);
struct fro *rcsreadopen (struct maybe *m);
int pairnames (int argc, char **argv, open_rcsfile_fn *rcsopen,
_Bool mustread, _Bool quiet);
char const *getfullRCSname (void);
_Bool isSLASH (int c);
char const *buildrevision (struct wlink const *deltas,
struct delta *target,
FILE *outfile, _Bool expandflag);
struct cbuf cleanlogmsg (char const *m, size_t s);
_Bool ttystdin (void);
int getcstdin (void);
_Bool yesorno ( _Bool default_answer, char const *question, ...)
;
void write_desc_maybe (FILE *to);
void putdesc (struct cbuf *cb, _Bool textflag, char *textfile);
struct cbuf getsstdin (char const *option, char const *name, char const *note);
void format_assocs (FILE *out, char const *fmt);
void format_locks (FILE *out, char const *fmt);
void putadmin (void);
void puttree (struct delta const *root, FILE *fout);
_Bool putdtext (struct delta const *delta, char const *srcname,
FILE *fout, _Bool diffmt);
void putstring (FILE *out, _Bool delim, struct cbuf s, _Bool log);
void putdftext (struct delta const *delta, struct fro *finfile,
FILE *foutfile, _Bool diffmt);
_Bool getoldkeys (struct fro *);
extern const enum tokens const ctab[];
char const *checkid (char const *id, int delimiter);
char const *checksym (char const *sym, int delimiter);
void checksid (char const *id);
void checkssym (char const *sym);
int countnumflds (char const *s);
struct cbuf take (size_t count, char const *ref);
int cmpnum (char const *num1, char const *num2);
int cmpnumfld (char const *num1, char const *num2, int fld);
int cmpdate (char const *d1, char const *d2);
int compartial (char const *num1, char const *num2, int length);
struct delta *genrevs (char const *revno, char const *date,
char const *author, char const *state,
struct wlink **store);
struct delta *gr_revno (char const *revno, struct wlink **store);
struct delta *delta_from_ref (char const *ref);
_Bool fully_numeric (struct cbuf *ans, char const *source, struct fro *fp);
char const *namedrev (char const *name, struct delta *delta);
char const *tiprev (void);
void time2date (time_t unixtime, char date[ ( 16 + 16 )]);
void str2date (char const *source, char target[ ( 16 + 16 )]);
time_t date2time (char const source[ ( 16 + 16 )]);
void zone_set (char const *s);
char const *date2str (char const date[ ( 16 + 16 )],
char datebuf[ ( 16 + 16 ) + 9 ]);
void exit_failurefully (void)
;
void exit_diff_trouble (void)
;
void gnurcs_init (struct program const *program);
void bad_option (char const *option);
void redefined (int c);
struct cbuf minus_p (char const *xrev, char const *rev);
void parse_revpairs (char option, char *arg,
void (*put) (char const *b, char const *e, _Bool sawsep));
void ffree (void);
char *str_save (char const *s);
char *cgetenv (char const *name);
void awrite (char const *buf, size_t chars, FILE *f);
int runv (int infd, char const *outname, char const **args);
int run (int infd, char const *outname, ...);
void setRCSversion (char const *str);
int getRCSINIT (int argc, char **argv, char ***newargv);
// 853
// 858
// 860
// 863
// 872
// 874
// 876
// 878
// 880
// 882
// 887
// 891
// 895
// 898
// 901
// 1 "/usr/include/stdbool.h"
// 5
// 1 "../lib/obstack.h"
// 18
// 100
// 106
// 111
// 1 "/usr/include/stddef.h"
// 12
// 118 "../lib/obstack.h"
// 122
// 124
// 131
// 135
// 1 "../lib/string.h"
// 19
// 21
// 25
// 1 "../lib/string.h"
// 19
// 21
// 25
// 1 "/usr/include/string.h"
// 12
// 15
//ident "@(#)string.h 1.27 07/01/14 SMI"
// 1 "/usr/include/iso/string_iso.h"
// 12
// 24
// 27
//ident "@(#)string_iso.h 1.5 04/06/18 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 31 "/usr/include/iso/string_iso.h"
// 35
// 39
// 48
// 56
// 58
extern int memcmp(const void *, const void *, size_t);
extern void *memcpy(void * __restrict__ , const void * __restrict__ , size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern char *strcat(char * __restrict__ , const char * __restrict__ );
extern int strcmp(const char *, const char *);
extern char *strcpy(char * __restrict__ , const char * __restrict__ );
extern int strcoll(const char *, const char *);
extern size_t strcspn(const char *, const char *);
extern char *strerror(int);
extern size_t strlen(const char *);
extern char *strncat(char * __restrict__ , const char * __restrict__ , size_t);
extern int strncmp(const char *, const char *, size_t);
extern char *strncpy(char * __restrict__ , const char * __restrict__ , size_t);
extern size_t strspn(const char *, const char *);
extern char *strtok(char * __restrict__ , const char * __restrict__ );
extern size_t strxfrm(char * __restrict__ , const char * __restrict__ , size_t);
// 129
extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
// 135
// 162
// 166
// 170
// 19 "/usr/include/string.h"
// 49
// 53
// 55
// 59
extern int strerror_r(int, char *, size_t);
// 61
// 65
extern char *strtok_r(char * __restrict__ , const char * __restrict__ ,
char ** __restrict__ );
// 68
// 71
extern void *memccpy(void * __restrict__ , const void * __restrict__ ,
int, size_t);
// 74
// 77
extern int uucopy(const void * __restrict__ , void * __restrict__ , size_t);
extern int uucopystr(const void * __restrict__ , void * __restrict__ , size_t);
extern char *strsignal(int);
extern int ffs(int);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);
extern size_t strlcat(char *, const char *, size_t);
// 86
// 90
extern char *strdup(const char *);
// 92
// 126
// 130
// 28 "../lib/string.h"
// 31
// 1 "/usr/include/stddef.h"
// 12
// 34 "../lib/string.h"
// 39
// 46
// 52
// 59
// 316
// 328
// 345
// 366
// 376
// 394
// 397
extern int _gl_cxxalias_dummy ;
// 407
extern int _gl_cxxalias_dummy ;
// 415
// 451
// 472
// 500
// 530
// 548
// 583
// 593
// 621
// 649
// 671
// 697
// 727
// 739
// 778
// 788
// 798
// 837
// 876
// 925
// 988
// 992
// 1011
// 1018
// 1038
// 1058
// 1067
// 1078
// 1092
// 1105
// 1115
// 1125
// 1145
// 1155
// 1174
// 1195
// 1215
// 1239
// 1254
// 28 "../lib/string.h"
// 137 "../lib/obstack.h"
// 141
struct _obstack_chunk
{
char *limit;
struct _obstack_chunk *prev;
char contents[4];
};
struct obstack
{
long chunk_size;
struct _obstack_chunk *chunk;
char *object_base;
char *next_free;
char *chunk_limit;
union
{
ptrdiff_t tempint;
void *tempptr;
} temp;
int alignment_mask;
// 165
struct _obstack_chunk *(*chunkfun) (void *, long);
void (*freefun) (void *, struct _obstack_chunk *);
void *extra_arg;
unsigned use_extra_arg:1;
unsigned maybe_empty_object:1;
// 173
unsigned alloc_failed:1;
// 176
};
extern void _obstack_newchunk (struct obstack *, int);
extern int _obstack_begin (struct obstack *, int, int,
void *(*) (long), void (*) (void *));
extern int _obstack_begin_1 (struct obstack *, int, int,
void *(*) (void *, long),
void (*) (void *, void *), void *);
extern int _obstack_memory_used (struct obstack *);
// 193
extern void obstack_free ( struct obstack * obstack , void * block );
// 200
extern void (*obstack_alloc_failed_handler) (void);
extern int obstack_exit_failure;
// 208
// 210
// 214
// 218
// 222
// 228
// 233
// 238
// 243
// 246
// 249
// 251
// 253
// 255
// 409
// 412
// 415
// 421
// 427
// 432
// 439
// 447
// 452
// 457
// 462
// 465
// 468
// 474
// 477
// 480
// 483
// 497
// 505
// 507
// 511
// 1 "../lib/stdlib.h"
// 18
// 22
// 29
// 32
// 1 "../lib/stdlib.h"
// 18
// 22
// 29
// 32
// 1 "/usr/include/stdlib.h"
// 5
// 15
//ident "@(#)stdlib.h 1.51 04/06/30 SMI"
// 1 "/usr/include/iso/stdlib_iso.h"
// 5
// 24
// 27
//ident "@(#)stdlib_iso.h 1.9 04/09/28 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 31 "/usr/include/iso/stdlib_iso.h"
// 35
// 37
extern unsigned char __ctype[];
// 43
// 47
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
// 66
// 74
// 78
// 104
// 106
extern void abort(void) ;
extern int abs(int);
extern int atexit(void (*)(void));
extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
extern void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *));
// 121
extern void *calloc(size_t, size_t);
extern div_t div(int, int);
extern void exit(int)
;
extern void free(void *);
extern char *getenv(const char *);
extern long int labs(long);
extern ldiv_t ldiv(long, long);
extern void *malloc(size_t);
extern int mblen(const char *, size_t);
extern size_t mbstowcs(wchar_t * __restrict__ , const char * __restrict__ ,
size_t);
extern int mbtowc(wchar_t * __restrict__ , const char * __restrict__ , size_t);
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
// 140
extern int rand(void);
extern void *realloc(void *, size_t);
extern void srand(unsigned int);
extern double strtod(const char * __restrict__ , char ** __restrict__ );
extern long int strtol(const char * __restrict__ , char ** __restrict__ , int);
extern unsigned long int strtoul(const char * __restrict__ ,
char ** __restrict__ , int);
extern int system(const char *);
extern int wctomb(char *, wchar_t);
extern size_t wcstombs(char * __restrict__ , const wchar_t * __restrict__ ,
size_t);
// 158
// 191
// 195
// 199
// 1 "/usr/include/iso/stdlib_c99.h"
// 5
// 16
// 19
//ident "@(#)stdlib_c99.h 1.2 04/03/29 SMI"
// 25
// 33
// 35
typedef struct {
long long quot;
long long rem;
} lldiv_t;
// 40
// 42
// 45
extern void _Exit(int);
extern float strtof(const char * __restrict__ , char ** __restrict__ );
extern long double strtold(const char * __restrict__ , char ** __restrict__ );
// 51
extern long long atoll(const char *);
extern long long llabs(long long);
extern lldiv_t lldiv(long long, long long);
extern long long strtoll(const char * __restrict__ , char ** __restrict__ ,
int);
extern unsigned long long strtoull(const char * __restrict__ ,
char ** __restrict__ , int);
// 59
// 61
// 81
// 85
// 20 "/usr/include/stdlib.h"
// 1 "../lib/sys/wait.h"
// 18
// 21
// 25
// 1 "../lib/sys/wait.h"
// 18
// 21
// 25
// 1 "/usr/include/sys/wait.h"
// 12
// 15
//ident "@(#)wait.h 1.23 04/06/03 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 19 "/usr/include/sys/wait.h"
// 1 "/usr/include/sys/types.h"
// 12
// 21 "/usr/include/sys/wait.h"
// 1 "/usr/include/sys/resource.h"
// 5
// 15
//ident "@(#)resource.h 1.37 07/02/07 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 19 "/usr/include/sys/resource.h"
// 1 "/usr/include/sys/types.h"
// 12
// 1 "/usr/include/sys/time.h"
// 13
// 18
// 22 "/usr/include/sys/resource.h"
// 26
// 40
// 52
// 54
// 64
// 78
typedef u_longlong_t rlim_t;
// 84
// 86
// 88
// 105
struct rlimit {
rlim_t rlim_cur;
rlim_t rlim_max;
};
// 113
typedef u_longlong_t rlim64_t;
// 119
struct rlimit64 {
rlim64_t rlim_cur;
rlim64_t rlim_max;
};
// 126
// 138
// 141
// 143
struct rusage {
struct timeval ru_utime;
struct timeval ru_stime;
long ru_maxrss;
long ru_ixrss;
long ru_idrss;
long ru_isrss;
long ru_minflt;
long ru_majflt;
long ru_nswap;
long ru_inblock;
long ru_oublock;
long ru_msgsnd;
long ru_msgrcv;
long ru_nsignals;
long ru_nvcsw;
long ru_nivcsw;
};
// 168
// 191
// 200
// 204
// 207
//pragma redefine_extname setrlimit setrlimit64
//pragma redefine_extname getrlimit getrlimit64
// 219
// 234
// 236
extern int setrlimit(int, const struct rlimit *);
extern int getrlimit(int, struct rlimit *);
// 243
extern int setrlimit64(int, const struct rlimit64 *);
extern int getrlimit64(int, struct rlimit64 *);
// 246
extern int getpriority(int, id_t);
extern int setpriority(int, id_t, int);
extern int getrusage(int, struct rusage *);
// 268
// 270
// 274
// 1 "/usr/include/sys/siginfo.h"
// 5
// 13
// 20
//ident "@(#)siginfo.h 1.59 04/07/15 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/types.h"
// 12
// 25 "/usr/include/sys/siginfo.h"
// 29
// 32
// 44
// 55
// 64
// 67
// 83
// 89
// 104
// 106
// 109
// 113
// 116
// 127
// 129
// 133
// 1 "/usr/include/sys/machsig.h"
// 12
// 15
//ident "@(#)machsig.h 1.15 99/08/15 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 19 "/usr/include/sys/machsig.h"
// 23
// 27
// 35
// 37
// 41
// 50
// 54
// 58
// 64
// 68
// 80
// 84
// 90
// 94
// 103
// 105
// 109
// 135 "/usr/include/sys/siginfo.h"
// 139
// 149
// 153
// 160
// 164
// 168
// 175
// 179
// 181
// 183
// 186
// 189
// 191
// 194
// 202
// 1 "/usr/include/sys/time_impl.h"
// 5
// 15
// 217 "/usr/include/sys/siginfo.h"
// 1 "/usr/include/sys/types.h"
// 12
// 225 "/usr/include/sys/siginfo.h"
// 227
typedef struct siginfo {
// 231
int si_signo;
int si_code;
int si_errno;
// 237
union {
int __pad[ ( ( 128 / sizeof ( int ) ) - 3 )];
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
// 248
union sigval __value;
// 252
} __kill;
struct {
clock_t __utime;
int __status;
clock_t __stime;
} __cld;
} __pdata;
ctid_t __ctid;
zoneid_t __zoneid;
} __proc;
struct {
void *__addr;
int __trapno;
caddr_t __pc;
} __fault;
struct {
int __fd;
long __band;
} __file;
struct {
caddr_t __faddr;
// 278
timestruc_t __tstamp;
// 282
short __syscall;
char __nsysarg;
char __fault;
long __sysarg[8];
int __mstate[10];
} __prof;
struct {
gl_int32_t __entity;
} __rctl;
} __data;
} siginfo_t;
// 361
// 366
// 368
typedef struct k_siginfo {
int si_signo;
int si_code;
int si_errno;
// 376
union {
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
union sigval __value;
} __kill;
struct {
clock_t __utime;
int __status;
clock_t __stime;
} __cld;
} __pdata;
ctid_t __ctid;
zoneid_t __zoneid;
} __proc;
struct {
void *__addr;
int __trapno;
caddr_t __pc;
} __fault;
struct {
int __fd;
long __band;
} __file;
struct {
caddr_t __faddr;
// 410
timestruc_t __tstamp;
// 414
short __syscall;
char __nsysarg;
char __fault;
} __prof;
struct {
gl_int32_t __entity;
} __rctl;
} __data;
} k_siginfo_t;
typedef struct sigqueue {
struct sigqueue *sq_next;
k_siginfo_t sq_info;
void (*sq_func)(struct sigqueue *);
void *sq_backptr;
int sq_external;
} sigqueue_t;
// 441
// 443
// 466
// 468
// 476
// 480
// 1 "/usr/include/sys/procset.h"
// 5
// 15
//ident "@(#)procset.h 1.25 04/07/16 SMI"
// 21
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/types.h"
// 12
// 1 "/usr/include/sys/signal.h"
// 5
// 15
//ident "@(#)signal.h 1.66 04/09/28 SMI"
// 1 "/usr/include/sys/feature_tests.h"
// 5
// 1 "/usr/include/sys/iso/signal_iso.h"
// 5
// 24
// 27
//ident "@(#)signal_iso.h 1.6 03/05/02 SMI"
// 1 "/usr/include/sys/unistd.h"
// 9
// 14
// 20
// 31 "/usr/include/sys/iso/signal_iso.h"
// 35
// 79
// 83
extern long _sysconf(int);
// 86
// 106
// 111
// 113
// 117
// 124
// 128
// 20 "/usr/include/sys/signal.h"
// 24
// 27
// 31
// 1 "/usr/include/sys/siginfo.h"
// 5
// 13
// 36 "/usr/include/sys/signal.h"
// 55
typedef struct {
unsigned int __sigbits[2];
} k_sigset_t;
// 70
// 74
struct sigaction {
int sa_flags;
union {
// 80
void (*_handler)();
// 85
void (*_sigaction)(int, siginfo_t *, void *);
// 87
} _funcptr;
sigset_t sa_mask;
// 90
int sa_resv[2];
// 92
};
// 95
// 111
// 115
// 119
// 127
// 133
// 138
// 141
// 143
// 150
// 153
// 156
// 161
typedef struct sigaltstack {
// 165
void *ss_sp;
size_t ss_size;
int ss_flags;
} stack_t;
// 181
// 183
// 185
// 188
typedef struct signotify_id {
pid_t sn_pid;
int sn_index;
int sn_pad;
} signotify_id_t;
// 207
// 213
// 215
// 220
struct sigstack {
void *ss_sp;
int ss_onstack;
};
// 225
// 233
// 311
// 315
// 25 "/usr/include/sys/procset.h"
// 35
// 42
typedef enum
// 44
idtype
// 46
{
P_PID,
P_PPID,
P_PGID,
P_SID,
P_CID,
P_UID,
P_GID,
P_ALL,
P_LWPID,
P_TASKID,
P_PROJID,
P_POOLID,
P_ZONEID,
P_CTID,
P_CPUID,
P_PSETID
} idtype_t;
// 73
typedef enum idop {
POP_DIFF,
POP_AND,
POP_OR,
POP_XOR
} idop_t;
// 94
typedef struct procset {
idop_t p_op;
idtype_t p_lidtype;
id_t p_lid;
idtype_t p_ridtype;
id_t p_rid;
} procset_t;
// 121
// 123
// 137
// 141
// 27 "/usr/include/sys/wait.h"
// 31
// 35
// 38
// 48
// 52
// 54
// 59
// 63
// 66
// 68
// 77
// 81
extern pid_t wait(int *);
extern pid_t waitpid(pid_t, int *, int);
// 86
extern int waitid(idtype_t, id_t, siginfo_t *, int);
// 89
extern pid_t wait3(int *, int, struct rusage *);
// 92
// 94
extern pid_t wait4(pid_t, int *, int, struct rusage *);
// 96
// 115
// 119
// 30 "../lib/sys/wait.h"
// 33
// 35
// 42
// 54
// 59
// 64
// 69
// 74
// 78
// 84
// 114
// 30 "../lib/sys/wait.h"
// 24 "/usr/include/stdlib.h"
// 62
// 66
// 75
// 77
// 80
//pragma redefine_extname mkstemp mkstemp64
// 86
// 88
// 99
// 103
extern int rand_r(unsigned int *);
// 105
extern void _exithandle(void);
// 111
extern double drand48(void);
extern double erand48(unsigned short *);
extern long jrand48(unsigned short *);
extern void lcong48(unsigned short *);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short *);
extern unsigned short *seed48(unsigned short *);
extern void srand48(long);
extern int putenv(char *);
extern void setkey(const char *);
// 123
// 143
extern void swab(const char *, char *, ssize_t);
// 146
// 150
extern int mkstemp(char *);
// 152
// 155
extern int mkstemp64(char *);
// 157
// 161
extern long a64l(const char *);
extern char *ecvt(double, int, int * __restrict__ , int * __restrict__ );
extern char *fcvt(double, int, int * __restrict__ , int * __restrict__ );
extern char *gcvt(double, int, char *);
extern int getsubopt(char **, char *const *, char **);
extern int grantpt(int);
extern char *initstate(unsigned, char *, size_t);
extern char *l64a(long);
extern char *mktemp(char *);
extern char *ptsname(int);
extern long random(void);
extern char *realpath(const char * __restrict__ , char * __restrict__ );
extern char *setstate(const char *);
extern void srandom(unsigned);
extern int unlockpt(int);
// 178
extern int ttyslot(void);
extern void *valloc(size_t);
// 182
// 186
extern int posix_openpt(int);
extern int setenv(const char *, const char *, int);
extern int unsetenv(const char *);
// 190
// 193
extern void closefrom(int);
extern int dup2(int, int);
extern int fdwalk(int (*)(void *, int), void *);
extern char *qecvt(long double, int, int *, int *);
extern char *qfcvt(long double, int, int *, int *);
extern char *qgcvt(long double, int, char *);
extern char *getcwd(char *, size_t);
extern const char *getexecname(void);
extern char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *getpass(const char *);
extern char *getpassphrase(const char *);
extern int getpw(uid_t, char *);
extern int isatty(int);
extern void *memalign(size_t, size_t);
extern char *ttyname(int);
// 213
extern char *lltostr(long long, char *);
extern char *ulltostr(unsigned long long, char *);
// 216
// 218
// 313
// 317
// 35 "../lib/stdlib.h"
// 38
// 1 "/usr/include/stddef.h"
// 12
// 41 "../lib/stdlib.h"
// 46
// 51
// 57
// 1 "../lib/stdint.h"
// 19
// 24
// 62 "../lib/stdlib.h"
// 64
struct random_data
{
gl_int32_t *fptr;
gl_int32_t *rptr;
gl_int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
gl_int32_t *end_ptr;
};
// 75
// 82
// 88
// 345
// 357
// 374
// 395
// 405
// 411
// 419
// 422
// 427
extern int _gl_cxxalias_dummy ;
extern int _gl_cxxalias_dummy ;
// 436
// 453
// 472
// 496
// 515
// 543
// 559
// 578
// 597
// 624
// 654
// 685
// 710
// 726
// 740
// 749
// 764
// 781
// 800
// 817
// 837
// 861
// 877
// 908
// 933
// 958
// 983
// 999
// 1023
// 35 "../lib/stdlib.h"
// 1 "b-complain.h"
// 20
extern void unbuffer_standard_error (void);
extern void vcomplain (char const *fmt, va_list args);
extern void complain (char const *fmt, ...)
;
extern void diagnose (char const *fmt, ...)
;
extern void syserror (int e, char const *who);
extern void generic_warn (char const *who, char const *fmt, ...)
;
extern void generic_error (char const *who, char const *fmt, ...)
;
extern void generic_fatal (char const *who, char const *fmt, ...)
;
extern void fatal_syntax (size_t lno, char const *fmt, ...)
;
extern void fatal_sys (char const *who)
;
// 41
// 43
// 47
// 51
// 54
// 56
// 1 "b-divvy.h"
// 20
struct divvy
{
char const *name;
void *space;
void *first;
size_t count;
};
extern struct divvy *shared;
extern struct divvy *single;
extern struct divvy *make_space (const char const name[]);
extern void *alloc (struct divvy *divvy, char const *what, size_t len);
extern void *zlloc (struct divvy *divvy, char const *what, size_t len);
extern char *intern (struct divvy *divvy, char const *s, size_t len);
extern void brush_off (struct divvy *divvy, void *ptr);
extern void forget (struct divvy *divvy);
extern void accf (struct divvy *divvy, char const *fmt, ...);
extern void accumulate_byte (struct divvy *divvy, int c);
extern void accumulate_range (struct divvy *divvy,
char const *beg, char const *end);
extern char *finish_string (struct divvy *divvy, size_t *result_len);
extern void *pointer_array (struct divvy *divvy, size_t count);
extern void close_space (struct divvy *divvy);
// 50
// 55
// 59
// 27 "b-divvy.c"
struct divvy *shared;
struct divvy *single;
static void
oom (void)
{
generic_fatal ( 0 , "out of memory" );
}
static void *
allocate (size_t size, _Bool clearp)
{
void *p = (clearp
? calloc (1, size)
: malloc (size));
if (!p)
oom ();
return p;
}
// 51
static void *
xmalloc (size_t size)
{
return allocate (size, 0 );
}
// 60
struct divvy *
make_space (const char const name[])
{
struct divvy *divvy = allocate ( sizeof ( struct divvy ) , 1 );
divvy->name = name;
divvy->space = allocate ( sizeof ( struct obstack ) , 1 );
obstack_alloc_failed_handler = oom;
_obstack_begin ( ( divvy -> space ) , 0 , 0 , ( void * ( * ) ( long ) ) xmalloc , ( void ( * ) ( void * ) ) free );
divvy->first = ( ( ( struct obstack * ) divvy -> space ) -> next_free );
// 74
divvy->count = 0;
return divvy;
}
// 83
void *
alloc (struct divvy *divvy, char const *what , size_t len)
{
// 90
divvy->count++;
return ( ( ( ( divvy -> space ) ) -> temp . tempint = ( ( len ) ) , ( ( ( ( divvy -> space ) ) -> chunk_limit - ( ( divvy -> space ) ) -> next_free < ( ( divvy -> space ) ) -> temp . tempint ) ? ( _obstack_newchunk ( ( ( divvy -> space ) ) , ( ( divvy -> space ) ) -> temp . tempint ) , 0 ) : 0 ) , ( ( ( divvy -> space ) ) -> next_free += ( ( ( divvy -> space ) ) -> temp . tempint ) ) ) , ( ( ( ( divvy -> space ) ) -> next_free == ( ( divvy -> space ) ) -> object_base ? ( ( ( ( divvy -> space ) ) -> maybe_empty_object = 1 ) , 0 ) : 0 ) , ( ( divvy -> space ) ) -> temp . tempptr = ( ( divvy -> space ) ) -> object_base , ( ( divvy -> space ) ) -> next_free = ( ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( ( divvy -> space ) ) -> object_base ) : ( char * ) 0 ) + ( ( ( ( ( divvy -> space ) ) -> next_free ) - ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( ( divvy -> space ) ) -> object_base ) : ( char * ) 0 ) + ( ( ( divvy -> space ) ) -> alignment_mask ) ) & ~ ( ( ( divvy -> space ) ) -> alignment_mask ) ) ) , ( ( ( ( divvy -> space ) ) -> next_free - ( char * ) ( ( divvy -> space ) ) -> chunk > ( ( divvy -> space ) ) -> chunk_limit - ( char * ) ( ( divvy -> space ) ) -> chunk ) ? ( ( ( divvy -> space ) ) -> next_free = ( ( divvy -> space ) ) -> chunk_limit ) : 0 ) , ( ( divvy -> space ) ) -> object_base = ( ( divvy -> space ) ) -> next_free , ( ( divvy -> space ) ) -> temp . tempptr ) );
}
void *
zlloc (struct divvy *divvy, char const *what, size_t len)
{
return memset (alloc (divvy, what, len), 0, len);
}
char *
intern (struct divvy *divvy, char const *s, size_t len)
{
// 109
divvy->count++;
return ( ( ( ( divvy -> space ) ) -> temp . tempint = ( ( len ) ) , ( ( ( ( divvy -> space ) ) -> next_free + ( ( divvy -> space ) ) -> temp . tempint + 1 > ( ( divvy -> space ) ) -> chunk_limit ) ? ( _obstack_newchunk ( ( ( divvy -> space ) ) , ( ( divvy -> space ) ) -> temp . tempint + 1 ) , 0 ) : 0 ) , memcpy ( ( ( divvy -> space ) ) -> next_free , ( s ) , ( ( divvy -> space ) ) -> temp . tempint ) , ( ( divvy -> space ) ) -> next_free += ( ( divvy -> space ) ) -> temp . tempint , * ( ( ( divvy -> space ) ) -> next_free ) ++ = 0 ) , ( ( ( ( divvy -> space ) ) -> next_free == ( ( divvy -> space ) ) -> object_base ? ( ( ( ( divvy -> space ) ) -> maybe_empty_object = 1 ) , 0 ) : 0 ) , ( ( divvy -> space ) ) -> temp . tempptr = ( ( divvy -> space ) ) -> object_base , ( ( divvy -> space ) ) -> next_free = ( ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( ( divvy -> space ) ) -> object_base ) : ( char * ) 0 ) + ( ( ( ( ( divvy -> space ) ) -> next_free ) - ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( ( divvy -> space ) ) -> object_base ) : ( char * ) 0 ) + ( ( ( divvy -> space ) ) -> alignment_mask ) ) & ~ ( ( ( divvy -> space ) ) -> alignment_mask ) ) ) , ( ( ( ( divvy -> space ) ) -> next_free - ( char * ) ( ( divvy -> space ) ) -> chunk > ( ( divvy -> space ) ) -> chunk_limit - ( char * ) ( ( divvy -> space ) ) -> chunk ) ? ( ( ( divvy -> space ) ) -> next_free = ( ( divvy -> space ) ) -> chunk_limit ) : 0 ) , ( ( divvy -> space ) ) -> object_base = ( ( divvy -> space ) ) -> next_free , ( ( divvy -> space ) ) -> temp . tempptr ) );
}
void
brush_off (struct divvy *divvy, void *ptr)
{
// 119
divvy->count--;
( ( divvy -> space ) -> temp . tempint = ( char * ) ( ptr ) - ( char * ) ( divvy -> space ) -> chunk , ( ( ( ( divvy -> space ) -> temp . tempint > 0 && ( divvy -> space ) -> temp . tempint < ( divvy -> space ) -> chunk_limit - ( char * ) ( divvy -> space ) -> chunk ) ) ? ( int ) ( ( divvy -> space ) -> next_free = ( divvy -> space ) -> object_base = ( divvy -> space ) -> temp . tempint + ( char * ) ( divvy -> space ) -> chunk ) : ( ( ( obstack_free ) ( ( divvy -> space ) , ( divvy -> space ) -> temp . tempint + ( char * ) ( divvy -> space ) -> chunk ) , 0 ) , 0 ) ) );
}
void
forget (struct divvy *divvy)
{
// 131
( ( divvy -> space ) -> temp . tempint = ( char * ) ( divvy -> first ) - ( char * ) ( divvy -> space ) -> chunk , ( ( ( ( divvy -> space ) -> temp . tempint > 0 && ( divvy -> space ) -> temp . tempint < ( divvy -> space ) -> chunk_limit - ( char * ) ( divvy -> space ) -> chunk ) ) ? ( int ) ( ( divvy -> space ) -> next_free = ( divvy -> space ) -> object_base = ( divvy -> space ) -> temp . tempint + ( char * ) ( divvy -> space ) -> chunk ) : ( ( ( obstack_free ) ( ( divvy -> space ) , ( divvy -> space ) -> temp . tempint + ( char * ) ( divvy -> space ) -> chunk ) , 0 ) , 0 ) ) );
divvy->count = 0;
}
void
accf (struct divvy *divvy, char const *fmt, ...)
{
va_list args;
( ( void ) ( ( args ) = ( __va_list ) & __builtin_va_alist ) );
obstack_vprintf (divvy->space, fmt, args);
( ( void ) 0 );
}
void
accumulate_byte (struct divvy *divvy, int c)
{
( ( ( ( divvy -> space ) -> next_free + 1 > ( divvy -> space ) -> chunk_limit ) ? ( _obstack_newchunk ( ( divvy -> space ) , 1 ) , 0 ) : 0 ) , ( * ( ( divvy -> space ) -> next_free ) ++ = ( c ) ) );
}
void
accumulate_range (struct divvy *divvy, char const *beg, char const *end)
{
struct obstack *o = divvy->space;
while (beg < end)
( ( ( ( o ) -> next_free + 1 > ( o ) -> chunk_limit ) ? ( _obstack_newchunk ( ( o ) , 1 ) , 0 ) : 0 ) , ( * ( ( o ) -> next_free ) ++ = ( * beg ++ ) ) );
}
char *
finish_string (struct divvy *divvy, size_t *result_len)
{
struct obstack *o = divvy->space;
char *rv;
*result_len = ( unsigned ) ( ( o ) -> next_free - ( o ) -> object_base );
( ( ( ( o ) -> next_free + 1 > ( o ) -> chunk_limit ) ? ( _obstack_newchunk ( ( o ) , 1 ) , 0 ) : 0 ) , ( * ( ( o ) -> next_free ) ++ = ( '\0' ) ) );
rv = ( ( ( o ) -> next_free == ( o ) -> object_base ? ( ( ( o ) -> maybe_empty_object = 1 ) , 0 ) : 0 ) , ( o ) -> temp . tempptr = ( o ) -> object_base , ( o ) -> next_free = ( ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( o ) -> object_base ) : ( char * ) 0 ) + ( ( ( ( o ) -> next_free ) - ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( o ) -> object_base ) : ( char * ) 0 ) + ( ( o ) -> alignment_mask ) ) & ~ ( ( o ) -> alignment_mask ) ) ) , ( ( ( o ) -> next_free - ( char * ) ( o ) -> chunk > ( o ) -> chunk_limit - ( char * ) ( o ) -> chunk ) ? ( ( o ) -> next_free = ( o ) -> chunk_limit ) : 0 ) , ( o ) -> object_base = ( o ) -> next_free , ( o ) -> temp . tempptr );
// 172
return rv;
}
void *
pointer_array (struct divvy *divvy, size_t count)
{
struct obstack *o = divvy->space;
// 184
while (count--)
( ( ( ( o ) -> next_free + sizeof ( char * ) > ( o ) -> chunk_limit ) ? ( _obstack_newchunk ( ( o ) , sizeof ( char * ) ) , 0 ) : 0 ) , ( ( ( const void * * ) ( ( o ) -> next_free += sizeof ( void * ) ) ) [ - 1 ] = ( 0 ) ) );
return ( ( ( o ) -> next_free == ( o ) -> object_base ? ( ( ( o ) -> maybe_empty_object = 1 ) , 0 ) : 0 ) , ( o ) -> temp . tempptr = ( o ) -> object_base , ( o ) -> next_free = ( ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( o ) -> object_base ) : ( char * ) 0 ) + ( ( ( ( o ) -> next_free ) - ( sizeof ( ptrdiff_t ) < sizeof ( void * ) ? ( ( o ) -> object_base ) : ( char * ) 0 ) + ( ( o ) -> alignment_mask ) ) & ~ ( ( o ) -> alignment_mask ) ) ) , ( ( ( o ) -> next_free - ( char * ) ( o ) -> chunk > ( o ) -> chunk_limit - ( char * ) ( o ) -> chunk ) ? ( ( o ) -> next_free = ( o ) -> chunk_limit ) : 0 ) , ( o ) -> object_base = ( o ) -> next_free , ( o ) -> temp . tempptr );
}
void
close_space (struct divvy *divvy)
{
( ( divvy -> space ) -> temp . tempint = ( char * ) ( 0 ) - ( char * ) ( divvy -> space ) -> chunk , ( ( ( ( divvy -> space ) -> temp . tempint > 0 && ( divvy -> space ) -> temp . tempint < ( divvy -> space ) -> chunk_limit - ( char * ) ( divvy -> space ) -> chunk ) ) ? ( int ) ( ( divvy -> space ) -> next_free = ( divvy -> space ) -> object_base = ( divvy -> space ) -> temp . tempint + ( char * ) ( divvy -> space ) -> chunk ) : ( ( ( obstack_free ) ( ( divvy -> space ) , ( divvy -> space ) -> temp . tempint + ( char * ) ( divvy -> space ) -> chunk ) , 0 ) , 0 ) ) );
divvy->count = 0;
divvy->first = 0 ;
free (divvy->space);
divvy->space = 0 ;
free (divvy);
}