aboutsummaryrefslogtreecommitdiff
path: root/libjava/gcj
diff options
context:
space:
mode:
authorBryce McKinlay <mckinlay@redhat.com>2004-07-13 01:04:47 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2004-07-13 02:04:47 +0100
commit7a1c3d48ab726eba42466131a41ba02615f306ad (patch)
tree0284d7f8df8ee0213b5a149265daf403a862738c /libjava/gcj
parent066a03440a9bc7cbe8cbd364ee43ed8704561b25 (diff)
downloadgcc-7a1c3d48ab726eba42466131a41ba02615f306ad.zip
gcc-7a1c3d48ab726eba42466131a41ba02615f306ad.tar.gz
gcc-7a1c3d48ab726eba42466131a41ba02615f306ad.tar.bz2
re PR libgcj/15713 (compile interpret.cc with -fno-strict-aliasing)
2004-07-12 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/15713 * include/jvm.h (_Jv_value): New union type. * gcj/field.h (_Jv_Field): Add new _addr union field variants * interperet.cc (run): Use _Jv_value union type and *_addr _Jv_Field union members. From-SVN: r84596
Diffstat (limited to 'libjava/gcj')
-rw-r--r--libjava/gcj/field.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/libjava/gcj/field.h b/libjava/gcj/field.h
index 9279c83..70c5901 100644
--- a/libjava/gcj/field.h
+++ b/libjava/gcj/field.h
@@ -39,7 +39,16 @@ struct _Jv_Field
union {
jint boffset; /* offset in bytes for instance field */
- void* addr; /* address of static field */
+ char* addr; /* address of static field */
+
+ jobject* object_addr; /* address of static object field... etc */
+ jbyte* byte_addr;
+ jshort* short_addr;
+ jchar* char_addr;
+ jint* int_addr;
+ jlong* long_addr;
+ jfloat* float_addr;
+ jdouble* double_addr;
} u;
#ifdef __cplusplus