ptree.c (print_lang_type): Print the real type of a PMF.
* ptree.c (print_lang_type): Print the real type of a PMF. Print what exceptions a fn type throws. * typeck.c (common_type): Use same_type_p. And revert: * decl.c (bad_specifiers): It's OK to have an EH spec on a function pointer. From-SVN: r28609
This commit is contained in:
parent
cb35be5713
commit
f3e4d63c92
4 changed files with 29 additions and 7 deletions
|
@ -1,3 +1,10 @@
|
|||
1999-08-08 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* ptree.c (print_lang_type): Print the real type of a PMF.
|
||||
Print what exceptions a fn type throws.
|
||||
|
||||
* typeck.c (common_type): Use same_type_p.
|
||||
|
||||
1999-08-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||
|
||||
* class.c (count_fields, add_fields_to_vec): Add static prototype.
|
||||
|
@ -37,9 +44,6 @@
|
|||
|
||||
1999-08-06 Jason Merrill <jason@yorick.cygnus.com>
|
||||
|
||||
* decl.c (bad_specifiers): It's OK to have an EH spec on a function
|
||||
pointer.
|
||||
|
||||
* pt.c (maybe_get_template_decl_from_type_decl): Make sure that
|
||||
we're looking at a class.
|
||||
|
||||
|
|
|
@ -8363,7 +8363,7 @@ bad_specifiers (object, type, virtualp, quals, inlinep, friendp, raises)
|
|||
object, type);
|
||||
if (friendp)
|
||||
cp_error_at ("`%D' declared as a friend", object);
|
||||
if (raises && ! TYPE_PTRFN_P (TREE_TYPE (object)))
|
||||
if (raises)
|
||||
cp_error_at ("`%D' declared with an exception specification", object);
|
||||
}
|
||||
|
||||
|
|
|
@ -73,9 +73,10 @@ print_lang_type (file, node, indent)
|
|||
register tree node;
|
||||
int indent;
|
||||
{
|
||||
if (TREE_CODE (node) == TEMPLATE_TYPE_PARM
|
||||
|| TREE_CODE (node) == TEMPLATE_TEMPLATE_PARM)
|
||||
switch (TREE_CODE (node))
|
||||
{
|
||||
case TEMPLATE_TYPE_PARM:
|
||||
case TEMPLATE_TEMPLATE_PARM:
|
||||
indent_to (file, indent + 3);
|
||||
fputs ("index ", file);
|
||||
fprintf (file, HOST_WIDE_INT_PRINT_DEC, TEMPLATE_TYPE_IDX (node));
|
||||
|
@ -84,8 +85,25 @@ print_lang_type (file, node, indent)
|
|||
fputs (" orig_level ", file);
|
||||
fprintf (file, HOST_WIDE_INT_PRINT_DEC, TEMPLATE_TYPE_ORIG_LEVEL (node));
|
||||
return;
|
||||
|
||||
case FUNCTION_TYPE:
|
||||
case METHOD_TYPE:
|
||||
if (TYPE_RAISES_EXCEPTIONS (node))
|
||||
print_node (file, "throws", TYPE_RAISES_EXCEPTIONS (node), indent + 4);
|
||||
return;
|
||||
|
||||
case RECORD_TYPE:
|
||||
case UNION_TYPE:
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
if (TYPE_PTRMEMFUNC_P (node))
|
||||
print_node (file, "ptrmemfunc fn type", TYPE_PTRMEMFUNC_FN_TYPE (node),
|
||||
indent + 4);
|
||||
|
||||
if (! CLASS_TYPE_P (node))
|
||||
return;
|
||||
|
||||
|
|
|
@ -699,7 +699,7 @@ common_type (t1, t2)
|
|||
tt1 = TYPE_MAIN_VARIANT (tt1);
|
||||
tt2 = TYPE_MAIN_VARIANT (tt2);
|
||||
|
||||
if (tt1 == tt2)
|
||||
if (same_type_p (tt1, tt2))
|
||||
target = tt1;
|
||||
else if (b1)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue