[multiple changes]
Fri May 28 18:22:45 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (lookup_field_wrapper): Unified returned value to NULL or the searched field decl. Fri May 28 11:34:05 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (fold_constant_for_init): Convert numerical constant values to the type of the assigned field. Thu May 27 19:57:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * expr.c (lookup_field): Relaxed the test on class loading error detection. * parse.y (fold_constant_for_init): Enabeled old code. Wed May 26 18:06:02 1999 Alexandre Petit-Bianco <apbianco@cygnus.com> * parse.y (valid_ref_assignconv_cast_p): Let `_Jv_CheckCast' decide the validity of the cast of a java.lang.Cloneable reference to an array. (patch_conditional_expr): Fixed first argument passed to binary_numeric_promotion. From-SVN: r27229
This commit is contained in:
parent
04b1e34d64
commit
930248932e
@ -1,3 +1,27 @@
|
||||
Fri May 28 18:22:45 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* parse.y (lookup_field_wrapper): Unified returned value to NULL
|
||||
or the searched field decl.
|
||||
|
||||
Fri May 28 11:34:05 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* parse.y (fold_constant_for_init): Convert numerical constant
|
||||
values to the type of the assigned field.
|
||||
|
||||
Thu May 27 19:57:40 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* expr.c (lookup_field): Relaxed the test on class loading error
|
||||
detection.
|
||||
* parse.y (fold_constant_for_init): Enabeled old code.
|
||||
|
||||
Wed May 26 18:06:02 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* parse.y (valid_ref_assignconv_cast_p): Let `_Jv_CheckCast'
|
||||
decide the validity of the cast of a java.lang.Cloneable reference
|
||||
to an array.
|
||||
(patch_conditional_expr): Fixed first argument passed to
|
||||
binary_numeric_promotion.
|
||||
|
||||
Wed May 26 15:33:06 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||
|
||||
* parse.y (qualify_ambiguous_name): Take into account that a
|
||||
|
@ -1162,7 +1162,7 @@ lookup_field (typep, name)
|
||||
if (CLASS_P (*typep) && !CLASS_LOADED_P (*typep))
|
||||
{
|
||||
load_class (*typep, 1);
|
||||
if (TREE_CODE (TYPE_SIZE (*typep)) == ERROR_MARK)
|
||||
if (!TYPE_SIZE (*typep) || TREE_CODE (TYPE_SIZE (*typep)) == ERROR_MARK)
|
||||
return error_mark_node;
|
||||
}
|
||||
do
|
||||
|
@ -5666,7 +5666,7 @@ lookup_field_wrapper (class, name)
|
||||
java_parser_context_save_global ();
|
||||
decl = lookup_field (&type, name);
|
||||
java_parser_context_restore_global ();
|
||||
return decl;
|
||||
return decl == error_mark_node ? NULL : decl;
|
||||
}
|
||||
|
||||
/* Find duplicate field within the same class declarations and report
|
||||
@ -11682,7 +11682,8 @@ valid_ref_assignconv_cast_p (source, dest, cast)
|
||||
return source == dest || interface_of_p (dest, source);
|
||||
}
|
||||
else /* Array */
|
||||
return 0;
|
||||
return (cast ?
|
||||
(DECL_NAME (TYPE_NAME (source)) == java_lang_cloneable) : 0);
|
||||
}
|
||||
if (TYPE_ARRAY_P (source))
|
||||
{
|
||||
@ -14049,7 +14050,7 @@ patch_conditional_expr (node, wfl_cond, wfl_op1)
|
||||
/* Otherwise, binary numeric promotion is applied and the
|
||||
resulting type is the promoted type of operand 1 and 2 */
|
||||
else
|
||||
resulting_type = binary_numeric_promotion (t2, t2,
|
||||
resulting_type = binary_numeric_promotion (t1, t2,
|
||||
&TREE_OPERAND (node, 1),
|
||||
&TREE_OPERAND (node, 2));
|
||||
}
|
||||
@ -14106,8 +14107,11 @@ fold_constant_for_init (node, context)
|
||||
tree op0, op1, val;
|
||||
enum tree_code code = TREE_CODE (node);
|
||||
|
||||
if (code == INTEGER_CST || code == REAL_CST || code == STRING_CST)
|
||||
if (code == STRING_CST)
|
||||
return node;
|
||||
|
||||
if (code == INTEGER_CST || code == REAL_CST)
|
||||
return convert (TREE_TYPE (context), node);
|
||||
if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL)
|
||||
return NULL_TREE;
|
||||
|
||||
@ -14202,13 +14206,11 @@ fold_constant_for_init (node, context)
|
||||
}
|
||||
else
|
||||
{
|
||||
#if 0
|
||||
/* Wait until the USE_COMPONENT_REF re-write. FIXME. */
|
||||
qualify_ambiguous_name (node);
|
||||
if (resolve_field_access (node, &decl, NULL)
|
||||
&& decl != NULL_TREE)
|
||||
return fold_constant_for_init (decl, decl);
|
||||
#endif
|
||||
return NULL_TREE;
|
||||
}
|
||||
}
|
||||
|
@ -3081,7 +3081,7 @@ lookup_field_wrapper (class, name)
|
||||
java_parser_context_save_global ();
|
||||
decl = lookup_field (&type, name);
|
||||
java_parser_context_restore_global ();
|
||||
return decl;
|
||||
return decl == error_mark_node ? NULL : decl;
|
||||
}
|
||||
|
||||
/* Find duplicate field within the same class declarations and report
|
||||
@ -9097,7 +9097,8 @@ valid_ref_assignconv_cast_p (source, dest, cast)
|
||||
return source == dest || interface_of_p (dest, source);
|
||||
}
|
||||
else /* Array */
|
||||
return 0;
|
||||
return (cast ?
|
||||
(DECL_NAME (TYPE_NAME (source)) == java_lang_cloneable) : 0);
|
||||
}
|
||||
if (TYPE_ARRAY_P (source))
|
||||
{
|
||||
@ -11464,7 +11465,7 @@ patch_conditional_expr (node, wfl_cond, wfl_op1)
|
||||
/* Otherwise, binary numeric promotion is applied and the
|
||||
resulting type is the promoted type of operand 1 and 2 */
|
||||
else
|
||||
resulting_type = binary_numeric_promotion (t2, t2,
|
||||
resulting_type = binary_numeric_promotion (t1, t2,
|
||||
&TREE_OPERAND (node, 1),
|
||||
&TREE_OPERAND (node, 2));
|
||||
}
|
||||
@ -11521,8 +11522,11 @@ fold_constant_for_init (node, context)
|
||||
tree op0, op1, val;
|
||||
enum tree_code code = TREE_CODE (node);
|
||||
|
||||
if (code == INTEGER_CST || code == REAL_CST || code == STRING_CST)
|
||||
if (code == STRING_CST)
|
||||
return node;
|
||||
|
||||
if (code == INTEGER_CST || code == REAL_CST)
|
||||
return convert (TREE_TYPE (context), node);
|
||||
if (TREE_TYPE (node) != NULL_TREE && code != VAR_DECL)
|
||||
return NULL_TREE;
|
||||
|
||||
@ -11617,13 +11621,11 @@ fold_constant_for_init (node, context)
|
||||
}
|
||||
else
|
||||
{
|
||||
#if 0
|
||||
/* Wait until the USE_COMPONENT_REF re-write. FIXME. */
|
||||
qualify_ambiguous_name (node);
|
||||
if (resolve_field_access (node, &decl, NULL)
|
||||
&& decl != NULL_TREE)
|
||||
return fold_constant_for_init (decl, decl);
|
||||
#endif
|
||||
return NULL_TREE;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user