+1998-10-26 Jason Merrill <jason@yorick.cygnus.com>
+
+ * typeck.c (convert_arguments): Don't handle pmf references
+ specially.
+
+ * init.c (build_member_call): Don't try to convert to the base type
+ if it's ambiguous.
+
+ * typeck2.c (check_for_new_type): Don't depend on pedantic.
+
1998-10-25 Mark Mitchell <mark@markmitchell.com>
* decl.c (grokdeclarator): Set DECL_NONCONVERTING_P for all
decl = maybe_dummy_object (type, &basetype_path);
/* Convert 'this' to the specified type to disambiguate conversion
- to the function's context. */
- if (decl == current_class_ref)
+ to the function's context. Apparently Standard C++ says that we
+ shouldn't do this. */
+ if (decl == current_class_ref
+ && ! pedantic
+ && ACCESSIBLY_UNIQUELY_DERIVED_P (type, current_class_type))
{
tree olddecl = current_class_ptr;
tree oldtype = TREE_TYPE (TREE_TYPE (olddecl));
error ("insufficient type information in parameter list");
val = integer_zero_node;
}
- else if (TREE_CODE (val) == OFFSET_REF
- && TREE_CODE (TREE_TYPE (val)) == METHOD_TYPE)
- {
- /* This is unclean. Should be handled elsewhere. */
- val = build_unary_op (ADDR_EXPR, val, 0);
- }
else if (TREE_CODE (val) == OFFSET_REF)
val = resolve_offset_ref (val);
char *string;
flagged_type_tree inptree;
{
- if (pedantic && inptree.new_type_flag)
+ if (inptree.new_type_flag)
pedwarn ("ANSI C++ forbids defining types within %s",string);
}