Path: utzoo!attcan!uunet!zaphod.mps.ohio-state.edu!sdd.hp.com!hplabs!otter.hpl.hp.com!hpltoad!news From: dg@hpl.hp.com (Dipankar Gupta) Newsgroups: comp.os.os2.programmer Subject: C Compilers for OS/2 Message-ID: <1990Oct31.045131.12870@hplb.hpl.hp.com> Date: 31 Oct 90 04:51:31 GMT Sender: news@hplb.hpl.hp.com (Usenet News Administrator) Reply-To: dg@hplb.hpl.hp.com (Dipankar Gupta) Organization: Hewlett-Packard Laboratories, Bristol, England Lines: 24 Nntp-Posting-Host: otter.hpl.hp.com I would like to know of C compilers for OS/2 and their relative merits/demerits. I have the following gripes with MS C5.10 that I currently use: 1. Can't generate native 386 code.\ 2. Pointer arithmetic is 16 bits wide. I use a lot of *large* data-structures (created with DosAllocHuge ()), and pointer arithmetic bombs at segment boundaries. It's plain painful to use a cast thus: ULONG HUGE *x, HUGE *y; ULONG PDiff; /* a difference > 16K means another segment ... */ x = (ULONG HUGE *)(y + PDiff); or worse still, transform x++ to x = (ULONG HUGE *) (x + 0x1L) Downright ridiculous. Are there any compilers (I use OS/21.1 BTW) that don't have these problems? Thanks Dipankar Gupta dg@hplb.hpl.hp.com