diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/objc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index b174bcf..5263b40 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,8 @@ +2010-09-28 Nicola Pero <nicola@nicola.brainstorm.co.uk> + + * objc-act.c (encode_type): Fixed encoding enums with the next + runtime. + 2010-09-28 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index ecf3782..8013252 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -8365,7 +8365,6 @@ static void encode_type (tree type, int curtype, int format) { enum tree_code code = TREE_CODE (type); - char c; /* Ignore type qualifiers other than 'const' when encoding a type. */ @@ -8387,13 +8386,14 @@ encode_type (tree type, int curtype, int format) /* Kludge for backwards-compatibility with gcc-3.3: enums are always encoded as 'i' no matter what type they actually are (!). */ - c = 'i'; + obstack_1grow (&util_obstack, 'i'); break; } /* Else, they are encoded exactly like the integer type that is used by the compiler to store them. */ case INTEGER_TYPE: { + char c; switch (GET_MODE_BITSIZE (TYPE_MODE (type))) { case 8: c = TYPE_UNSIGNED (type) ? 'C' : 'c'; break; @@ -8437,6 +8437,7 @@ encode_type (tree type, int curtype, int format) } case REAL_TYPE: { + char c; /* Floating point types. */ switch (GET_MODE_BITSIZE (TYPE_MODE (type))) { |