delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/11/28/11:44:03

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Message-Id: <9911281643.AA07798@mlx.com>
Mime-Version: 1.0 (NeXT Mail 3.3 v118.2)
From: MarketLogix <mlx AT mlx DOT com>
Date: Sun, 28 Nov 99 08:43:29 -0800
To: cygwin AT sourceware DOT cygnus DOT com
Subject: windows.h breaks ObjC ?
Reply-To: mlx AT san DOT rr DOT com

Hi all,

Just installed v1.0 and spent the whole weekend pulling my hair out.

Oh, the general product looks pretty nice but I'm afraid that the new
windows headers somehow break ObjC preprocessing.  I know that Cygnus
has never supported ObjC so, as usual, I didn't expect much.

But it seems as though we may have hit a new low here.

Either that or I'm just too bleary-eyed to see something obvious.

Take this source code example, lets call it -> test.c

#include <windows.h>
#include <objc/Object.h>
int main ( int argc, char *argv[] (
{
  printf("hello world\n");
  return 0;
}

now try to compile it to object via:

gcc -c -x objective-c test.c -o test.o

I get the foillowing:

Object.h:37: invalid identifier `@struct'
Object.h:37: parse error before `Object'
Object.h:38: syntax error before `{'
Object.h:43: method definition not in class context

This is, of course, the first occurence of an

@interface directive

Now, comment out
//#include <windows.h>

it compiles without a hitch.

I built gcc-2.95.2 from gnu AND download pre-built from
Mumit Khan's site ALL with the same result.

Gotta roll back to b20.1 ?

What gives ?

------------

Well, I didn't send this mail right away and decided to research
a bit more.  Here's what I found:

basetyps.h, line #20: #define interface struct

Oh, just brilliant - concocted by some C++ 'er no doubt !!!
C'mon, please tell me you're not already married to this.

Steve B.

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019