[comp.sys.hp] Bug in 800 C-compiler?

curtv@mist.CS.ORST.EDU (Curt Vandetta) (08/26/89)

  Hello,
  Could someone tell me if this is just a problem on my 800 or is
  it on all 800s.

  I can't get any program that uses the file "/usr/include/sys/file.h"
  to compile on my 835, running HP-UX 3.1  Example:

  #include <stdio.h>
  #include <sys/file.h>

  main()
  {
    printf("hello\n");
  }

  This Bombs on the 835, it appearently doesn't like the nested
  structures in /usr/include/sys/file.h, and bombs with an unexpected symbol.

  But compiles fine on my 370 running HP-UX 6.5 (As I would expect, it's not
  real tricky)

  Thanks,
  Curt

karl@hpclkwp.HP.COM (Karl Pettis) (08/28/89)

>  I can't get any program that uses the file "/usr/include/sys/file.h"
>  to compile on my 835, running HP-UX 3.1  Example:

>  #include <stdio.h>
>  #include <sys/file.h>
>  < REST DELETED >

You have been bitten by a change in the system include files.  You must
#include <sys/types.h>
BEFORE file.h.

- Karl Pettis

mlight@hp-ptp.HP.COM (Mike_Light) (08/28/89)

>  I can't get any program that uses the file "/usr/include/sys/file.h"
>  to compile on my 835, running HP-UX 3.1  Example:

>  #include <stdio.h>
>  #include <sys/file.h>

<sys/file.h> refers to a typedef caddr_t defined in <sys/types.h>.
The s300 correctly includes <sys/types.h> inside <sys/file.h>.
The workaround for the s800 is fortunately trivial:

#include <stdio.h>
#include <sys/types.h>
#include <sys/file.h>

>  Thanks,
You're welcome!

>  Curt

-----------------------------------------------------------------------
 Mike Light  HP Industrial Applications Center - mlight@hpiacla.HP.COM
-----------------------------------------------------------------------

morrell@hpsal2.HP.COM (Michael Morrell) (08/29/89)

/ hpsal2:comp.sys.hp / curtv@mist.CS.ORST.EDU (Curt Vandetta) / 10:51 am  Aug 25, 1989 /

  Hello,
  Could someone tell me if this is just a problem on my 800 or is
  it on all 800s.

  I can't get any program that uses the file "/usr/include/sys/file.h"
  to compile on my 835, running HP-UX 3.1.
----------

Well, it just failed for me on an 840 running HP-UX 3.1, but works on 7.0.
The difference in the include files is that there seems to be a missing
include of "sys/types.h", if you add this things should work.

  Michael