re PR java/35035 (Has any one managed to run the libjava test suite on powerpc-apple...
authorRichard Guenther <rguenther@suse.de>
Mon, 4 Feb 2008 21:12:49 +0000 (21:12 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 4 Feb 2008 21:12:49 +0000 (21:12 +0000)
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

gcc/cp/ChangeLog
gcc/cp/decl.c

index 3504769f1bbdc9dfd9e7051d36e4c060cec5add5..0cd642ba1e12c0bbd62898d7a74d11e530d97a68 100644 (file)
@@ -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>
 
index 93baa7db83adb625f011116664598fe628ef7111..8150f79daac84d6834ed691240299756262943b3 100644 (file)
@@ -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".  */