Am 16.04.2009 um 19:52 schrieb Danny Backx:
> I have questions about your submissions. With some answers, I can  
> commit
> stuff to the SVN.
>
> Would it work on your target if we said something like
> #ifdef __DARWIN_UNIX03
> %token NAME LIBRARY DESCRIPTION LEOPARD_STACKSIZE
> %token HEAPSIZE CODE DATAU DATAL
> #else
> %token NAME LIBRARY DESCRIPTION STACKSIZE HEAPSIZE CODE DATAU DATAL
> #endif
>
> and obviously a similar change to the other line ?

Hmm I haven't tried this before, because I supposed that yacc does not  
support #ifdefs...
I tried it now it and does not work:

/bin/sh /Users/cerial/Workspace/cegcc/src/binutils/ld/../ylwrap /Users/ 
cerial/Workspace/cegcc/src/binutils/ld/deffilep.y y.tab.c deffilep.c  
y.tab.h deffilep.h y.output deffilep.output -- bison -y -d
/Users/cerial/Workspace/cegcc/src/binutils/ld/deffilep.y:107.1:  
invalid character: `#'
/Users/cerial/Workspace/cegcc/src/binutils/ld/deffilep.y:107.2-6:  
syntax error, unexpected identifier
make[4]: *** [deffilep.c] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-ld] Error 2
make: *** [all] Error 2

I don't have enough knowledge about yacc to fix this correctly so that  
this patch does
not affect other platforms; if someone here knows more please help!

>> +#ifndef __DARWIN_UNIX03
>> extern int sigaltstack(const struct sigaltstack *, struct sigaltstack
>> *);
>> +#endif
>
> Can you explain what the __DARWIN_UNIX03 symbol means ? Is it one
> specific release of the operating system ? Is it better to use  
> something
> like __DARWIN_UNIX or __DARWIN or are there no such things ?

The __DARWIN_UNIX03 symbol is defined from Mac OSX 10.5 Leopard onwards
according to several sources in the internet and after a brief look  
in /usr/include/sys/cdefs.h.

The patch is not required on pre-Leopard platforms (according to: 
http://mail-index.netbsd.org/netbsd-bugs/2008/02/13/msg001324.html) 
, but I don't have any older installations of Mac OSX here to check :(
So I thought it would be correct to use this symbol here. What do you  
think?


>> -WINUSERAPI HMENU WINAPI GetMenu(HWND);
>> +/* WINUSERAPI HMENU WINAPI GetMenu(HWND); */
>> +#define GetMenu(x) (NULL)
>
> Shouldn't this be
>
> + #ifndef UNDER_CE
> WINUSERAPI HMENU WINAPI GetMenu(HWND);
> + #endif
>
> Any CE application that tries to use GetMenu is invalid so it would be
> better not to allow it to compile. Right ?

You are completely right, I have fixed this now (I will supply a new  
patch as soon the above problems
are solved).

Cerial

--
Ismail "Cerial" Khatib, http://pocketinsanity.org


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to