aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/objc/ChangeLog5
-rw-r--r--gcc/objc/objc-act.c5
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)))
{