cp-tree.h (TYPE_RAISES_EXCEPTIONS): Improve documentation.
1998-12-22 Mark Mitchell <mark@markmitchell.com> * cp-tree.h (TYPE_RAISES_EXCEPTIONS): Improve documentation. * tree.c (build_exception_variant): Don't crash on empty throw specs. From-SVN: r24394
This commit is contained in:
parent
2f0d2c99e2
commit
193306f7fd
|
@ -1,3 +1,9 @@
|
|||
1998-12-22 Mark Mitchell <mark@markmitchell.com>
|
||||
|
||||
* cp-tree.h (TYPE_RAISES_EXCEPTIONS): Improve documentation.
|
||||
* tree.c (build_exception_variant): Don't crash on empty throw
|
||||
specs.
|
||||
|
||||
1998-12-18 DJ Delorie <dj@cygnus.com>
|
||||
|
||||
* cvt.c (convert_to_reference): Check for both error_mark_node
|
||||
|
|
|
@ -1143,7 +1143,9 @@ struct lang_type
|
|||
#define TREE_PARMLIST(NODE) ((NODE)->common.unsigned_flag) /* overloaded! */
|
||||
|
||||
/* For FUNCTION_TYPE or METHOD_TYPE, a list of the exceptions that
|
||||
this type can raise. */
|
||||
this type can raise. Each TREE_VALUE is a _TYPE. The TREE_VALUE
|
||||
will be NULL_TREE to indicate a throw specification of `(...)', or,
|
||||
equivalently, no throw specification. */
|
||||
#define TYPE_RAISES_EXCEPTIONS(NODE) TYPE_NONCOPIED_PARTS (NODE)
|
||||
|
||||
/* The binding level associated with the namespace. */
|
||||
|
|
|
@ -1476,7 +1476,9 @@ build_exception_variant (type, raises)
|
|||
for (t = TYPE_RAISES_EXCEPTIONS (v), u = raises;
|
||||
t != NULL_TREE && u != NULL_TREE;
|
||||
t = TREE_CHAIN (t), u = TREE_CHAIN (v))
|
||||
if (!same_type_p (TREE_VALUE (t), TREE_VALUE (u)))
|
||||
if (((TREE_VALUE (t) != NULL_TREE)
|
||||
!= (TREE_VALUE (u) != NULL_TREE))
|
||||
|| !same_type_p (TREE_VALUE (t), TREE_VALUE (u)))
|
||||
break;
|
||||
|
||||
if (!t && !u)
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
// Build don't link:
|
||||
|
||||
extern void *f(unsigned int k) throw();
|
Loading…
Reference in New Issue