linux-l: gcc + enum

Michael Wiedmann mw at miwie.in-berlin.de
So Okt 10 19:59:00 CEST 1999


Hier ein kleines gcc-Problem, das ich nicht verstehe:

Gegeben ist eine C-Funktion, die auf das Wesentliche reduziert,
so aussieht:

 1: enum value {
 2: low = 0,
 3: middle,
 4: high
 5: };
 6: typedef enum value value;
 7:
 8: int test_enum(value v)
 9: {
10:  if (v < low)
11:   return (-1);
12:
13:  if(v > high)
14:   return (-1);
15: 
16:   return(0);
17: }

Wird diese z.B. mit 'gcc -c enum.c´ uebersetzt, ist alles OK.
Der Aufruf 'gcc -c -fshort-enums enum.c´ fuehrt dagegen zu einem Fehler:

enum.c: In function `test_enum':
enum.c:11: warning: comparison is always 0 due to limited range of data type

Kann dies jemand erklaeren?

Michael
-- 
          Looking for an X11 based PalmPilot Address Manager?
        Have a look at http://www.in-berlin.de/User/miwie/pia/
Join the users mailinglist at http://www.egroups.com/group/pi-address



Mehr Informationen über die Mailingliste linux-l