[RFA] libiberty/mkstemps.c: Include <time.h> if <sys/time.h> not available.

Message ID 1431095891-7196-1-git-send-email-brobecker@adacore.com
State New, archived
Headers

Commit Message

Joel Brobecker May 8, 2015, 2:38 p.m. UTC
  Hello,

Attempting to build libiberty on LynxOS-178 fails trying to compile
mkstemps.c with the following error:

    mkstemps.c:84:18: error: storage size of 'tv' isn't known
       struct timeval tv;
                      ^

This file would normally include <sys/time.h> to get the type's
definition, but unfortunately LynxOS-178 does not want us to use
<sys/time.h>, only <time.h>. The configure script correctly finds
this out and generates a config.h file where HAVE_SYS_TIME_H is
undefined:

/* Define to 1 if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */

This patch fixes the build issue by falling back on including <time.h>
if <sys/time.h> could not be included (and provided that HAVE_TIME_H
is defined, of course).

libiberty/ChangeLog:

        * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
        but not HAVE_SYS_TIME_H.

OK to commit?

Thank you,
  

Comments

DJ Delorie May 8, 2015, 4:48 p.m. UTC | #1
>         * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
>         but not HAVE_SYS_TIME_H.

Ok.
  
Joel Brobecker May 8, 2015, 5:17 p.m. UTC | #2
> >         * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
> >         but not HAVE_SYS_TIME_H.
> 
> Ok.

Thank you, DJ. Pushed to both GCC and binutils-gdb.
  
Jeff Law May 8, 2015, 6:51 p.m. UTC | #3
On 05/08/2015 08:38 AM, Joel Brobecker wrote:
> Hello,
>
> Attempting to build libiberty on LynxOS-178 fails trying to compile
> mkstemps.c with the following error:
LynxOS?  I haven't had to do anything with that since, umm, the early 
90s.  So sorry you've got that task...

>
> libiberty/ChangeLog:
>
>          * mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
>          but not HAVE_SYS_TIME_H.
>
> OK to commit?
OK.
jeff
  

Patch

diff --git a/libiberty/mkstemps.c b/libiberty/mkstemps.c
index a0e68a7..0e06fe1 100644
--- a/libiberty/mkstemps.c
+++ b/libiberty/mkstemps.c
@@ -35,6 +35,8 @@ 
 #endif
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
+#elif HAVE_TIME_H
+#include <time.h>
 #endif
 #include "ansidecl.h"