Commit 70fef63a by Richard Guenther Committed by Richard Biener

revert: [multiple changes]

2008-03-12  Richard Guenther  <rguenther@suse.de>

	PR c++/35469
	Revert:
	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-01-25  Richard Guenther  <rguenther@suse.de>

        PR c++/33887
        * decl.c (record_builtin_java_type): Make __java_boolean
        a variant of bool.
        * typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check
        after TYPE_MAIN_VARIANT check.

From-SVN: r133142
parent 67514449
2008-03-12 Richard Guenther <rguenther@suse.de>
PR c++/35469
Revert:
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-01-25 Richard Guenther <rguenther@suse.de>
PR c++/33887
* decl.c (record_builtin_java_type): Make __java_boolean
a variant of bool.
* typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check
after TYPE_MAIN_VARIANT check.
2008-03-10 Jakub Jelinek <jakub@redhat.com> 2008-03-10 Jakub Jelinek <jakub@redhat.com>
PR c++/35328 PR c++/35328
......
...@@ -3159,19 +3159,10 @@ record_builtin_java_type (const char* name, int size) ...@@ -3159,19 +3159,10 @@ record_builtin_java_type (const char* name, int size)
tree type, decl; tree type, decl;
if (size > 0) if (size > 0)
type = make_signed_type (size); type = make_signed_type (size);
else if (size == -1)
{ /* "__java_boolean". */
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) else if (size > -32)
{ /* "__java_char". */ { /* "__java_char" or ""__java_boolean". */
type = make_unsigned_type (-size); type = make_unsigned_type (-size);
/*if (size == -1) TREE_SET_CODE (type, BOOLEAN_TYPE);*/
} }
else else
{ /* "__java_float" or ""__java_double". */ { /* "__java_float" or ""__java_double". */
......
...@@ -962,6 +962,8 @@ structural_comptypes (tree t1, tree t2, int strict) ...@@ -962,6 +962,8 @@ structural_comptypes (tree t1, tree t2, int strict)
if (TREE_CODE (t1) != ARRAY_TYPE if (TREE_CODE (t1) != ARRAY_TYPE
&& TYPE_QUALS (t1) != TYPE_QUALS (t2)) && TYPE_QUALS (t1) != TYPE_QUALS (t2))
return false; return false;
if (TYPE_FOR_JAVA (t1) != TYPE_FOR_JAVA (t2))
return false;
/* Allow for two different type nodes which have essentially the same /* Allow for two different type nodes which have essentially the same
definition. Note that we already checked for equality of the type definition. Note that we already checked for equality of the type
...@@ -971,9 +973,6 @@ structural_comptypes (tree t1, tree t2, int strict) ...@@ -971,9 +973,6 @@ structural_comptypes (tree t1, tree t2, int strict)
&& TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2)) && TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2))
return true; return true;
if (TYPE_FOR_JAVA (t1) != TYPE_FOR_JAVA (t2))
return false;
/* Compare the types. Break out if they could be the same. */ /* Compare the types. Break out if they could be the same. */
switch (TREE_CODE (t1)) switch (TREE_CODE (t1))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment