diff options
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/builtins.c | 72 | ||||
-rw-r--r-- | gcc/java/verify-impl.c | 6 |
3 files changed, 53 insertions, 31 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 4f7fc41..f10c219 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2009-04-27 Ian Lance Taylor <iant@google.com> + + * builtins.c (java_builtins): Add casts to enum type. + * verify-impl.c (check_class_constant): Add cast to enum type. + (check_constant, check_wide_constant): Likewise. + 2009-04-27 Richard Guenther <rguenther@suse.de> PR java/38374 diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c index 4fac144..39c73a5 100644 --- a/gcc/java/builtins.c +++ b/gcc/java/builtins.c @@ -80,9 +80,9 @@ struct GTY(()) builtin_record { static GTY(()) struct builtin_record java_builtins[] = { - { { "java.lang.Math" }, { "min" }, min_builtin, 0 }, - { { "java.lang.Math" }, { "max" }, max_builtin, 0 }, - { { "java.lang.Math" }, { "abs" }, abs_builtin, 0 }, + { { "java.lang.Math" }, { "min" }, min_builtin, (enum built_in_function) 0 }, + { { "java.lang.Math" }, { "max" }, max_builtin, (enum built_in_function) 0 }, + { { "java.lang.Math" }, { "abs" }, abs_builtin, (enum built_in_function) 0 }, { { "java.lang.Math" }, { "acos" }, NULL, BUILT_IN_ACOS }, { { "java.lang.Math" }, { "asin" }, NULL, BUILT_IN_ASIN }, { { "java.lang.Math" }, { "atan" }, NULL, BUILT_IN_ATAN }, @@ -96,31 +96,47 @@ static GTY(()) struct builtin_record java_builtins[] = { { "java.lang.Math" }, { "sin" }, NULL, BUILT_IN_SIN }, { { "java.lang.Math" }, { "sqrt" }, NULL, BUILT_IN_SQRT }, { { "java.lang.Math" }, { "tan" }, NULL, BUILT_IN_TAN }, - { { "java.lang.Float" }, { "intBitsToFloat" }, convert_real, 0 }, - { { "java.lang.Double" }, { "longBitsToDouble" }, convert_real, 0 }, - { { "java.lang.Float" }, { "floatToRawIntBits" }, convert_real, 0 }, - { { "java.lang.Double" }, { "doubleToRawLongBits" }, convert_real, 0 }, - { { "sun.misc.Unsafe" }, { "putInt" }, putObject_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putLong" }, putObject_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putObject" }, putObject_builtin, 0}, - { { "sun.misc.Unsafe" }, { "compareAndSwapInt" }, - compareAndSwapInt_builtin, 0}, - { { "sun.misc.Unsafe" }, { "compareAndSwapLong" }, - compareAndSwapLong_builtin, 0}, - { { "sun.misc.Unsafe" }, { "compareAndSwapObject" }, - compareAndSwapObject_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putOrderedInt" }, putVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putOrderedLong" }, putVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putOrderedObject" }, putVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putIntVolatile" }, putVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putLongVolatile" }, putVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "putObjectVolatile" }, putVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "getObjectVolatile" }, getVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "getIntVolatile" }, getVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "getLongVolatile" }, getVolatile_builtin, 0}, - { { "sun.misc.Unsafe" }, { "getLong" }, getVolatile_builtin, 0}, - { { "java.util.concurrent.atomic.AtomicLong" }, { "VMSupportsCS8" }, - VMSupportsCS8_builtin, 0}, + { { "java.lang.Float" }, { "intBitsToFloat" }, convert_real, + (enum built_in_function) 0 }, + { { "java.lang.Double" }, { "longBitsToDouble" }, convert_real, + (enum built_in_function) 0 }, + { { "java.lang.Float" }, { "floatToRawIntBits" }, convert_real, + (enum built_in_function) 0 }, + { { "java.lang.Double" }, { "doubleToRawLongBits" }, convert_real, + (enum built_in_function) 0 }, + { { "sun.misc.Unsafe" }, { "putInt" }, putObject_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putLong" }, putObject_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putObject" }, putObject_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "compareAndSwapInt" }, + compareAndSwapInt_builtin, (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "compareAndSwapLong" }, + compareAndSwapLong_builtin, (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "compareAndSwapObject" }, + compareAndSwapObject_builtin, (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putOrderedInt" }, putVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putOrderedLong" }, putVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putOrderedObject" }, putVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putIntVolatile" }, putVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putLongVolatile" }, putVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "putObjectVolatile" }, putVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "getObjectVolatile" }, getVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "getIntVolatile" }, getVolatile_builtin, + (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "getLongVolatile" }, getVolatile_builtin, (enum built_in_function) 0}, + { { "sun.misc.Unsafe" }, { "getLong" }, getVolatile_builtin, + (enum built_in_function) 0}, + { { "java.util.concurrent.atomic.AtomicLong" }, { "VMSupportsCS8" }, + VMSupportsCS8_builtin, (enum built_in_function) 0}, { { NULL }, { NULL }, NULL, END_BUILTINS } }; diff --git a/gcc/java/verify-impl.c b/gcc/java/verify-impl.c index 5c4de45..759ee42 100644 --- a/gcc/java/verify-impl.c +++ b/gcc/java/verify-impl.c @@ -1947,7 +1947,7 @@ check_pool_index (int index) static type check_class_constant (int index) { - type t = { 0, 0, 0 }; + type t = { (type_val) 0, 0, 0 }; vfy_constants *pool; check_pool_index (index); @@ -1964,7 +1964,7 @@ check_class_constant (int index) static type check_constant (int index) { - type t = { 0, 0, 0 }; + type t = { (type_val) 0, 0, 0 }; vfy_constants *pool; check_pool_index (index); @@ -1988,7 +1988,7 @@ check_constant (int index) static type check_wide_constant (int index) { - type t = { 0, 0, 0 }; + type t = { (type_val) 0, 0, 0 }; vfy_constants *pool; check_pool_index (index); |