From: Michael H. <mic...@ju...> - 2001-09-30 01:55:11
|
For 'fun' I decided to try to compile uzix (http://uzix.sourceforge.net/), which is a version of V7 Unix for the Z80 based MSX. I hit some warnings/errors that I'm not sure if they are bugs or what we should do about them. 1. Literal to pointer cast. This code: char *p = (char *)0xa000; is valid on a z80 as there are no storage classes. It currently throws the 'illegal cast of LITERAL value to 'generic' pointer' warning. What is a good way to handle this? 2. Enum entry refering to a prevoius entry. See support/regression/tests/enum.c. This code: enum { FIRST, FIRST_ALIAS = FIRST }; throws an error 'Undefined identifier FIRST' 3. Duplicated names in a function pointer def. See support/regression/tests/driverstruct.c This code: struct s_ptrs { int (*init)(int minor); int (*something)(int minor); }; throws the error 'Duplicate symbol 'minor', symbol ignored'. I think the code above is acceptable. I think that also void func(int a, int (*fun)(int a)) { .. } will throw the same error. If these are really bugs then I will add them in. -- Michael |