Looks like I should double-check my bug reports. The problem wasn't
timeval, it was timespec_t. The error below occurs, whenever the
gnulib <sys/time.h> is included without including <time.h> beforehand, 
even when compiling a file containing just 

#include <config.h>
#include <sys/time.h>


cc-1020 c99: ERROR File = /usr/include/internal/signal_core.h, Line = 162
  The identifier "timespec_t" is undefined.

  extern int sigtimedwait(const sigset_t *, siginfo_t *, const timespec_t *);

The same restrictions don't exist with the system-supplied <sys/time.h>.
The relevant defines regarding timespec in config.h are:

PTHREAD_H_DEFINES_STRUCT_TIMESPEC = 0
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = 0
TIME_H_DEFINES_STRUCT_TIMESPEC = 1
UNISTD_H_DEFINES_STRUCT_TIMESPEC = 0

I've attached the output of the preprocessor from the above un-compilable
trivial program.



Paul Eggert <egg...@cs.ucla.edu> wrote:
> Eric Blake wrote:
> > Rather, we should be fixing gnulib's replacement <sys/time.h> header to
> > be self-contained.
> 
> How is HAVE_STRUCT_TIMEVAL defined in that build?

all the Makefiles have 

HAVE_STRUCT_TIMEVAL = 1

> If it's defined, why did the configure-time test for 'struct timeval' work 
> even 
> though test-gettimeofday.c does not work?

A casual glance at the tests performed by configure would indicate that
all tests include both sys/time.h and time.h before using timeval. 
test-gettimeofday.c on the other hand attempts to declare a timeval 
variable before including time.h:

test-gettimeofday.c also compiles and runs without any gnulib involvement
if I throw out the includes for config.h and signature.h as well as
the SIGNATURE_CHECK and don't specify any include paths.


rainer
#line 1 "test-gettimeofday.c"















 

#line 1 "../config.h"
 
 

 
 

 


 
 

 
 

 
 

 
 

 
 

 
 



 
 

 
 


 


 


 
 


 
 

 
 

 









 
 

 



 


 
 

 








 



 


 


 


 
 


 


 



 
 

 
 


 



 
 

 
 


 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 
 


 



 



 



 



 


 


 


 


 



 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 



 



 


 


 


 
 

 


 


 
 

 
 

 



 
 


 
 

 
 

 


 


 


 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 



 
 


 
 


 
 


 



 



 



 



 



 



 



 



 



 



 



 



 



 
 


 



 
 


 



 



 



 
 


 



 



 



 



 
 


 


 
 

 


 


 


 


 


 


 
 

 
 

 


 
 

 


 


 
 

 
 

 


 
 

 
 

 


 
 

 


 
 

 
 

 


 


 



 


 
 

 


 


 


 
 

 


 
 

 


 
 

 


 
 

 


 


 


 


 


 


 
 



 


 


 



 


 


 


 


 


 


 


 


 
 

 
 

 


 


 


 


 


 


 


 


 
 

 
 

 


 


 


 



 


 


 



 
 

 


 


 


 
 

 


 


 


 


 
 

 
 

 



 


 


 


 



 
 

 
 

 
 

 


 


 
 

 
 

 


 
 

 


 
 


 
 

 


 


 
 

 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 


 



 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 
 

 
 

 


 


 
 

 
 

 
 

 
 

 
 

 


 


 


 


 


 


 


 


 


 


 
 

 


 
 

 
 

 


 


 
 

 


 
 

 
 

 


 


 


 


 


 


 


 


 
 

 


 


 


 


 
 

 


 


 


 
 

 


 
 

 


 


 


 


 
 

 
 

 


 


 


 


 


 


 


 


 


 
 

 


 
 

 


 


 


 


 


 


 


 


 


 


 
 

 


 


 


 


 
 

 


 


 


 


 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 
 

 


 
 

 
 

 
 

 
 

 
 

 


 
 

 


 
 

 
 

 
 

 


 
 

 


 


 


 


 
 

 


 


 


 
 

 


 
 

 


 


 
 

 


 


 
 

 


 


 
 

 
 

 


 


 
 

 


 


 


 


 


 


 
 

 


 


 


 


 


 


 


 


 
 

 


 
 

 


 


 


 
 

 


 


 


 


 
 

 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 
 

 


 
 

 
 

 


 
 

 
 

 


 
 

 


 


 
 

 
 

 


 
 

 
 

 


 


 


 


 


 


 
 

 


 
 

 


 


 


 


 


 


 


 


 


 


 


 
 

 


 
 

 


 
 

 
 

 


 


 
 

 
 

 


 
 

 


 


 


 


 


 


 
 

 


 
 

 


 


 


 
 

 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 


 
 


 


 


 


 


 
 

 
 

 


 


 
 

 
 

 


 
 

 
 

 


 


 


 


 


 


 
 

 


 
 

 
 

 
 

 


 


 




 
 

 
 

 



 


 
 

 


 
 

 


 
 

 


 


 
 

 


 


 


 


 
 

 
 

 


 


 


 


 


 



 
 

 
 

 


 


 


 


 
 

 
 

 
 

 
 

 
 

 


 
 

 
 

 
 

 


 


 
 

 



 


 
 

 


 
 

 
 


 
 

 
 

 
 

 


 


 


 
 

 
 

 
 

 



 
 

 


 


 


 


 


 


 


 


 
 

 


 


 


 


 
 

 
 

 
 


 
 

 


 



 


 


 


 


 
 

 
 

 


 
 

 
 

 


 


 


 


 


 


 
 

 


 


 


 
 

 


 


 


 
 


 
 

 


 


 
 

 
 

 


 
 

 
 

 


 
 

 
 

 
 

 
 

 
 

 



 


 



 


 
 


 
 


 



 
 

 


 
 


 
 

 
 

 
 

 
 

 
 


 
 



 
 


 
 


 
 


 
 



 



 
 



 
 



 
 


 
 


 
 



 
 

 
 

 


 


 


 


 
 

 
 

 
 

 


 


 


 


 


 
 


 


 
 


 
 

 


 
 


 
 


 


 
 


 
 

 
 

 
 


 
 


 

 



 
 






 
 

 
 

 


 
 

 


 
 


 


 
 

 
 

 



 


 
 


 
 

 
 


 
 

 



 



 



 



 



 





 

 

 





 
 

 


 
 


 
 

 
 


 
 


 
#line 2821 "../config.h"

 


 
 


 
 

 
 

 
 

 
 

 
 

 
 

 
#line 2859 "../config.h"



 
 


 
 

 
 


 


 



 


 
 































 
#line 2951 "../config.h"

#line 2974 "../config.h"

 
 

 


 
 

 
 

 



 

 


 
 

 
 






 




 
 

 
 

 
 

 
 

 


 
 

 
 

 
 


 
 

 


 


 


 


 


 


 


 


 


 


 


 


 


 


 




 





 





 
 

 
 

 
 

 
 



 






 




 
#line 3132 "../config.h"

 






 







 
 
#line 19 "test-gettimeofday.c"

#line 1 "../gl/lib/sys/time.h"
 















 

 












 




 
#line 1 "./../gl/lib/sys/time.h"
 















 

 












 




 
#line 1 "/usr/include/sys/time.h"















 






 



#ident  "$Revision: 3.59 $"

#line 1 "/usr/include/standards.h"

















 
#ident "$Id: standards.h,v 1.22 2002/08/07 14:51:48 raji Exp $"





























 












 












 

#line 85 "/usr/include/standards.h"
















 
#line 111 "/usr/include/standards.h"












 












 
#line 143 "/usr/include/standards.h"







 
#line 157 "/usr/include/standards.h"


 
#line 166 "/usr/include/standards.h"








 
#line 182 "/usr/include/standards.h"








 


















 


















 
#line 235 "/usr/include/standards.h"







 




 


#line 33 "/usr/include/sys/time.h"
#line 1 "/usr/include/sgidefs.h"










 







#ident "$Revision: 1.11 $"















 






 





 









 


                 










 



































 











 






 
#line 135 "/usr/include/sgidefs.h"

typedef int __int32_t;
typedef unsigned  __uint32_t;

#line 145 "/usr/include/sgidefs.h"



































 

         
typedef long long __int64_t;
typedef unsigned long long  __uint64_t;

#line 215 "/usr/include/sgidefs.h"




typedef __int32_t __psint_t;
typedef __uint32_t __psunsigned_t;










 
#line 239 "/usr/include/sgidefs.h"

 
typedef __int32_t __scint_t;
typedef __uint32_t __scunsigned_t;









#line 34 "/usr/include/sys/time.h"
#line 1 "/usr/include/internal/sgimacros.h"















 


















































 







#line 82 "/usr/include/internal/sgimacros.h"

#line 98 "/usr/include/internal/sgimacros.h"

#line 107 "/usr/include/internal/sgimacros.h"

#line 35 "/usr/include/sys/time.h"



 






typedef long    clock_t;         






 



typedef long            time_t;          










 
 
 


typedef __int64_t stamp_t;  

typedef struct USTMSCpair
{
  stamp_t ust;  
  stamp_t msc;  
} USTMSCpair;








 


struct timeval {



        time_t  tv_sec;          
        long    tv_usec;         
};





 
struct __irix5_timeval {
        __int32_t    tv_sec;          
        __int32_t    tv_usec;         
};





 





struct  itimerval {
        struct  timeval it_interval;     
        struct  timeval it_value;        
};




 






 






struct timezone {
        int     tz_minuteswest;  
        int     tz_dsttime;      
};

#line 156 "/usr/include/sys/time.h"



#line 1 "/usr/include/sys/timespec.h"















 


#ident  "$Revision: 1.11 $"



















 
#line 1 "../gl/lib/sys/types.h"
 















 








 
#line 1 "./../gl/lib/sys/types.h"
 















 








 
#line 1 "/usr/include/sys/types.h"















 
 
 

 
 
 




#ident  "$Revision: 3.148 $"





 
typedef unsigned char   uchar_t;
typedef unsigned short  ushort_t;
typedef unsigned int    uint_t;
typedef unsigned long   ulong_t;

 
#line 1 "/usr/include/sys/pthread.h"









 
typedef unsigned int            pthread_t;               


typedef struct { long __D[5]; } pthread_attr_t;          
typedef struct { long __D[8]; } pthread_mutex_t;         
typedef struct { long __D[2]; } pthread_mutexattr_t;     
typedef struct { long __D[8]; } pthread_cond_t;          
typedef struct { long __D[2]; } pthread_condattr_t;      
typedef struct { long __D[16]; } pthread_rwlock_t;       
typedef struct { long __D[4]; } pthread_rwlockattr_t;    
typedef int                     pthread_key_t;           
typedef int                     pthread_once_t;          
typedef struct { long __D[2]; } pthread_barrierattr_t;   
typedef struct { long __D[16]; } pthread_barrier_t;      
typedef struct { long __D[4]; } pthread_spinlock_t;      







#line 42 "/usr/include/sys/types.h"



typedef long blksize_t;
typedef long suseconds_t;


typedef long    xtiscalar_t;
typedef unsigned long   xtiuscalar_t;






typedef xtiscalar_t t_scalar_t;
typedef xtiuscalar_t t_uscalar_t;


 
typedef char *          addr_t;          
typedef char *          caddr_t;         

typedef __int64_t       daddr_t;         



typedef long            pgno_t;          
typedef __uint32_t      pfn_t;           
typedef short           cnt_t;           
typedef unsigned long   basictime_t;
typedef __int64_t       micro_t;



 
typedef __int32_t       pgcnt_t;         

typedef enum { B_FALSE, B_TRUE } boolean_t;








 


typedef long                    id_t;    
                                         
                                         
                                         
                                         





 


typedef ulong_t major_t;         
typedef ulong_t minor_t;         
















 
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 __uint32_t o_ino_t;              


typedef unsigned long   mode_t;          
typedef unsigned long   dev_t;           
typedef long            uid_t;
typedef long            gid_t;
typedef unsigned long   nlink_t;         
typedef long            pid_t;           
#line 148 "/usr/include/sys/types.h"

typedef int tid_t;                       

typedef dev_t   vertex_hdl_t;            


typedef __uint64_t      ino_t;           



typedef __uint64_t      ino64_t;         

#line 167 "/usr/include/sys/types.h"
typedef __int64_t       off_t;           







typedef __int64_t       off64_t;         


typedef __scint_t       __scoff_t;       

typedef __scoff_t       scoff_t;         



         
typedef __int64_t       blkcnt64_t;
typedef __uint64_t      fsblkcnt64_t;
typedef __uint64_t      fsfilcnt64_t;



typedef __int64_t       blkcnt_t;        
typedef __uint64_t      fsblkcnt_t;      
typedef __uint64_t      fsfilcnt_t;      






typedef long            swblk_t;
typedef unsigned long   paddr_t;         
typedef unsigned long   iopaddr_t;       
typedef int             key_t;           
typedef unsigned char   use_t;           
typedef long            sysid_t;
typedef short           index_t;

typedef signed short    nasid_t;         
typedef signed short    cnodeid_t;       
typedef signed char     partid_t;        
typedef signed short    moduleid_t;      
typedef signed short    cmoduleid_t;     
typedef uchar_t         clusterid_t;     

typedef unsigned int    lock_t;          
typedef signed short    cpuid_t;         
typedef unsigned char   pri_t;           
typedef __uint64_t      accum_t;         
typedef __int64_t       prid_t;          
typedef __int64_t       ash_t;           
typedef short           cell_t;          
typedef int             credid_t;        
typedef __int64_t       jid_t;           

typedef __int32_t       ncpus_t;
typedef __uint64_t      id_type_t;






typedef unsigned int size_t;












typedef int    ssize_t;








#line 264 "/usr/include/sys/types.h"

#line 274 "/usr/include/sys/types.h"








typedef long wchar_t;








typedef int             clockid_t;



typedef int             timer_t;







 
typedef unsigned int    useconds_t;





 
typedef __scunsigned_t  bitnum_t;        
typedef __scunsigned_t  bitlen_t;        


typedef int processorid_t;               
typedef int toid_t;                      
typedef long *qaddr_t;                 
typedef __uint32_t inst_t;               

 






typedef __uint64_t machreg_t;


 






typedef __uint64_t fpreg_t;





 




typedef signed char             int8_t;
typedef unsigned char           uint8_t;
typedef signed short            int16_t;
typedef unsigned short          uint16_t;
typedef signed int              int32_t;
typedef unsigned int            uint32_t;
typedef __int64_t               int64_t;
typedef __uint64_t              uint64_t;
typedef __int64_t               intmax_t;
typedef __uint64_t              uintmax_t;
typedef signed long int         intptr_t;
typedef unsigned long int       uintptr_t;





 
typedef unsigned char   u_int8_t;
typedef unsigned short  u_int16_t;
typedef __uint32_t      u_int32_t;






 














 
typedef long    hostid_t;




 








 
#line 1 "/usr/include/sys/bsd_types.h"















 




#ident  "$Revision: 1.2 $"





 
typedef struct { int r[1]; } *  physadr;
typedef unsigned char   unchar;
typedef unsigned char   u_char;
typedef unsigned short  ushort;
typedef unsigned short  u_short;
typedef unsigned int    uint;
typedef unsigned int    u_int;
typedef unsigned long   ulong;
typedef unsigned long   u_long;
typedef struct  _quad { long val[2]; } quad;






#line 1 "./sys/select.h"
 














 









 
#line 57 "./sys/select.h"

#line 1 "./sys/select.h"
 














 









 
#line 71 "./sys/select.h"





 
#line 1 "../gl/lib/sys/types.h"
 















 








 
#line 1 "./../gl/lib/sys/types.h"
 















 








 
#line 1 "/usr/include/sys/types.h"















 
 
 

 
 
 

#line 29 "./../gl/lib/sys/types.h"





 
#line 45 "./../gl/lib/sys/types.h"

 
 





#line 29 "../gl/lib/sys/types.h"


#line 78 "./sys/select.h"







 
#line 1 "../gl/lib/sys/time.h"
 















 

 












 
#line 1 "./../gl/lib/sys/time.h"
 















 

 












 
#line 1 "/usr/include/sys/time.h"















 






 

#line 35 "./../gl/lib/sys/time.h"
#line 35 "../gl/lib/sys/time.h"
#line 88 "./sys/select.h"




 





 
#line 1 "./sys/select.h"
 














 









 
#line 71 "./sys/select.h"





 
#line 1 "../gl/lib/sys/types.h"
 















 






#line 78 "./sys/select.h"







 
#line 1 "../gl/lib/sys/time.h"
 















 

 












 
#line 1 "./../gl/lib/sys/time.h"
 















 

 












 
#line 35 "../gl/lib/sys/time.h"
#line 88 "./sys/select.h"




 





 
#line 1 "/usr/include/sys/select.h"















 
 
 
 

 
 
 
 




#ident  "$Revision: 1.18 $"












 




 







typedef long    fd_mask_t;
typedef unsigned long   ufd_mask_t;










typedef struct fd_set {



        fd_mask_t       fds_bits[(((1024)+(((int)(sizeof(fd_mask_t) * 
8))-1))/((int)(sizeof(fd_mask_t) * 8)))];
} fd_set;






#line 1 "../gl/lib/string.h"
 















 






#line 34 "../gl/lib/string.h"
 





 
#line 1 "./../gl/lib/string.h"
 















 











 

#line 1 "/usr/include/string.h"



#line 1 "/usr/include/internal/string_core.h"


#ident "$Revision: 1.5 $"
















 
 
 
 

 
 
 
 





 






#line 50 "/usr/include/internal/string_core.h"







 

 

extern void *memcpy(void * __restrict, const void * __restrict, size_t);
extern void *memmove(void *, const void *, size_t);
extern char *strcpy(char * __restrict, const char * __restrict);
extern char *strncpy(char * __restrict, const char * __restrict, size_t);

 

extern char *strcat(char * __restrict, const char * __restrict);
extern char *strncat(char * __restrict, const char * __restrict, size_t);

 

extern void *memccpy(void *, const void *, int, size_t);
extern int memcmp(const void *, const void *, size_t);
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern int strncmp(const char *, const char *, size_t);
extern size_t strxfrm(char * __restrict, const char * __restrict, size_t);

 


extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);

extern size_t strcspn(const char *, const char *);
#pragma int_to_unsigned strcspn

extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);

extern size_t strspn(const char *, const char *);
#pragma int_to_unsigned strspn

extern char *strstr(const char *, const char *);

extern char *strtok(char * __restrict, const char * __restrict);

 

extern void *memset(void *, int, size_t);
extern char *strerror(int);
extern size_t strlen(const char *);
#pragma int_to_unsigned strlen




extern int ffs(int);
 
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *,
                 size_t);

 
extern  size_t strlcat(char *, const char *,
                 size_t);
extern  size_t strlcpy(char *, const char *,
                 size_t);


#pragma optional strlcat
#pragma optional strlcpy





extern char *strdup(const char *);



extern char *strtok_r(char *, const char *, char **);






 




#pragma intrinsic (strcpy)  
#pragma intrinsic (strcmp)  
#pragma intrinsic (strlen)  


#pragma intrinsic (memcpy)
#pragma intrinsic (memmove)
#pragma intrinsic (memset)


#pragma intrinsic (memcmp)






#line 234 "/usr/include/internal/string_core.h"

#line 5 "/usr/include/string.h"


























#line 32 "./../gl/lib/string.h"

#line 42 "../gl/lib/string.h"






 
#line 1 "../gl/lib/stddef.h"
 















 

 




 






#line 49 "../gl/lib/stddef.h"
 



 

#line 1 "./../gl/lib/stddef.h"
 















 

 




 






#line 49 "./../gl/lib/stddef.h"
 



 

#line 1 "/usr/include/stddef.h"



#line 1 "/usr/include/internal/stddef_core.h"
















 
 
 
 

 
 
 
 


#ident "$Revision: 1.2 $"







typedef int     ptrdiff_t;





#line 51 "/usr/include/internal/stddef_core.h"





#line 65 "/usr/include/internal/stddef_core.h"









#line 5 "/usr/include/stddef.h"






#line 56 "./../gl/lib/stddef.h"

 
#line 76 "./../gl/lib/stddef.h"




 




 





 
#line 98 "./../gl/lib/stddef.h"
typedef union
{
  char *__p ;
  double __d ;
  long double __ld ;
  long int __i ;
} max_align_t;


#line 56 "../gl/lib/stddef.h"

 
#line 76 "../gl/lib/stddef.h"

#line 50 "../gl/lib/string.h"

 





 






 
 





 




























































 


 












 











 








 
#line 183 "../gl/lib/string.h"





 
#line 201 "../gl/lib/string.h"







 
#line 226 "../gl/lib/string.h"





 
#line 244 "../gl/lib/string.h"






 
#line 269 "../gl/lib/string.h"




 
#line 297 "../gl/lib/string.h"



 
#line 325 "../gl/lib/string.h"



 


 
#line 339 "../gl/lib/string.h"

 


#line 356 "../gl/lib/string.h"






 
#line 377 "../gl/lib/string.h"


 
#line 387 "../gl/lib/string.h"


 
#line 402 "../gl/lib/string.h"


 
#line 417 "../gl/lib/string.h"


 
#line 435 "../gl/lib/string.h"
  

 
extern int _gl_cxxalias_dummy;
#line 448 "../gl/lib/string.h"
extern int _gl_cxxalias_dummy;
#line 456 "../gl/lib/string.h"

 
#line 492 "../gl/lib/string.h"


 


extern void * mempcpy (void *restrict __dest, void const *restrict __src, 
size_t __n);




extern int _gl_cxxalias_dummy;


extern int _gl_cxxalias_dummy;
#line 513 "../gl/lib/string.h"

 


extern void * memrchr (void const *, int, size_t);



  

 
extern int _gl_cxxalias_dummy;
#line 532 "../gl/lib/string.h"
extern int _gl_cxxalias_dummy;
#line 541 "../gl/lib/string.h"



 
#line 571 "../gl/lib/string.h"

 


extern char * stpcpy (char *restrict __dst, char const *restrict __src);



extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;
#line 589 "../gl/lib/string.h"


 
#line 624 "../gl/lib/string.h"

#line 634 "../gl/lib/string.h"

 
#line 673 "../gl/lib/string.h"

 
#line 691 "../gl/lib/string.h"
extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;
#line 701 "../gl/lib/string.h"

 
#line 723 "../gl/lib/string.h"

 
#line 736 "../gl/lib/string.h"
extern char * strndup (char const *__string, size_t __n);


extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;
#line 749 "../gl/lib/string.h"



 
#line 765 "../gl/lib/string.h"
extern size_t strnlen (char const *__string, size_t __maxlen);



extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;
#line 779 "../gl/lib/string.h"

#line 791 "../gl/lib/string.h"

 
#line 830 "../gl/lib/string.h"

#line 840 "../gl/lib/string.h"

#line 850 "../gl/lib/string.h"
















 
#line 889 "../gl/lib/string.h"






extern char * rpl_strstr (const char *haystack, const char *needle);


extern int _gl_cxxalias_dummy;
#line 913 "../gl/lib/string.h"
extern int _gl_cxxalias_dummy;
#line 928 "../gl/lib/string.h"


 
#line 944 "../gl/lib/string.h"
extern char * strcasestr (const char *haystack, const char *needle);




  

 
extern int _gl_cxxalias_dummy;
#line 962 "../gl/lib/string.h"
extern int _gl_cxxalias_dummy;
#line 977 "../gl/lib/string.h"






















 
#line 1040 "../gl/lib/string.h"



 



 
#line 1060 "../gl/lib/string.h"
extern size_t mbslen (const char *string);


extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;


#line 1075 "../gl/lib/string.h"

#line 1097 "../gl/lib/string.h"

#line 1119 "../gl/lib/string.h"





 
extern char * mbsstr (const char *haystack, const char *needle)
     
     ;


#line 1141 "../gl/lib/string.h"

#line 1156 "../gl/lib/string.h"

#line 1170 "../gl/lib/string.h"






 
extern char * mbscasestr (const char *haystack, const char *needle)
     
     ;


#line 1192 "../gl/lib/string.h"

#line 1214 "../gl/lib/string.h"

#line 1225 "../gl/lib/string.h"

#line 1244 "../gl/lib/string.h"

#line 1265 "../gl/lib/string.h"

 
#line 1273 "../gl/lib/string.h"
extern char * rpl_strerror (int);
extern int _gl_cxxalias_dummy;



extern int _gl_cxxalias_dummy;
#line 1285 "../gl/lib/string.h"


 
#line 1299 "../gl/lib/string.h"
extern int strerror_r (int errnum, char *buf, size_t buflen);


extern int _gl_cxxalias_dummy;
#line 1314 "../gl/lib/string.h"

#line 1338 "../gl/lib/string.h"

#line 1354 "../gl/lib/string.h"


#line 81 "/usr/include/sys/select.h"




#line 94 "/usr/include/sys/select.h"






#line 106 "/usr/include/sys/select.h"





 











typedef long    fd_mask;







#line 100 "./sys/select.h"






 
#line 1 "./signal.h"
 















 






#line 39 "./signal.h"
 








 
#line 1 "../gl/lib/sys/types.h"
 















 






#line 50 "./signal.h"

 
#line 1 "./signal.h"
 















 
















 

#line 1 "./signal.h"
 















 
















 

#line 1 "/usr/include/signal.h"



#line 1 "/usr/include/internal/signal_core.h"


#ident "$Revision: 1.5 $"
















 
 
 

 
 
 








 



#line 1 "/usr/include/sys/signal.h"










 
 
 

 
 
 







#ident  "$Revision: 3.148 $"



 



 
#line 73 "/usr/include/sys/signal.h"
 


 



#line 1 "../gl/lib/sys/types.h"
 















 






#line 82 "/usr/include/sys/signal.h"



 









 





 
typedef void    (*SIG_PF) ();












 
#line 1 "/usr/include/sys/sigevent.h"
















 


#ident  "$Revision: 1.9 $"







 
#line 1 "../gl/lib/sys/types.h"
 















 






#line 31 "/usr/include/sys/sigevent.h"






typedef union sigval {
        int     sival_int;
        void    *sival_ptr;
} sigval_t;
#line 48 "/usr/include/sys/sigevent.h"






typedef union notifyinfo {
        int     nisigno;                         
        void    (*nifunc) (sigval_t);            
} notifyinfo_t;

typedef struct sigevent {
        int                     sigev_notify;
        notifyinfo_t            sigev_notifyinfo;
        sigval_t                sigev_value;
        void                    (*sigev_notify_function) (sigval_t);
        pthread_attr_t          *sigev_notify_attributes;
        unsigned long           sigev_reserved[11];
        unsigned long           sigev_pad[6];
} sigevent_t;










#line 117 "/usr/include/sys/signal.h"





 
#line 1 "/usr/include/sys/siginfo.h"










 
 
 
 

 
 
 
 




#ident "$Revision: 1.28 $"













 





 













 
typedef struct __siginfo {
        int     si_signo;                
        int     si_code;                 
        int     si_errno;                
        union {

                int     si_pad[((128 / sizeof(__int32_t)) - 3)];         

                struct {                         
                        pid_t   __pid;           
                        union {
                                struct {
                                        uid_t   __uid;
                                } __kill;
                                struct {
                                        clock_t __utime;
                                        int __status;
                                        clock_t __stime;
                                        int __swap;
                                } __cld;
                        } __pdata;
                } __proc;                       

                struct {         
                        void    *__addr;         
                } __fault;

                struct {                         
                 
                        int     __fd;    
                        long    __band;
                } __file;

                union sigval    __value;



        } __data;

} siginfo_t;

#line 109 "/usr/include/sys/siginfo.h"

 
#line 117 "/usr/include/sys/siginfo.h"




 






 
#line 140 "/usr/include/sys/siginfo.h"



 
#line 155 "/usr/include/sys/siginfo.h"



 








 
#line 174 "/usr/include/sys/siginfo.h"



 








 
#line 196 "/usr/include/sys/siginfo.h"



 
#line 209 "/usr/include/sys/siginfo.h"



 









#line 124 "/usr/include/sys/signal.h"






 


typedef struct {                 
        __uint32_t __sigbits[4];
} sigset_t;


 
typedef union __sighandler {
        void (*sa_handler1)();  

        void (*sa_sigaction1)(int, siginfo_t *, void *);

} __sighandler_t;





typedef struct sigaction {
        int sa_flags;                    
        __sighandler_t sa_sighandler;    
        sigset_t sa_mask;                
                                         
        int sa_resv[2];
} sigaction_t;




 









 
#line 178 "/usr/include/sys/signal.h"

 


 





 


                                         

 

                                         
                                         





 

struct sigstack {
        void    *ss_sp;                  
        int     ss_onstack;              
};

 






 

 




#line 1 "/usr/include/sys/ucontext.h"










 











 


#ident "$Revision: 1.37 $"




#line 44 "/usr/include/sys/ucontext.h"

#line 1 "../gl/lib/sys/types.h"
 















 






#line 47 "/usr/include/sys/ucontext.h"

#line 54 "/usr/include/sys/ucontext.h"


typedef struct _sigaltstack {
        void    *ss_sp;
        size_t  ss_size;
        int     ss_flags;
} stack_t;
#line 69 "/usr/include/sys/ucontext.h"



 
#line 116 "/usr/include/sys/ucontext.h"






 



typedef machreg_t greg_t;


 

typedef greg_t gregset_t[37];




typedef struct __fpregset {
        union {
                double          __fp_dregs[32];

                struct {
                        __uint32_t      _fp_fill;
                        float           _fp_fregs;
                } __fp_fregs[32];
#line 150 "/usr/include/sys/ucontext.h"
                machreg_t       __fp_regs[32];
        } __fp_r;
        __uint32_t      __fp_csr;
        __uint32_t      __fp_pad;
} fpregset_t;

typedef struct {
        gregset_t       __gregs;         
        fpregset_t      __fpregs;        
} mcontext_t;

typedef struct __ucontext {
        unsigned long   uc_flags;
        struct __ucontext *uc_link;
        sigset_t        uc_sigmask;
        stack_t         uc_stack;
        mcontext_t      uc_mcontext;
        long            uc_filler[49];
} ucontext_t;
















 










 




#line 250 "/usr/include/sys/ucontext.h"

 
#line 289 "/usr/include/sys/ucontext.h"

#line 341 "/usr/include/sys/ucontext.h"





#line 224 "/usr/include/sys/signal.h"




#line 277 "/usr/include/sys/signal.h"





 



extern void     (*bsd_signal(int, void (*)(int)))(int);
extern int      killpg(pid_t, int);
extern int      sigstack(struct sigstack *, struct sigstack *);






extern void     (*signal(int,void (*)()))();
















 






 
typedef struct sigcontext {
        __uint32_t      sc_regmask;      
        __uint32_t      sc_status;       
        __uint64_t      sc_pc;           
        

 
        __uint64_t      sc_regs[32];     
        

 
        __uint64_t      sc_fpregs[32];   
        __uint32_t      sc_ownedfp;      
        __uint32_t      sc_fpc_csr;      
        __uint32_t      sc_fpc_eir;      
                                         
        __uint32_t      sc_ssflags;      
        __uint64_t      sc_mdhi;         
        __uint64_t      sc_mdlo;
        

 
        __uint64_t      sc_cause;        
        __uint64_t      sc_badvaddr;     
        __uint64_t      sc_triggersave;  
        sigset_t        sc_sigset;       
        __uint64_t      sc_fp_rounded_result;    
        __uint64_t      sc_pad[31];
} sigcontext_t;




 

 


 



#line 370 "/usr/include/sys/signal.h"




#line 383 "/usr/include/sys/signal.h"






#line 398 "/usr/include/sys/signal.h"









#line 120 "/usr/include/internal/signal_core.h"



 



typedef int     sig_atomic_t;
extern int raise(int);





extern int kill(pid_t, int);

extern int sigaction(int, const struct sigaction *, struct sigaction *);
extern int sigpending(sigset_t *);
extern int sigprocmask(int, const sigset_t *, sigset_t *);
extern int sigsuspend(const sigset_t *);
extern int sigaddset(sigset_t *, int);
extern int sigdelset(sigset_t *, int);
extern int sigemptyset(sigset_t *);
extern int sigfillset(sigset_t *);
extern int sigismember(const sigset_t *, int);







 
#line 1 "/usr/include/sys/timespec.h"















 
#line 155 "/usr/include/internal/signal_core.h"





extern int sigqueue(pid_t , int, const union sigval);
extern int sigwaitinfo(const sigset_t *, siginfo_t *);
extern int sigtimedwait(const sigset_t *, siginfo_t *, const timespec_t *);
extern int sigwait(const sigset_t *, int *);



#line 1 "../gl/lib/sys/types.h"
 















 






#line 169 "/usr/include/internal/signal_core.h"

extern int pthread_kill(pthread_t, int);
extern int pthread_sigmask(int, const sigset_t *, sigset_t *);






 


extern int sigpause(int);

extern void (*sigset(int,void (*)()))();

extern int sighold(int);
extern int sigrelse(int);
extern int sigignore(int);
extern int siginterrupt(int, int);

extern int _sigaltstack(const stack_t *, stack_t *);
#line 199 "/usr/include/internal/signal_core.h"






extern char *_sys_siglist[];
extern int _sys_nsig;



#line 1 "../gl/lib/sys/types.h"
 















 






#line 211 "/usr/include/internal/signal_core.h"
#line 1 "/usr/include/sys/procset.h"










 
 
 

 
 
 




#ident "$Revision: 1.12 $"

#line 1 "../gl/lib/sys/types.h"
 















 






#line 25 "/usr/include/sys/procset.h"








 









 


typedef enum idtype



{
        P_PID,           
        P_PPID,          
        P_PGID,          
                         
        P_SID,           
        P_CID,           
        P_UID,           
        P_GID,           
        P_ALL            
} idtype_t;






 
typedef enum idop {
        POP_DIFF,        
                         
                         
        POP_AND,         
                         
                         
        POP_OR,          
                         
                         
        POP_XOR          
                         
                         
} idop_t;




 
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;



 

#line 114 "/usr/include/sys/procset.h"



#line 125 "/usr/include/sys/procset.h"



#line 212 "/usr/include/internal/signal_core.h"




extern int (*ssignal(int, int (*)(int)))(int);
extern int gsignal(int);
extern int sigsend(idtype_t, id_t, int);
extern int sigsendset(const procset_t *, int);




 






 


extern int sgi_altersigs(int, sigset_t *, int[]);
extern int sgi_sigffset(sigset_t *, int);
extern int sgi_dumpset(sigset_t *);









#line 5 "/usr/include/signal.h"





#line 37 "./signal.h"

#line 37 "./signal.h"

#line 53 "./signal.h"








 
#line 69 "./signal.h"

 
#line 326 "./signal.h"

 


 
#line 338 "./signal.h"

 
#line 355 "./signal.h"






 
#line 376 "./signal.h"


 
#line 386 "./signal.h"



 
#line 398 "./signal.h"

 
#line 406 "./signal.h"

 





typedef void (*sighandler_t) (int);
#line 420 "./signal.h"


#line 431 "./signal.h"


 







#line 467 "./signal.h"


#line 481 "./signal.h"
extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;
#line 490 "./signal.h"


#line 511 "./signal.h"





 
#line 525 "./signal.h"

 

 
#line 536 "./signal.h"
extern int _gl_cxxalias_dummy;
extern int _gl_cxxalias_dummy;

 

 
#line 548 "./signal.h"
extern int _gl_cxxalias_dummy;
extern int _gl_cxxalias_dummy;

 

 
#line 561 "./signal.h"
extern int _gl_cxxalias_dummy;
extern int _gl_cxxalias_dummy;

 

 
#line 574 "./signal.h"
extern int _gl_cxxalias_dummy;
extern int _gl_cxxalias_dummy;

 

 
#line 586 "./signal.h"
extern int _gl_cxxalias_dummy;
extern int _gl_cxxalias_dummy;

 



extern int _gl_cxxalias_dummy;
extern int _gl_cxxalias_dummy;





 
#line 608 "./signal.h"
extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;


 




typedef void (*_gl_function_taking_int_returning_void_t) (int);
#line 633 "./signal.h"
extern int _gl_cxxalias_dummy;


extern int _gl_cxxalias_dummy;






#line 680 "./signal.h"


#line 754 "./signal.h"

extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;

#line 766 "./signal.h"

 





#line 109 "./sys/select.h"





#line 136 "./sys/select.h"

 
#line 393 "./sys/select.h"

 
#line 410 "./sys/select.h"






 
#line 431 "./sys/select.h"


 
#line 441 "./sys/select.h"


 

#line 472 "./sys/select.h"

 

#line 554 "./sys/select.h"


#line 586 "./sys/select.h"

#line 598 "./sys/select.h"
extern int _gl_cxxalias_dummy;


extern int _gl_cxxalias_dummy;
#line 612 "./sys/select.h"


#line 100 "./sys/select.h"






 
#line 1 "./signal.h"
 















 






#line 39 "./signal.h"
 

#line 109 "./sys/select.h"


#line 60 "./sys/select.h"





 
#line 45 "/usr/include/sys/bsd_types.h"

#line 407 "/usr/include/sys/types.h"



typedef __uint64_t k_sigset_t;   
#line 419 "/usr/include/sys/types.h"

#line 537 "/usr/include/sys/types.h"


#line 29 "./../gl/lib/sys/types.h"


#line 29 "../gl/lib/sys/types.h"


#line 42 "/usr/include/sys/timespec.h"





 






typedef struct timespec {



        time_t  tv_sec;          




        long    tv_nsec;

} timespec_t;

#line 161 "/usr/include/sys/time.h"


#line 1 "../gl/lib/sys/types.h"
 















 






#line 165 "/usr/include/sys/time.h"






extern int getitimer(int, struct itimerval *);
extern int setitimer(int, const struct itimerval *, struct itimerval *);
extern int utimes(const char *, const struct timeval [2]);




#line 1 "./sys/select.h"
 














 









 
#line 71 "./sys/select.h"

#line 179 "/usr/include/sys/time.h"

extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
#line 196 "/usr/include/sys/time.h"






extern int adjtime(struct timeval *, struct timeval *);
extern int BSDgettimeofday(struct timeval *, struct timezone *);
extern int BSDsettimeofday(struct timeval *, struct timezone *);
extern int utimets(const char *, const struct timespec [2]);

 
#pragma optional utimets

extern int gettimeofday(struct timeval *,...);
extern int settimeofday(struct timeval *,...);

















 





#line 1 "../gl/lib/time.h"
 















 











 
#line 38 "../gl/lib/time.h"



#line 1 "./../gl/lib/time.h"
 















 











 





#line 1 "/usr/include/time.h"



#line 1 "/usr/include/internal/time_core.h"


#ident "$Revision: 1.7 $"

















 
 
 

 
 
 



 
#line 1 "../gl/lib/sys/types.h"
 















 






#line 35 "/usr/include/internal/time_core.h"
                








#line 53 "/usr/include/internal/time_core.h"

#line 63 "/usr/include/internal/time_core.h"

#line 73 "/usr/include/internal/time_core.h"







#line 1 "/usr/include/sys/ptimers.h"















 


#ident "$Id: ptimers.h,v 1.5 2002/08/07 15:19:38 murthy Exp $"




 


typedef struct itimerspec {
        timespec_t it_interval;  
        timespec_t it_value;     
} itimerspec_t;


 

 




 


#line 61 "/usr/include/sys/ptimers.h"

#line 82 "/usr/include/internal/time_core.h"



#line 93 "/usr/include/internal/time_core.h"










 










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;
};



 


 

extern clock_t clock(void);                     
extern double difftime(time_t, time_t);         
extern time_t mktime(struct tm *);              
extern time_t time(time_t *);                   

 

extern char *asctime(const struct tm *);                
extern char *ctime (const time_t *);            
extern struct tm *gmtime(const time_t *);               
extern struct tm *localtime(const time_t *);    
extern size_t strftime(char * __restrict, size_t, const char * __restrict, 
const struct tm * __restrict);

 

extern uint64_t rdrtc(void);

#pragma optional rdrtc








 
extern void tzset(void);
extern char *tzname[2];


extern long _sysconf(int);

                                 








 







struct sigevent;
extern int clock_settime(clockid_t, const timespec_t *);
extern int clock_gettime(clockid_t, timespec_t *);
extern int clock_getres(clockid_t, timespec_t *);
extern int nanosleep(const timespec_t *, timespec_t *);
extern int timer_create(clockid_t, struct sigevent *, timer_t *);
extern int timer_delete(timer_t);
extern int timer_settime(timer_t, int, const struct itimerspec *, struct 
itimerspec *);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_getoverrun(timer_t);



#pragma optional nanosleep









 
extern time_t timezone;
extern int daylight;
extern char *strptime(const char *, const char *, struct tm *);





 
extern struct tm *getdate(const char *);
extern int getdate_err;



extern int cftime(char *, char *, const  time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern time_t altzone;





 
extern char *asctime_r(const struct tm *, char *);
extern char *ctime_r(const  time_t *, char *);
extern struct tm *gmtime_r(const  time_t *,
                           struct tm *);
extern struct tm *localtime_r(const  time_t *,
                              struct tm *);




#line 5 "/usr/include/time.h"














#line 36 "./../gl/lib/time.h"

#line 42 "../gl/lib/time.h"

 
#line 1 "../gl/lib/stddef.h"
 















 

 




 






#line 49 "../gl/lib/stddef.h"
 

#line 45 "../gl/lib/time.h"

 
#line 302 "../gl/lib/time.h"

 


 
#line 314 "../gl/lib/time.h"

 
#line 331 "../gl/lib/time.h"






 
#line 352 "../gl/lib/time.h"


 
#line 362 "../gl/lib/time.h"




 
#line 397 "../gl/lib/time.h"






 
struct __time_t_must_be_integral {
  unsigned int __floating_time_t_unsupported : (time_t) 1;
};





 





extern int rpl_nanosleep (struct timespec const *__rqtp, struct timespec 
*__rmtp);


extern int _gl_cxxalias_dummy;
#line 432 "../gl/lib/time.h"
extern int _gl_cxxalias_dummy;


 





extern time_t rpl_mktime (struct tm *__tp);
extern int _gl_cxxalias_dummy;



extern int _gl_cxxalias_dummy;




 
#line 469 "../gl/lib/time.h"
extern int _gl_cxxalias_dummy;



extern int _gl_cxxalias_dummy;
#line 491 "../gl/lib/time.h"
extern int _gl_cxxalias_dummy;



extern int _gl_cxxalias_dummy;





 
#line 512 "../gl/lib/time.h"
extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;


#line 527 "../gl/lib/time.h"
extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;




 
#line 547 "../gl/lib/time.h"


typedef struct tm_zone *timezone_t;
extern timezone_t tzalloc (char const *__name);
extern int _gl_cxxalias_dummy;
extern void tzfree (timezone_t __tz);
extern int _gl_cxxalias_dummy;
extern struct tm * localtime_rz (timezone_t __tz, time_t const *restrict 
__timer, struct tm *restrict __result);


extern int _gl_cxxalias_dummy;


extern time_t mktime_z (timezone_t __tz, struct tm *restrict __result);


extern int _gl_cxxalias_dummy;



 
#line 578 "../gl/lib/time.h"
extern time_t timegm (struct tm *__tm);

extern int _gl_cxxalias_dummy;

extern int _gl_cxxalias_dummy;




 
#line 608 "../gl/lib/time.h"

#line 236 "/usr/include/sys/time.h"













#line 40 "./../gl/lib/sys/time.h"












 






 
#line 315 "./../gl/lib/sys/time.h"

 


 
#line 327 "./../gl/lib/sys/time.h"

 
#line 344 "./../gl/lib/sys/time.h"






 
#line 365 "./../gl/lib/sys/time.h"


 
#line 375 "./../gl/lib/sys/time.h"





#line 396 "./../gl/lib/sys/time.h"





#line 407 "./../gl/lib/sys/time.h"
extern int rpl_gettimeofday (struct timeval *restrict, void *restrict);


extern int _gl_cxxalias_dummy;
#line 423 "./../gl/lib/sys/time.h"
extern int _gl_cxxalias_dummy;
#line 431 "./../gl/lib/sys/time.h"

 

#line 522 "./../gl/lib/sys/time.h"

#line 40 "../gl/lib/sys/time.h"


#line 21 "test-gettimeofday.c"

Reply via email to