aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-02-04 21:12:49 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-02-04 21:12:49 +0000
commit70c7fe74f4fb27161188ed61c23925fc566584c6 (patch)
tree2e584cd086ae215e58a2b4fe6df291ac0091e9f7 /gcc
parent8181078a70072371e23c21690b45878dae182b43 (diff)
downloadgcc-70c7fe74f4fb27161188ed61c23925fc566584c6.zip
gcc-70c7fe74f4fb27161188ed61c23925fc566584c6.tar.gz
gcc-70c7fe74f4fb27161188ed61c23925fc566584c6.tar.bz2
re PR java/35035 (Has any one managed to run the libjava test suite on powerpc-apple-darwin9?)
2008-02-04 Richard Guenther <rguenther@suse.de> PR java/35035 * decl.c (record_builtin_java_type): Make jboolean a integer type again where its mode doesn't match that of bool. From-SVN: r132095
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/decl.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3504769..0cd642b 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-04 Richard Guenther <rguenther@suse.de>
+
+ PR java/35035
+ * decl.c (record_builtin_java_type): Make jboolean a
+ integer type again where its mode doesn't match that of bool.
+
2008-02-02 Jason Merrill <jason@redhat.com>
Mark Mitchell <mark@codesourcery.com>
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 93baa7d..8150f79 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -3161,7 +3161,13 @@ record_builtin_java_type (const char* name, int size)
type = make_signed_type (size);
else if (size == -1)
{ /* "__java_boolean". */
- type = build_variant_type_copy (boolean_type_node);
+ if ((TYPE_MODE (boolean_type_node)
+ == smallest_mode_for_size (1, MODE_INT)))
+ type = build_variant_type_copy (boolean_type_node);
+ else
+ /* ppc-darwin has SImode bool, make jboolean a 1-bit
+ integer type without boolean semantics there. */
+ type = make_unsigned_type (1);
}
else if (size > -32)
{ /* "__java_char". */